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十进制数字

相关推荐
南 阳10 小时前
Python从入门到精通day64
开发语言·python
yaaakaaang10 小时前
十二、代理模式
java·代理模式
花千树-01010 小时前
Java 接入多家大模型 API 实战对比
java·开发语言·人工智能·ai·langchain·ai编程
卓怡学长10 小时前
m326数据结构课程网络学习平台的设计与实现+vue
java·spring·tomcat·maven·intellij-idea·mybatis
han_hanker11 小时前
@Validated @Valid 用法
java·spring boot
小CC吃豆子11 小时前
详细介绍一下静态分析工具 SonarQube
java
DevOpenClub11 小时前
全国三甲医院主体信息 API 接口
java·大数据·数据库
上海合宙LuatOS11 小时前
LuatOS扩展库API——【exremotecam】网络摄像头控制
开发语言·网络·物联网·lua·luatos
言慢行善11 小时前
SpringBoot中的注解介绍
java·spring boot·后端
一勺菠萝丶11 小时前
管理后台使用手册在线预览与首次登录引导弹窗实现
java·前端·数据库