• Java中的强引用,软引用,弱引用,虚引用


    public static void main(String[] args) {
        // 强引用
        String strongReference1 = new String("abc");
        // 软引用
        String str1 = new String("abc");
        SoftReference<String> softReference = new SoftReference<String>(str1);
        // 弱引用
        String str2 = new String("abc");
        WeakReference<String> weakReference = new WeakReference<>(str2);
        // 弱引用转强引用
        String strongReference2 = weakReference.get();
        // 虚引用
        String str3 = new String("abc");
        ReferenceQueue queue = new ReferenceQueue();
        // 创建虚引用,要求必须与一个引用队列关联
        PhantomReference pr = new PhantomReference(str3, queue);
    }
    
    引用类型 被垃圾回收时间 用途 生存时间
    强引用 从来不会(将赋值为null会被回收) 对象的一般状态 JVM停止运行时终止
    软引用 当内存不足时 对象缓存 内存不足时终止
    弱引用 正常垃圾回收时 对象缓存 垃圾回收后终止
    虚引用 正常垃圾回收时 跟踪对象的垃圾回收 垃圾回收后终止
  • 相关阅读:
    mongodb的安装和sql操作
    查看apache和nginx的负载和连接数情况
    ansible中playbook使用
    mysql导入导出命令详解
    生产环境下yum的配置
    firewalld的防火墙
    SOCK5代理服务器
    Linux系统基础优化总结
    服务器内存和缓存的优化
    activemq概念介绍
  • 原文地址:https://www.cnblogs.com/smalldong/p/16340371.html
Copyright © 2020-2023  润新知