软引用
软引用demo,和使用redis缓存类似,先查内存中是否缓存,有则直接内存获取,反之则重新创建,再装载入内存中缓存起来。在一些开源框架中经常使用
import java.lang.ref.SoftReference; / * 软引用demo,和使用redis缓存类似, * 先查内存中是否缓存,有则直接内存获取,反之则重新创建, * 再装载入内存中缓存起来。 * 在一些开源框架中经常使用 * * @author: tiger * @create: 2021-09-12 20:34 */ public class SoftReferenceDemo {
public static void main(String[] args) {
Tiger tiger = new Tiger(); // 业务代码... SoftReference<Tiger> sr = new SoftReference<>(tiger); tiger = null; // 下次使用 if (null != sr) {
tiger = sr.get(); } else {
// GC可能内存不足,回收了tiger的软引用 // 因此需要重新装载 tiger = new Tiger(); sr = new SoftReference<>(tiger); } } } class Tiger {
private String id; private String name; private String age; private Integer type; public String getId() {
return id; } public void setId(String id) {
this.id = id; } public String getName() {
return name; } public void setName(String name) {
this.name = name; } public String getAge() {
return age; } public void setAge(String age) {
this.age = age; } public Integer getType() {
return type; } public void setType(Integer type) {
this.type = type; } @Override public String toString() {
return "Tiger{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", age='" + age + '\'' + ", type=" + type + '}'; } }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233982.html原文链接:https://javaforall.net