手动回收和自动回收
自动回收: 编程简单, 系统部容易出错, 但相对效率较低
手动回收: 变成复杂, 容易出现以下两类问题, 但效率高
- 忘记回收
- 多次回收
c....当我们把这个成员变量设置为null, 关系变为如下:
这时, 这个对象就变成垃圾. 这是单个对象变为垃圾的情况.
还有一种....如下:
这种是,好多个对象互相之间有引用, 但是,没有任何引用指向它, 那么, 他也是垃圾. 是一堆垃圾.
2. 如何定位垃圾
两种方法:
1....c. Mark Compact标记压缩:
将可回收对象标记出来,然后把后面的存活对象拷贝到可回收的位置, 在做标记和清除的过程中, 做了压缩和整理.
... 1) 永久代和元数据都是装class
2)永久代必须指定大小限制, 元数据可以限制, 也可以不限制,无上限(受限于物理内存)
3) 字符串常量 1.7-永久代, 1.8-元数据
c.