java什么是reference_Java语言中几个Reference常见的作用详解[Java代码]
本文主要向大家介绍了Java语言中几个Reference常见的作用详解,通过具体的内容向大家展现,希望对大家学习Java语言有所帮助。
Java中几个Reference作用,也是面试的时候经常问到的问题,以前总是记一次忘一次,现在有时间,索性写个demo测试一把。下面来一起看看详细的介绍:
具体代码如下:
JVM 参数: -Xmx10m -Xms5m -XX:+PrintGC
SoftReference的时候:
weakReference的时候:
StrongReference:
由于strong是JVM默认的,这里就不做了,直接就是一点都不会被回收,直至OOM
PhantomReference:
虚引用并不会改变内存回收机制,只是在回收的时候放到ReferenceQueue里通知用户可做一些额外操作,比如打印日志等
如下代码,本质上byte[]还是一个强引用的。
输出:
总结一下:
StrongReference:JVM默认,除非GC时已无任何对象引用,否则即便是OOM也不会回收
WeakReference:一旦没有被引用,GC时就会回收
SoftReference:和strong一样,除非GC时已无任何对象引用,否则....在即将OOM前才会被回收,所以SoftReference一般可以用来做缓存
sun.nio.ch.Util中就有private static ThreadLocal
> localSelector
= new ThreadLocal
>();
用于临时的Selector。
PhantomReference:通过构造函数的ReferenceQueue作为一个通知,用来在对象被回收时做额外的操作。
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,了解更多详情请关注编程语言JAVA频道!
java什么是reference_Java语言中几个Reference常见的作用详解[Java代码]相关推荐
- R语言中如何计算C-Statistics?几种计算方法详解
R语言中如何计算C-Statistics?几种计算方法详解 目录 R语言中如何计算C-Statistics? #包导入 #数据加载编码
- C语言中的字符串转数字函数常见问题详解
目录 C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 字符串转长整形 strtol函数, C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 函数原型: int a ...
- Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介、案例应用(python中的编码格式及常见编码问题详解)之详细攻略
Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介.案例应用(python中的编码格式及常见编码问题详解)之详细攻略 目录 符串编码(ASCII编码/GB ...
- java注解式开发_JAVA语言之Spring MVC注解式开发使用详解[Java代码]
本文主要向大家介绍了JAVA语言的Spring MVC注解式开发使用详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. MVC注解式开发即处理器基于注解的类开发, 对于每一个定义的处 ...
- java中的静态变量的作用域_详解JAVA中static的作用
1.深度总结 引用一位网友的话,说的非常好,如果别人问你static的作用:如果你说静态修饰 类的属性 和 类的方法 别人认为你是合格的:如果是说 可以构成 静态代码块,那别人认为你还可以: 如果你说 ...
- java return返回值_java中关于return返回值的用法详解
我们输入一个条件时,系统就会对这个条件进行判断,然后给出一个返回时的结论,我们把这个结果看做是返回值.在java里可以使用return语句来进行返回,从字面意思就能很好的理解它的用法了.下面我们就re ...
- java web初始化实例_Struts2中实现web应用的初始化实例详解
Struts2中实现web应用的初始化实例详解 在JavsSE中,main方法为应用提供了入口,而在Android中,我们可以使用Application对于整个应用的生命周期进行管理,那么在基于Str ...
- java接口vm和dto的区别_第十八节:详解Java抽象类和接口的区别
前言 对于面向对象编程来说,抽象是它的特征之一. 在Java中,实现抽象的机制分两种,一为抽象类,二为接口. 抽象类为abstract class,接口为Interface. 今天来学习一下Java中 ...
- mysql中函数mid_MySQL MID()函数的用法详解(代码示例)
在MySQL中,MID()函数返回从指定位置开始的子字符串. MID()和SUBSTR()都是SUBSTRING()的同义词. 基本语法是这样的:MID(str,pos,len) 这里,str是字符串 ...
- java中bean的定义有哪些_详解Java的Spring框架中bean的定义以及生命周期
bean的定义形成应用程序的骨干是由Spring IoC容器所管理的对象称为bean.bean被实例化,组装,并通过Spring IoC容器所管理的对象.这些bean由容器提供,例如,在XML的定义, ...
最新文章
- 【直播】王茂霖:二手车交易价格预测 Baseline 提高(河北高校数据挖掘邀请赛)
- luogu P1345 [USACO5.4]奶牛的电信Telecowmunication(建图技巧 - “割点”模板 、最小割)
- NgRx使用CreateSelector组装复合Selector
- javascriptjquery 判断滚动到页面底部
- 深度学习pytorch--softmax回归(三)
- Sublime 安装包时出现的 There are no packages available for installation
- 9月安卓机性能榜单公布:华为未进前十,第一名有点意外
- centos7 mysql 开机启动_mysqld service 随开机启动 (Centos6,Centos7)
- 第一代电子计算机主机是,以 计算机主机是由CPU与哪种设备共同构成的 为第一题的100道题的答案...
- 在线ASCII流程图编辑器工具
- CCF NOI1025 统计奖牌
- Jupyter的使用与安装
- 制作网页特效的基本步骤
- AE 动效工作流技巧 —— 减少 Bodymovin 导出的 JSON 大小并提升性能(三)
- Tekla二次开发入门经典例子
- linux上的手机管家,腾讯手机管家官网版
- 【合天网安】DoraBox之文件包含及任意文件读取漏洞
- Java中的Stream流
- BZOJ4130:[PA2011]Kangaroos
- 2021-05-12 MongoDB面试题 MongoDB适合应用在那些场景