class 文件 加载-验证-准备-解析-初始化-使用-卸载 一个线程一个栈,一个方法一个栈帧java
标记清除(缺点:内存碎片化,没有连续的内存)算法
Copying (缺点:浪费内存 通常用在新生代[new])bash
标记压缩 (比copying慢一点 通常用在老年代[tenured])多线程
new并发
oldjvm
了解一下上一篇《垃圾收集器》spa
不开逃逸分析不会先分配在栈上
复制代码
栈上分配.net
线程本地分配TLAB(Thread Locla Allacation Buffer)线程
老年代code
eden
堆:
-XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=tmp/jvm.dump -XX:PrintGCDetails
-Xms10M -Xmx10M 直接调大最大,避免中途分析和垃圾回收的计算
栈 +Xss128k
大 线程递归调用能够很深
小 线程并发数量能够特别多
喜欢的能够关注个人公众号'java小瓜哥的分享平台"谢谢!