创建对象对应的jvm内存图(一)

本文阐述了绘制内存图的重要性,它能帮助程序员在不运行程序的情况下预测结果,加深对Java运行机制的理解,提高调试效率。文章通过实例代码详细解释了如何正确绘制内存图,遵循数据优先原则,按代码执行顺序进行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么要画内存图?

  1. 有了内存图,程序不运行,我也知道结果(可以推荐出结果)
  2. 有了内存图,有助于你调试程序。 画内存图是对java运行机制的一种理解,不知道运行机制,以后复杂的程序出现错误后,不会调试,调也不明白

画内存图注意事项

  1. 在内存图上不要体现出代码,内存上应该主要体现"数据"
  2. 画图的时候,图上的图形应该有先后顺序,先画什么,再画什么,必须是有顺序的,而不是 想起来什么就画什么,想起哪个画那个。程序代码是有执行顺序的,程序执行到哪里你就画哪里。

具体举例代码如下


public class User{
    //用户id
    int id;
    //用户名
    String username;
    //密码
    String password;
}
//第一步:类的加载
//第二步:调用UserTest类的main方法(方法调用要压栈。)
public class UserTest{

    public static void main(String[] args) {
        User u1 = new User();
        u1.id=111;
        u1.username ="zhangsan";
        u1.password ="123";
        System.out.println(u1.id);
        System.out.println(u1.username);
        System.out.println(u1.password);

        User u2 = new User();
        u2.id=222;
        u2.username ="lisi";
        u2.password="456";
        System.out.println(u2.id);
        System.out.println(u2.username);
        System.out.println(u2.password);


    }
}

内存图

usertest内存图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

piepis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值