JavaSE---引用
1、概述
1.1、JDK1.2前,java中引用的定义:
如果 引用类型数据 存储的是 另一块内存的起始地址,就称 这块内存代表一个引用(一个对象 只有 被引用、未被引用 2种状态);
1.2、有些场景下,当内存足够时,对象可以保留在内存中,如果 内存在垃圾回收后仍然紧张,可以抛弃这些对象;
1.3、JDK1.2后,提供了 (引用强度依次减弱)
强引用(Strong Reference):
类似 Object o=new Object(),只要强引用存在,GC永远不会回收被引用的对象;
软引用(Soft Reference):
作用: 描述 一些 有用 但 非必需的对象;
软引用 关联的对象,在 系统将要发生内存溢出之前,将会把软引用对象 列入 回收范围内 进行 第二次回收;
JDK提供了SoftReference类实现软引用;
弱引用(Weak Reference):
作用: 描述 一些 有用 但 非必需的对象;
弱引用 关联的对象,只能生存到下次GC之前,下一次GC 会进行回收;
JDK提供了WeakReference类实现弱引用;
虚引用(Phantom Reference):
作用: 为一个对象设置 虚引用,目的希望能 在这个对象被GC时 收到一个系统通知;
又称为 幽灵引用、幻影引用;
一个对象 是否存在 虚引用,不会 对其生存时间构成影响,无法通过虚引用 取得一个对象实例;
JDK提供 PhantomReference类实现虚引用;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?