软引用 SoftReference

软引用 SoftReferenceimportjava lang ref SoftReferenc 软引用 demo 和使用 redis 缓存类似 先查内存中是否缓存 有则直接内存获取 反之则重新创建 再装载入内存中缓存起来 在一些开源框架中经常使用 author tiger create 2021 09 1220 34 publicclassS publicstatic String args Tigerti

软引用

软引用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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号