Java字节代码操作

        字节码一般出现在Java源代码编译之后生成的class文件中。每个class文件中包含了单个类或接口的定义。Java源文件中的内部类会被编译到单独的class文件中。实际上字节码并不是只存在于class文件中,还可以通过网络从远程服务器下载,或者有程序在运行时动态生成。所以字节码更加准确的说法是包含单个Java类或接口定义的字节流,通常用byte[]来表示。

        字节代码是一种二进制格式,其具体的格式在Java虚拟机中定义。使用二进制编辑器打开一个class文件,可以看到字节代码的内容。要理解字节代码格式,可以参考对应的Java源代码的组织结构。一个Java类从源代码的角度来说,包含类本身的信息及类中包含的域和方法信息。字节代码中也包含了同样的信息,并且以松散的结构进行组织。为了节省空间,字节代码对Java类中的常量储存进行了优化。了解字节代码的格式,是对字节代码进行操作的基础。工具无法为开发人员屏蔽与字节代码相关的所有细节。

基本类型在字节代码中用一个字符来表示:byte、char、double、float、int、long、short和boolean类型对应的字符分别是B、C、D、F、I、J、S和Z。

对象类型的表示方法是在全民上加上“L”前缀和“;后缀。例如,一个String类型的域描述符是“Ljava/lang/String;

数组类型的表示形式是在其元素类型之前加上“[”作为前缀。“[”的个数表示数组的维度。

对于一个方法来说,它的描述取决于参数和返回值的类型,基本形式是“(参数类型)返回值类型“。如果返回值是void,则用”V“表示。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值