Java引用类型

1 强引用

当我们使用new创建对象时,被创建的对象就是强引用。只要有强引用,GC 永远不会回收掉该对象。

  Map map = new HashMap();

2 软引用

如果一个对象只具备软引用,如果内存空间足够,那么JVM就不会GC它,如果内存空间不足了,就会GC该对象。

软引用需要借助SoftReference类完成。

Java引用类型

3 弱引用

如果一个对象只具有弱引用,只要JVM的GC线程检测到了,就会立即回收。弱引用的生命周期要比软引用短很多。

软引用需要借助WeaKReference类完成。

!

Java引用类型

Java引用类型

4 虚引用

虚引用也称为幽灵引用或幻影引用。虚引用的 get 方法永远返回 null,一个对象是否存在虚引用不会对生存时间构成影响。唯一的用处:能在对象被 GC 时能够得知。JAVA 中用 PhantomReference 来实现虚引用。PhantomReference 使用时,必须要关联一个 ReferenceQueue 对象。当一个对象被 GC 的时候,如果该对象有虚引用,那么就会把对象放入 ReferenceQueue 里。通过检查 ReferenceQueue 队列中的对象来判等对象是否即将被回收,可以记录一些日志之类的信息。

Java引用类型

查考文章

Original: https://www.cnblogs.com/iforeverhz/p/16257076.html
Author: iforeverhz
Title: Java引用类型

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/583224/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 存储过程,存储函数(Oracle)

    –打印hello world create or replace procedure sayhelloworld as –说明部分 begin dbms_output.put_…

    Linux 2023年6月14日
    083
  • tiddlywiki-nodejs 安装部署

    安装 tiddlywiki (root) 确认 npm 包全局&amp…

    Linux 2023年6月14日
    089
  • 使用PowerShell收集多台服务器的性能计数器

    写在前面 当管理多台Windows Server服务器时(无论是DB、AD、WEB以及其他的应用服务器),当出现性能或其他问题后,参阅性能计数器都是一个非常好的维度从而推测出问题可…

    Linux 2023年5月28日
    089
  • Linux基础学习(四)

    自建yum仓库,分别为网络源和本地源 1.本地源 点击查看代码 root@ct7:~# yum install autofs root@ct7:~# systemctl enabl…

    Linux 2023年6月8日
    0128
  • 渗透测试常用方法总结

    转载自 https://blog.csdn.net/qq_42636435/article/details/92839738 Original: https://www.cnblo…

    Linux 2023年6月7日
    078
  • 免外围电路CH32F/CH32V/STM32F系列单片机串口一键下载方案(CH340)

    一、概述 CH340X和CH340C等USB转串口芯片提供专用下载模式,可实现免外围电路CH32F/CH32V/STM32F等单片机串口一键下载功能,对此类支持多模式启动的单片机,…

    Linux 2023年6月7日
    0131
  • 回溯法:算法思路以及相关流程图的绘制

    参考建模原文2020国赛B题参考文章1 回溯法介绍 深度优先搜索(缩写DFS):对一个连通图进行遍历的算法。它的思想是从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标…

    Linux 2023年6月14日
    088
  • Linux

    ​ 大型企业高并发的 Java 应用程序都是部署在大型服务器之上的,而服务器的操作系统一般是使用高性能的 Linux(或Unix)的操作系统,不是 Windows 操作系统,所以编…

    Linux 2023年5月27日
    0157
  • macbook air 2019 安装win10单系统

    目前不考虑写的太详细了,如果有同学遇到问题了我再完善,主要是把遇到的坑讲下第一步,准备2个U盘(如果不嫌麻烦一个也可以)1.用大白菜或者老毛桃将其中一个做成启动盘2.在window…

    Linux 2023年6月14日
    0129
  • Conda虚拟环境中的pip,python 等路径是base环境而非本虚拟环境

    现象 一次运行项目发现,原本可以正常运行的项目,突然提示有个包不存在,但是经过 pip list 发现在我的虚拟环境中是存在这个包的,并且此时我是正常的位于我的虚拟环境中。 报错:…

    Linux 2023年6月7日
    097
  • 误删除系列三:记一次有道笔记数据恢复过程

    1. 环境: 三个有道云笔记客户端分别是 windows7、iphone、MAC 2. 事件发生过程: 今天早上在win7的有道云笔记下记录一些笔记时,出现误删除操作,当时我使用的…

    Linux 2023年6月7日
    095
  • Linux系统Oracle常见操作

    1.1 登录默认数据库 首先切换到oracle用户,用数据库默认管理员登录。 [root@tsm-zh01 ~]# su – oracle [oracle@redhat ~]$ l…

    Linux 2023年6月6日
    077
  • 6.20(HTML和CSS–>练习案例)

    HTML脑图:how2j找的阶段性练习,话说VScode编辑器确实比DW好用,简洁免费(不是打广告哈哈) #0 <head> <meta charset=&quo…

    Linux 2023年6月7日
    0107
  • linux 网络配置

    安装linux之后一般都是网络自启动, 适合在没有网络工具的情况下修改配置文件 ubuntu: 网络配置文件/etc/network/interfaces 配置类似于: auto …

    Linux 2023年6月14日
    079
  • Fastadmin引入Layui模块

    Fastadmin,PHP,Fastadmin引入layui模块,Fastadmin使用layui。 ​ Fastadmin基于 RequireJS进行JS模块的管理,因此如果我们…

    Linux 2023年6月6日
    094
  • Nginx禁止ip加端口访问

    使用 iptables 限制对应端口,再利用Nginx将80端口转发到对应端口 CentOS7默认的防火墙是 firewalle,先看看服务器中有没有安装 iptables [ro…

    Linux 2023年5月27日
    090
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球