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

相关推荐
Yue丶越5 小时前
【C语言】深入理解指针(二)
c语言·开发语言·数据结构·算法·排序算法
m0_748248025 小时前
C++中的位运算符:与、或、异或详解
java·c++·算法
介一安全5 小时前
从 0 到 1 玩转 2025 最新 WebGoat 靶场:环境搭建 + 全关卡漏洞解析(超级详细)
java·web安全·网络安全·靶场
web安全工具库5 小时前
Linux进程的:深入理解子进程回收与僵尸进程
java·linux·数据库
沐浴露z5 小时前
详解【限流算法】:令牌桶、漏桶、计算器算法及Java实现
java·算法·限流算法
兜有米啦5 小时前
python练习题3
开发语言·python
chxii5 小时前
Spring Boot 响应给客户端的常见返回类型
java·spring boot·后端
Wzx1980125 小时前
go基础语法练习
开发语言·后端·golang
老友@5 小时前
一次由 PageHelper 分页污染引发的 Bug 排查实录
java·数据库·bug·mybatis·pagehelper·分页污染
AI分享猿5 小时前
小白学规则编写:雷池 WAF 配置教程,用 Nginx 护住 WordPress 博客
java·网络·nginx