java对象是怎么在jvm中new出来的,在内存中查看java对象成员变量字段属性值

java对象是怎么在jvm中new出来的

查看java对象字段属性在内存中的值

java 对象 创建 流程

附上java源码

java 复制代码
public class MiDept {

    private int innerFiled=999;

    public MiDept()  {
        System.out.println("new MiDept--------------");
    }

    public String show(int data) {
        System.out.println("mi--------------"+data);
        return "yym-invoke-method";
    }

    public int getInnerFiled() {
        return innerFiled;
    }

    public void setInnerFiled(int innerFiled) {
        this.innerFiled = innerFiled;
    }
}


public class GDBDebugJava {

    public static int static_field = 8888;
    MiDept miDept0=null;
    MiDept miDept1=null;
    MiDept miDept2=null;

    public static void main(String[] args) {
        GDBDebugJava gDBDebugJava = new GDBDebugJava();
        int i=0;
        try {
            TimeUnit.SECONDS.sleep(1);
            System.out.println("mi"+i++);
        }catch (Exception e) {
            e.printStackTrace();
        }
        Thread.currentThread().setName("yym");
        gDBDebugJava.miDept0 = new MiDept();
        gDBDebugJava.miDept0.setInnerFiled(666);
        System.out.println(gDBDebugJava.miDept0.show(123456));

    }


}

1、分配java对象内存 jvm源代码oop obj = klass->allocate_instance(CHECK);

2、打印java对象在内存中地址

3、使用gdb attach 28965 java进程 查看java对象int字段属性在内存中值

计算器转换10十进制数字

相关推荐
骄马之死8 小时前
SpringMVC + SpringBoot 核心知识点总结
java·spring boot·后端
z落落9 小时前
C# 泛型方法(原理、类型推断、多泛型参数)+泛型效率(普通类型 VS Object装箱 VS 泛型)
开发语言·c#
L_09079 小时前
【C++】异常
开发语言·c++
世辰辰辰10 小时前
批量修改图片/文本名子
开发语言·python·批量修改文件名
郑洁文10 小时前
基于Spring Boot的流浪动物救助网站
java·spring boot·后端·毕设·流浪动物救助
J-Tony1110 小时前
【JVM】编译&&解释
jvm
螺丝钉code11 小时前
JAVA项目 Claude code CLAUDE.md 到底应该怎么写
java·人工智能·claude code
z落落12 小时前
C# 四种特殊类:抽象类、密封类、静态类、部分类
开发语言·c#
摇滚侠12 小时前
Maven 入门+高深 单一架构案例 54-59
java·架构·maven·intellij-idea
VidDown12 小时前
Webhook 调试器:让第三方回调“原形毕露”
java·开发语言·javascript·编辑器·postman