java jvm内存分配_java学习-jvm-内存分配

public classJVMPrimaryDataDemo {//对于当前常量数据,在类加载期间时将class文件转为Class对象后,初始化时会将当前数据存放到run-time constant pool 区域

public static final int CONSTANT_COMPILER_DATA = 1;public int j = 4; //对于该字段的数据是存放在构造方法中的;是存在于实例化对象中(堆)

public static voidmain(String[] args) {//而对于方法中的数据在运行时会被直接加载到栈中

int i = 3; //该数字在编译后会被翻译为 iconst_数值

}/*** 对 编译后的class文件 使用javap -v 解析

* // 常量池 == run-time constants pool

* Constant pool:

* #1 = Methodref #2.#3 // java/lang/Object."":()V

* #2 = Class #4 // java/lang/Object

* #3 = NameAndType #5:#6 // "":()V

* #4 = Utf8 java/lang/Object

* #5 = Utf8

* #6 = Utf8 ()V

* #7 = Class #8 // com/xing/level/JVMPrimaryDataDemo

* #8 = Utf8 com/xing/level/JVMPrimaryDataDemo

* #9 = Utf8 CONSTANT_COMPILER_DATA // 字段名

* #10 = Utf8 I

* #11 = Utf8 ConstantValue

* #12 = Integer 1 // 声明的常量数据

* #13 = Utf8 Code

* #14 = Utf8 LineNumberTable

* #15 = Utf8 LocalVariableTable

* #16 = Utf8 this // 当前对象引用

* #17 = Utf8 Lcom/xing/level/JVMPrimaryDataDemo;

* #18 = Utf8 main // 方法名

* #19 = Utf8 ([Ljava/lang/String;)V

* #20 = Utf8 args // 参数名

* #21 = Utf8 [Ljava/lang/String;

* #22 = Utf8 i // 局部变量名

* #23 = Utf8 SourceFile

* #24 = Utf8 JVMPrimaryDataDemo.java*/}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值