摘要:
【概述】 阅读全文
摘要:
【概述】 阅读全文
摘要:
【概述】 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java 虚拟机规范中对垃圾收集器应该如何实现没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾处理器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。下图为 阅读全文
摘要:
【概述】 常见的垃圾回收算法有:标记-清除算法、复制算法、标记-整理算法、分代收集算法。 【标记-清除算法】 标记-清除算法是最基础的收集算法,如同它的名字一样,算法分为 “标记” 和 “清除” 两个阶段:首先标记出所有需要回收的对象,在标记完成之后统一回收所有被标记的对象,这里的标记采用的是 “可 阅读全文
摘要:
【概述】 在堆里面存放着 Java 世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还 “存活” 着,哪些已经 “死去”(即不可能再被任何途径使用的对象)。 【引用计数算法(Reference Counting)】 算法逻辑是这样的:给对象中添加一个引用计数 阅读全文
摘要:
【概述】 Java 技术体系中所提倡的自动内存管理最终可以归结为自动化地解决两个问题:给对象分配内存以及回收分配给对象的内存。 对象的内存分配,往大方向讲,就是在堆上分配,对象主要分配在新生代的 Eden 区上,如果启动了本地线程分配缓存(使用 ThreadLocal 类),则将线程优先在 TLAB 阅读全文