.class字节码类型识别:魔数、常量池和内存模型

目录

.class文件

组成结构

魔数

常量池

oop-klass模型


      我们都知道C语言执行依赖编译器,同一段C程序,在不同的操作系统平台(或者说是硬件平台上)上,由不同的编译器将其编译成对应的机器指令,编译后的C程序里各种数据类型信息都被改写成汇编,这是在编译时期完成的,在编译器对C程序进行解析时,识别里面的各种数据类型,例如结构体,并翻译成机器可以理解的二进制程序,待操作系统加载执行。Java则不同,JIT即时编译器虽然也能在编译时识别出Java程序中的各种数据类型信息,但是还记得以前说过的,Java程序编译后形成的是字节码.class文件,而不是底层机器能直接运行的机器指令,.class字节码文件再由JVM在程序运行时解释执行,因此,真正处理起Java数据类型是在程序运行期间,一边解释字节码文件,一边识别出里面的数据类型。

 

.class文件

      Java程序中不论你想描述的任何东西,一些动物的属性,一台电脑的参数,还是一种算法的不同实现方式,最后都会被概括成一个“类”&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值