非常好的文章:
- 深入理解Java虚拟机—自动内存管理机制 http://www.jianshu.com/p/3bfea2eda30a
JVM
知识导航:
- JVM运行时内存划分
- 对象的创建过程(new 的过程)
- 对象的内存布局
- JVM中对象的访问定位方式(句柄、直接指针)
- JVM如何判断Java对象是否存活,是否要被GC回收?
- 引用不可达的对象什么时候才会被真正回收?
- 强引用、软引用、弱引用、虚引用
- 垃圾收集算法(理论)
- JVM垃圾收集器(待整理…)
- JVM堆内存分配与回收策略(待整理…)
###JVM内存溢出详解(栈溢出,堆溢出,持久代溢出以及无法创建本地线程)
http://www.jianshu.com/p/cd705f88cf2a
###Java内存泄露的理解与解决
http://www.cnblogs.com/binyue/p/3383555.html
###3、常见的垃圾收集器
http://blog.csdn.net/hbtj_1216/article/details/76390743
###4、JVM堆内存分配与回收策略
http://blog.csdn.net/hbtj_1216/article/details/76326868
###5、Minor GC 与 Full GC 有什么不一样?
-
新生代GC (Minor GC):指发生在新生代的垃圾收集动作,因为Java对象大多都具备朝生夕灭的特性,所以Minor GC 非常频繁,回収速度也比较快。新生代GC通常采用复制算法。
-
老年代GC (Major GC / Full GC):指发生在老年代的GC,Major GC是老年代GC,Full GC是整个堆上的GC。Major GC的速度一般会比Minor GC的速度慢10倍以上。老年代GC通常采用标记——整理算法。
###6、JVM类加载机制
http://blog.csdn.net/hbtj_1216/article/details/76376241
###7、类加载器、双亲委派模型
http://blog.csdn.net/hbtj_1216/article/details/76383118
8、4种内存屏障
http://blog.csdn.net/hbtj_1216/article/details/76407876
###8、Java内存模型
http://blog.csdn.net/hbtj_1216/article/details/76412084
###9、 同步的三种方式:volatile、锁、final
http://blog.csdn.net/hbtj_1216/article/details/76407826
###java对象头实现
http://www.jianshu.com/p/9c19eb0ea4d8
###Object.finalize方法的实现原理
http://www.jianshu.com/p/9d2788fffd5f