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