垃圾回收机制
夜光草2
记录一个程序猿的成长之路!
展开
-
Java垃圾回收机制(1)- GC的工作原理
一、GC机制的介绍GC(Garbage Collection 垃圾回收)机制,是Java与C++/C的主要区别之一。Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的原创 2017-09-01 20:35:31 · 592 阅读 · 0 评论 -
Java垃圾回收机制(2)- Java的内存分布
Java的内存分布在JVM中,内存是按照分代进行组织的。 其中,堆内存分为年轻代和年老代,非堆内存主要是Permanent(永久代)区域,主要用于存储一些类的元数据,常量池等信息。而年轻代又分为两种,一种是Eden区域,另外一种是两个大小对等的Survivor区域。之所以将Java内存按照分代进行组织,主要是基于这样一个“弱假设” - 大多数对象都在年轻时候死亡。同时,将内存按照分代进行组织,使得原创 2017-09-01 21:05:08 · 318 阅读 · 0 评论 -
Java垃圾回收机制(3)- GC算法
Java中,GC的对象主要是堆空间和永久区,很多人都认为Java的GC使用的是引用计数法,其实这是错误的,Java可以说从来都没有用过这个引用计数算法 !这是一个非常古老的算法了。引用计数法,它的一个基本思想对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1,当引用失效时,引用计数器就减1。只要对象A的引用计数器的值为0,则对象A就不可能再被使用。就可以回收了。如图有一个根对象,和一原创 2017-09-01 21:34:45 · 276 阅读 · 0 评论