![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 57
半路出家的码农小王
偶尔高产,偶尔懒,全凭灵感
展开
-
使用JavaAgent打印Object的大小
1.新建maven工程ObjectSize,项目结构如下 2.创建文件ObjectSizeAgentpackage com.xw.objectsize;import java.lang.instrument.Instrumentation;public class ObjectSizeAgent { private static Instrumentation inst; public static void premain(String agentArgs...原创 2022-04-28 17:15:55 · 872 阅读 · 2 评论 -
jvm误区--动态对象年龄判定
虚拟机并不是永远地要求对象的年龄必须达到了MaxTenuringThreshold才能晋升老年代,如果在Survivor空间中相同年龄所有对象大小的总和大于Survivor空间的一半,年龄大于或等于该年龄的对象就可以直接进入老年代,无须等到MaxTenuringThreshold中要求的年龄。学习jvm的人,基本都阅读过上面这段话,这里讲的是动态年龄的判定。对于动态的判定的条件就是相同年龄所有对象大小的总和大于Survivor空间的一半,然后算出的年龄要和MaxTenuringThreshold的值.转载 2022-04-27 07:00:00 · 225 阅读 · 1 评论 -
jvm 栈,栈帧:关于int i=1;i=i++;输出i为什么=1?
public class TestPlusOne { public static void main(String[] args) { int i = 1; i = i++; System.out.println(i); }}可能有许多小伙伴认为结果等2,这是不对的,为什么等于1可以从jvm执行的指令看,这里涉及 jvm栈知识:jvm 栈存放的是栈帧(Frame),每个方法对应一个栈帧,每个栈帧包含四项内容 1....原创 2022-04-23 20:14:53 · 1416 阅读 · 1 评论