解释

在java中也有引用的概念,其实就可以认为是变量。标题中的引用级别是指变量与对象之前的引用级别。java中分为4种,按引用强弱关系排序分别是:强引用、软引用、弱引用、虚引用

强引用(Strong references)

特点:当JVM内存满了之后也不会断开引用关系,即使是发成OOM

我们平时使用new 创建的对象就属于强应用, 我们工作中产生的OOM有可能就是因为强引用引起的,所以要注意即使释放内存,切断与GC Roots的联系

软引用(Soft references)

特点:只有在JVM内存不足时才会被GC掉。是缓存实现的不二之选

创建方式:SoftReference.java

Guava 的 cache 实现的可选方案之一

弱引用(Weak references)

特点:系统每次GC都会把对象清除掉,不管JVM内存是否足够

创建方式:WeakReference.java

Guava 的 cache 实现的可选方案之一 , 与 软引用 都可实现。

虚引用(Phantom References)

特点:任何时候对象都可能被GC掉。事实上你在创建一个虚引用之后马上获取对象,这个对象都是空的

创建方式:PhantomReference.java

//todo 暂时不知道使用的场景是什么,之后补充

最新文章

  1. oracle新建登录用户sql语句
  2. CodeForces - 274B Zero Tree
  3. 【练习】数据移动---导入(IMPDP)
  4. 【转】Nginx 安装配置
  5. 3. sort命令
  6. css获取实时样式
  7. 新浪微博客户端(10)-切换多个fragment
  8. show slave各项参数解释
  9. 【回溯】图的m着色问题
  10. mvcAPI (入门 3)
  11. UVA1673 str2int(SAM)
  12. Unity3D GUI学习之GUILayout控件及使用
  13. 数据结构 - 求二叉树中结点的最大距离(C++)
  14. C语言的一个关键字——static
  15. 漫谈项目设计&重构&性能优化
  16. SQL Server 版本号汇总
  17. DevExpress XtraReports 入门五 创建交叉表报表
  18. Mybatis实现 --文件夹
  19. python开发concurent.furtrue模块:concurent.furtrue的多进程与多线程&协程
  20. Java 面试知识点解析(二)——高并发编程篇

热门文章

  1. P6845 [CEOI2019] Dynamic Diameter
  2. 【模拟+排序】花生采摘 luogu-1086
  3. WebAssembly正逐渐成为FaaS的主力
  4. 流暢的python---函數闭包
  5. 原来select语句在MySQL中是这样执行的!看完又涨见识了!这回我要碾压面试官!
  6. 【硬核】MMU是如何完成地址翻译的
  7. Unity 不规则按钮实现
  8. Python入门:ChainMap 有效管理多个上下文
  9. JAVA 调用第三方短信平台接口发送短信
  10. Distribute SSH Pubkey to Multiple Hosts with Fabric