JVM
jeffry_xu
开源软件天梯(tianti)作者。http://www.oschina.net/p/tianti。
展开
-
JVM学习笔记(四)垃圾收集算法
垃圾收集(Garbage Collection,GC)需要考虑的3件事情: 1、哪些内存需要回收? 2、什么时候回收? 3、怎么回收? 由于垃圾收集算法的实现涉及大量的程序细节,且各个平台的虚拟机操作内存又各不相同。这里只是记录下几种算法的思想: 1、标记-清除算法 这是最基础的收集算法,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被原创 2017-01-03 10:34:49 · 344 阅读 · 0 评论 -
JVM学习笔记(一)JVM运行时数据区域解析
JAVA虚拟机在执行JAVA程序的过程中,会把它所管理的内存划分成若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间。JVM所管理的内存将包括以下几个运行时数据区域,如下图所示: 注:蓝色部分(方法区和堆)是所有线程共享的数据区。白色部分(虚拟机栈、本地方法栈、程序计数器)是线程隔离的数据区。 1、程序计数器 程序计数器(Program原创 2016-12-29 17:07:06 · 411 阅读 · 0 评论 -
JVM学习笔记(二)JVM判断对象是否”存活”
在堆里面存放着JAVA的对象实例,垃圾收集器在对象进行回收之前,第一件事情要确定的是这些对象哪些还“存活”着,哪些已经“死去”。 1、引用计数算法 思路:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器就加1;引用失效时,计数器值就减1。计数器为0的对象就是不可能再被引用的。 优点:实现简单,判定效率也很高。 缺点:对于循环引用的对象,它们的计原创 2016-12-29 18:33:46 · 361 阅读 · 0 评论