jvm icon indicating copy to clipboard operation
jvm copied to clipboard

🤗 JVM 底层原理最全知识总结

Results 14 jvm issues
Sort by recently updated
recently updated
newest added

周志明老师的描述: 如果当前新生代的 Survivor 中,相同年龄所有对象大小的总和大于 Survivor 空间的一半,年龄 >= 该年龄的对象就可以直接进入老年代,无须等到 MaxTenuringThreshold 中要求的年龄。 实际上,经过测试的结论: 如果当前新生代的Survivor中,年龄小到大(1,2,3,4,5,N)的对象所有对象的大小总和大于Survivor空间的一半,年龄N >=该年龄的对象就可以直接晋升到老年代,无须等到MaxTenuringThreshold中要求的年龄。

**jvm调优能不能在多讲一些具体的调优步骤,最好可以举例说明,这样就完美了。 哈哈哈**

大佬,请问CMS 标记阶段为什么会需要STW?

### 可以让大家理解到JVM底层是如何运行的,比如类加载机制,以及执行引擎,运行时数据区,垃圾回收机制等的内部底层原理 - 项目地址:https://github.com/shaoxiongdu/JVMStudy - 详细的图示和文档说明 并且标出了参考的官方规范地址便于查证 - 截图: - ![image-20210720213009479](https://gitee.com/ShaoxiongDu/imageBed/raw/master//images/image-20210720213009479.png) - ![image-20210720213047701](https://gitee.com/ShaoxiongDu/imageBed/raw/master//images/image-20210720213047701.png) - ![image-20210720213112938](https://gitee.com/ShaoxiongDu/imageBed/raw/master//images/image-20210720213112938.png)

讲原理的都能看懂,能不能开一个讲JVM源码系列的呢,有实战内容的

重新标记阶段是用来标记并发标记阶段无法确定的垃圾,CMS无法处理浮动垃圾(并发标记阶段产生的垃圾)也是它的弊端之一

第一节——JVM 内存结构 > Java 虚拟机栈的栈顶的栈帧是当前正在执行的活动栈,也就是当前正在执行的方法,PC 寄存器也会指向这个地址。**只有这个活动的栈帧的本地变量可以被操作数栈使用**,当在这个栈帧中调用另一个方法,与之对应的栈帧又会被创建,新创建的栈帧压入栈顶,变为当前的活动栈帧。 对于上述引用中被加粗的地方,如果要使用静态变量怎么办呢?