JVM预备

初始类文件:

0000000 ca fe be be:表示他是否是【class】类型的文件

1.每个线程运行时对应的内存,对应一个虚拟机栈

2.每个线程的方法对应一个栈帧(每个方法运行时需要的内存),他的结束随方法结束而结束

3.当方法1 调用方法2 ,方法2 调用方法1 就会变成递归,不断地往虚拟机栈中叠方法1 和方法2,可能会产生栈溢出

xxx.class文件:cmd——>javap -v xxx

iconst_1将整数常量1放入操作数栈
istore_1将操作数栈顶元素放入局部变量1
iload_1将常量1 放入操作数栈
getstatic把方法放入栈
ldc放入常量池
iinc 1,1直接在局部变量槽位上进行运算(1号槽位上加1)
bipush把xx放入操作数栈
字节码指令...

常量池载入运行时常量池:

short范围内的数字和字节指令放在一起(bipush:放入操作数栈)

超过short范围的数字放入常量池(ldc)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值