当前位置: 首页 > news >正文

网站开发自荐信江门专业网站制作费用

网站开发自荐信,江门专业网站制作费用,wordpress首页文章排序,如何创建一个官网在java红有四种引用类型,分别是强引用、软引用、弱引用、虚引用。他们的主要区别是控制对象生命周期和垃圾回收的行为 1. 强引用(Strong Reference) 特点:最常见的引用类型。只要强引用存在,对象永远不会被垃圾回收。 …

  在java红有四种引用类型,分别是强引用、软引用、弱引用、虚引用。他们的主要区别是控制对象生命周期和垃圾回收的行为

  1. 强引用(Strong Reference)

  • 特点:最常见的引用类型。只要强引用存在,对象永远不会被垃圾回收。

  • 使用场景:日常开发中的普通对象引用。

  • 代码示例:

Object obj = new Object(); // 强引用
obj = null; // 手动断开引用后,对象可被回收

  2. 软引用(Soft Reference)

  • 特点:内存不足时会被回收(OOM 前触发)。适合实现内存敏感缓存。

  • 使用场景:缓存图片、临时数据等。

  • 代码示例:

import java.lang.ref.SoftReference;// 创建强引用对象
String strongRef = new String("Hello, Soft Reference!");
// 包装为软引用
SoftReference<String> softRef = new SoftReference<>(strongRef);strongRef = null; // 断开强引用// 获取对象(内存充足时返回对象,不足时返回 null)
String value = softRef.get();
if (value != null) {System.out.println(value); // 输出: Hello, Soft Reference!
} else {System.out.println("Object has been collected");
}

  3.弱引用(Weak Reference)

  • 特点:无论内存是否充足,下一次 GC 时立即回收。

  • 使用场景:实现弱关联(如 WeakHashMap 的键)。

  • 代码示例: 

import java.lang.ref.WeakReference;Object obj = new Object();
WeakReference<Object> weakRef = new WeakReference<>(obj);obj = null; // 断开强引用
System.gc(); // 触发 GC// 弱引用对象会被回收
System.out.println(weakRef.get()); // 输出: null

4. 虚引用(Phantom Reference) 

  • 特点:

    • 无法通过 get() 获取对象(始终返回 null)。

    • 对象被回收时,通过 ReferenceQueue 收到通知。

  • 使用场景:跟踪对象被回收的时机(如资源清理)。

    import java.lang.ref.PhantomReference;
    import java.lang.ref.ReferenceQueue;ReferenceQueue<Object> queue = new ReferenceQueue<>();
    Object obj = new Object();
    PhantomReference<Object> phantomRef = new PhantomReference<>(obj, queue);obj = null; // 断开强引用
    System.gc();// 检查引用队列(对象回收后,虚引用会入队)
    if (queue.poll() != null) {System.out.println("Object has been finalized and resources cleaned");
    }

    总之,他们的区别是,在内存回收的时机上不同,由上至下依次更容易被回收,强引用无法回收,可获取对象软引用内存不足时回收,可获取对象弱引用下一次GC时回收,可获取对象虚引用下一次GC时被回收,无法获取对象

    http://www.dtcms.com/a/449335.html

    相关文章:

  • nat address-group 概念及题目
  • 深度学习模型构建的本质——“核心四要素+任务适配逻辑”
  • 基于SpringBoot+Vue的志行交通法规在线模拟考试(AI问答、WebSocket即时通讯、Echarts图形化分析、随机测评)
  • 厦门建网站费用一览表网站设计流行趋势
  • Docker Compose 搭建 LNMP 环境并部署 WordPress 论坛
  • 无锡企业网站制作哪家好前端的网站重构怎么做
  • TensorFlow2 Python深度学习 - 深度学习概述
  • Davor的北极探险资金筹集:数学建模与算法优化(洛谷P4956)
  • Web Components 的开发过程举例
  • 【Algorithm】Day-1
  • 提示工程深度解析:驾驭大语言模型的艺术与科学
  • 网站开发证书是什么中国建设学会查询网站
  • java代码随想录day50|图论理论基础
  • 【模型量化迁移】详解:让AI大模型在端侧“轻装上阵”的核心技术
  • 【Proteus仿真】虚拟终端出现乱码问题解决
  • 深入理解HarmonyOS ArkTS语法:从基础到高级应用开发
  • Photoshop - Photoshop 工具栏(5)多边套索工具
  • 做彩票网站空间去哪买网站主播
  • JavaWeb--Ajax
  • 网站建设与维护报告总结许昌网站建设汉狮套餐
  • [初学C语言]关于scanf和printf函数
  • Oracle OCP认证考试题目详解082系列第2题
  • c++中<iostream> 常用接口汇总
  • Photoshop - Photoshop 工具栏(6)对象选择工具
  • 爱发电nginx转发企业微信webhook
  • 四川红叶建设有限公司网站长沙专业做网站
  • 光通信|模分复用技术-综述
  • Powercat内网端口转发实战:穿透边界服务器获取Shell
  • 千万级用户电商平台,Flink实时推荐系统如何实现毫秒级延迟?
  • 安装好vscode后,缺少vscode打开文件或文件夹选项