
java虚拟机
文章平均质量分 67
ZhongWenhui_1995
这个作者很懒,什么都没留下…
展开
-
Java虚拟机管理划分的运行时数据区域
《深入理解JAVA虚拟机》的读书笔记-第2章程序计数器功能: 当前线程所执行的字节码的行号指示器,字节码解释器工作时,就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等处功能都需要依赖这个计数器来完成。这和计算机处理器中的计数器功能基本一样,简单来说就是这个任务有N个步骤,从头开始执行: 1.计数器的值为x=0 2.处理器读取计数器的值x原创 2016-09-24 18:02:12 · 367 阅读 · 0 评论 -
Java虚拟机(HotSpot)-对象:创建、内存布局、访问定位
《深入理解Java虚拟机》第2版-第二章读书笔记对象的创建1.检查这个指令的参数是否能在常量池中定位到这个类的符号引用,如果存在即进入22.检测该符号引用代表的类是否已被加载、解析和初始化过,若没有,则先执行相应的类的加载过程3.通过了上面的加载检查后,虚拟机为新生对象分配内存(对象所需内存的大小在类加载完成后便可完全确定),为对象分配空间的任务等同于把一块确定大小的内存从java堆中划分出来。4原创 2016-10-04 10:54:15 · 563 阅读 · 0 评论 -
垃圾收集-判断对象是否存活
《深入理解Java虚拟机》第二版-第3章读书笔记引用计数法描述:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的(垃圾收集)。缺点:很难解决相互引用的问题 例如下面这种情况,这两个对象已经不可能再被访问,但是由于相互引用,导致它们的引用计数都不为0,导致GC收集器无法回收它们。public class T原创 2016-10-04 16:17:16 · 391 阅读 · 0 评论 -
垃圾收集算法与内存分配策略
《深入立即Java虚拟机》第二版-第3章读书笔记分代收集算法描述:根据对象存活周期的不同将内存划分为几块(一般为新生代和老年代),这样可以根据各个年代的特点采用最适当的收集算法。 新生代中,每次垃圾收集时都有大批对象死去,只有少量存活。 老年代中,对象存活率高、而且没有额外空间对它进行分配担保。标记清除算法描述:算法分为“标记”和“清除”两个阶段:首先标记处所有需要回收的对象,在标记完成后统一原创 2016-10-06 15:13:05 · 408 阅读 · 0 评论