最近在网上查阅了许多资料,做秋招面试的准备,JVM 作为面试中的常考点,在这里需要花点功夫理清楚一些细节问题。
其中一个就是 JVM 内存管理是如何进行的问题,包括线程创建时分配的私有属性,共享区数据;Native 本地方法的优劣;堆内内存及方法区的组成;GC 分代回收算法;一些与类加载相关的知识,以后再做补充。
下面是总结的关系图:
详细内容见
1. 运行时数据区:
https://www.zybuluo.com/867976167/note/51071
http://gityuan.com/2016/01/09/java-memory/
2. 局部变量引用访问 heap 方式
http://www.yveshe.com/articles/2018/06/05/1528131162494.html
3. 堆内存(线程共享)
http://www.yveshe.com/articles/2018/06/05/1528131162494.html
4. 字符串动态加入常量池
https://juejin.im/post/5a447f60f265da43052eec16