底层实现
栈内存(StackMemory)由特定应用程序专用, 存储空间是连续的,以栈的方式(后进先出) 进行管理,存储容量小,但访问速度快。
堆内存(HeapMemory)由所有的应用程序公用, 存储空间分配不连续,存储容量大。在堆内存中分配存储空间和进行存取操作速度较慢。
基本类型存放在栈内存;引用类型存放在堆内存。
局部变量保存在栈内存;成员变量保存在堆内存。
基础:
强引用,弱引用,软引用,虚引用:
http://my.oschina.net/ydsakyclguozi/blog/404389
JVM内存区域划分:
http://www.cnblogs.com/dolphin0520/p/3613043.html
Java启动参数:
http://blog.csdn.net/turkeyzhou/article/details/7619472
Memory:
Java Out of memory 分析:
http://blog.csdn.net/jinger_z/article/details/5910210
http://www.iteye.com/topic/1112423
Java内存溢出分析工具:
http://blog.csdn.net/michaelfeng726/article/details/8612918
jmap + MAT 插件 分析内存:
http://www.cnblogs.com/AloneSword/p/3821569.html
Thread:
通过Thread Dump分析性能:
http://blog.csdn.net/rachel_luo/article/details/8920596