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

相关推荐
桦说编程2 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅4 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者5 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺5 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
Derek_Smart7 小时前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
NE_STOP7 小时前
MyBatis-mybatis入门与增删改查
java
孟陬11 小时前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端
想用offer打牌11 小时前
一站式了解四种限流算法
java·后端·go
华仔啊11 小时前
Java 开发千万别给布尔变量加 is 前缀!很容易背锅
java