Archive | 十月, 2013

读书笔记《深入理解Java虚拟机》: 垃圾收集器与内存分配策略

  1. 当需要排查各种内存溢出、内存泄露问题时,或者发现gc成为并发瓶颈时,需要对哪些号称“自动化”的内存分配与回收技术进行监控和调节
  2. 程序计算器、虚拟机栈、本地方法栈3个区域随现场而生存、灭亡;栈中的栈帧随着方法的进入和退出而有条不紊的执行出栈和入栈操作,每个栈帧分配多说内存基本上在类结构确定下来时就是已知,这几个区域内存分配和回收是确定的。
  3. 主流的java虚拟机不采用引用计数算法,最主要原因是很难结局对象之间的相互循环引用问题。
  4. 可达性分析算法的基本原理是通过一系列称为GC roots的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链reference? chain,当一个对象到GC roots没有任何引用链路时。证明该对象是不可用的。
  5. GC? roots包括如下几种:
  • 虚拟机栈(栈帧中的本地变量表)中引用的对象
  • 方法区中类静态属性引用的[......]

阅读全文

Tags: , ,

Comments { 0 }