美文网首页
java中强软弱虚引用的理解

java中强软弱虚引用的理解

作者: 摸摸脸上的胡渣 | 来源:发表于2019-01-01 15:29 被阅读0次

引入版本

jdk1.2

为啥要引入

因为java不用手动管理内存,但正是因为如此,JVM才要更加高效的管理申请的内存。如果做到更加高效呢?分类

对强软弱虚引用的理解

强软弱虚对应着四种内存情况,我们以申请内存时的引用类型,来告诉JVM,当前内存的优先级
举个栗子,JVM就是债主,强软弱虚分别代表了四种不同性格的借款人。
Mr.强引用:我丫就是借了,甭管你朝我要几次(发生GC),我都不会还给你的,除非我攒齐了(内存不再使用,不再被GC ROOT集合中的对象引用)。
Mr.软引用:我借了你的钱,所以欠你人情,所以这样吧,当你实在没办法回笼资金的时候(内存不够用),我就把钱还给你,如果你够用,我就先不还你了。
Mr.弱引用:我借了你的钱,所以我欠你的,只要你朝我要钱(发生GC),我就还给你吧。
Mr.虚引用:我就是来凑数的,我不缺钱(不影响GC回收内存),就是想体验一把还钱的滋味(接收内存回收时的通知)。

相关文章

  • java中强软弱虚引用的理解

    引入版本 jdk1.2 为啥要引入 因为java不用手动管理内存,但正是因为如此,JVM才要更加高效的管理申请的内...

  • 深入理解Java中的引用(二)——强软弱虚引用

    深入理解Java中的引用(二)——强软弱虚引用 在上一篇文章中介绍了Java的Reference类,本篇文章介绍他...

  • Java强软弱虚引用

    在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及...

  • java中强软弱虚引用类型

    概念 java中之所以会有强引用、软引用、弱引用、虚引用这些概念,是为了方便内存回收。 强引用即便内存不足,oom...

  • Android面试题大全-Java基础篇

    Java基础 内存泄漏的场景 强软弱虚引用分别什么区别 什么场景下使用虚引用 ClassLoader的双亲委派原理...

  • java中强软弱虚引用的妙用

    前言 ThreadLocal 在什么情况下可能发生内存泄漏?如果你想清楚这个问题的来龙去脉,看源码是必不可少的,看...

  • Java中的JVM强软弱虚引用

    概述: 在java中,除了基本数据类型的变量外,其他所有的变量都是引用类型,指向堆上各种不同的对象。 Java 对...

  • Java中的强软弱虚引用,还有你知道为什么ThreadLocal

    Java中的类型引用 强软弱虚 强引用 栈内存指向了堆内存 当栈内存的m指向堆内存的new M(),当m=null...

  • 强软弱虚引用如何理解

    强引用:我们平时最常使用的基本对象引用,JVM不会回收强引用类型对象,即使内存不足导致OOM也不会回收。 实现一个...

  • 面试题笔记

    Java中引用类型的区别,具体的使用场景 Java中引用类型分为四类:强引用、软引用、弱引用、虚引用。 强引用:强...

网友评论

      本文标题:java中强软弱虚引用的理解

      本文链接:https://www.haomeiwen.com/subject/xqvnlqtx.html