摘要:
一、引用计数法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1,当引用失效时,计数器值就减1,任何时刻计数器为0的对象就是不可能再被使用的。 但是它很难解决对象之间相互循环引用的问题。 比如说两个对象互相引用对方,导致它们的引用计数都不为0,于是引用计数算法无法通知GC收集器回收 阅读全文
摘要:
1.标记-清除算法 最基础的收集算法,如其名,算法为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。 两个不足: 1)效率问题,标记和清除两个过程的效率多不高; 2)空间问题,标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致以后在程序运行 阅读全文
摘要:
在Java虚拟机规范中将Java运行时数据划分为6种,分别为: PC寄存器(程序计数器) Java栈 堆 方法区 运行时常量池 本地方法栈 一、PC寄存器(程序计数器) PC寄存器(Program Counter Register)严格来说是一个数据结构,它用于保存当前正常执行的程序的内存地址。 线 阅读全文
摘要:
首先,写好Java代码,保存到硬盘中。然后在命令行中输入: 此时,这个Java类文件将编译成字节码(.class)文件。如果用Eclipse等IDE开发工具,则当你保存代码的时候,这些开发工具已经完成了上述的手动编译工作,所以可以在对应的目录看到class文件。此时的class文件依然保存在硬盘中保 阅读全文