参考资料:
http://www.cnblogs.com/zhguang/p/3257367.html
概要:
Java GC机制主要完成3件事:确定哪些内存需要回收,确定什么时候需要执行GC,如何执行GC。
从4个方面学习Java GC机制,
1,内存是如何分配的;
2,如何保证内存不被错误回收(即:哪些内存需要回收);
3,在什么情况下执行GC以及执行GC的方式;
4,如何监控和优化GC机制。
程序计数器也是所有JVM内存区域中唯一一个没有定义OutOfMemoryError的区域。
一般来说,一个Java的引用访问涉及到3个内存区域:JVM栈,堆,方法区。
通过直接指针访问的方式中,reference中存储的就是对象在堆中的实际地址,在堆中存储的对象信息中包含了在方法区中的相应类型数据。这种方法最大的优势是速度快,在HotSpot虚拟机中用的就是这种方式。
GC回收:
Java内存分配和回收的机制概括的说,就是:分代