Java Class 文件中Method的存储

class文件是java编译后的文件类型。其代表一个类,其有专门的存储格式。其中会存放数据也会存放方法,而所谓的方法存放就是将方法中的调用都转换成java字节码指令。所方法调用从机器的角度看就是对于寄存器中的数据和CPU之间的计算与存取。

Java在编译时会将方法编译为Java字节码指令,并将字节码指令存放在Class文件中。


源码如下

Java Class 文件中Method的存储


通过javap -verbose Main 反编译Class后得到如下主要内容:

Java Class 文件中Method的存储


将Java字节码指令的1字节指令翻译后如下:

Java Class 文件中Method的存储


在通过文本工具打开Class文件后显示Method部分代码如下:

Java Class 文件中Method的存储


其中的033c 两字节对应着iconst_0和istore_1,接下来b2对应着getstatic,getstatic的参数占两个字节0002。以此类推

通过这些内容表示Java的方法存储就是通过将源码翻译为字节指令,然后在Class中存储的。



资料

Original: https://www.cnblogs.com/hnrainll/p/13042014.html
Author: Leo Chin
Title: Java Class 文件中Method的存储

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/537247/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Javaweb07-三层架构(BaseDao)

    1、BaseDao 持久层业务接口实现类的公共父类,定义了jdbc操作数据库的所有公共方法,方便子类继承; import java.io.InputStream; import j…

    Java 2023年6月15日
    083
  • 数据库的备份和恢复命令,使用视图,索引,事务

    备份库 直接在cmd窗口中直接输入,结束不需要输入; mysqldump -h端口号 -u用户名 -p密码 数据库名>备份地址 恢复库 在cmd窗口中进行 1、连接数据库 m…

    Java 2023年6月6日
    0103
  • Springboot中spring-data-jpa实现拦截器

    以下是jpa 拦截器的配置。 第一步: 实现 hibernate接口。重写方法 第二步: 在yml中配置 第三步:结果 java;gutter:true;2019-06-19 17…

    Java 2023年5月30日
    088
  • Java truelicense 实现License授权许可和验证

    文章目录前言一、使用场景以及truelicense是什么二、原理三、使用Keytool命令生成密钥对四、实现代码 – 证书生成五、测试 – 证书生成六、代码…

    Java 2023年5月29日
    0113
  • Sql Server 基本概述

    SqlServer用户权限 设置权限用户的意义 数据库是一个应用程序,运行起来对应一个进程,这个进程中,有很多很强大的功能支持,对于开发者或者是数据库管理者,都是充分的来应用这些功…

    Java 2023年6月15日
    076
  • 简要概述java内存模型,以及volatile关键字

    package com.mylienkd; public class MyThread implements Runnable {private Integer nubmer= 0…

    Java 2023年5月29日
    058
  • Effective Java 第三版—— 86. 非常谨慎地实现SERIALIZABLE接口

    Tips书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code注意,书中的有些代码里方法是基于Java 9…

    Java 2023年5月29日
    0114
  • 设计模式 08 代理模式

    代理模式(Proxy Pattern)属于 结构型模式 代理模式就是一个代理对象来间接访问对象,常用于无法直接访问某个对象或访问某个对象不方便的情况。 实际上代理在生活中处处都存在…

    Java 2023年6月6日
    081
  • 记一次重复造轮子(Obsidian 插件设置说明汉化)

    杂谈 #Java脚本 因本人英语不好在使用Obsidian时,一些插件的设置英文多令人头痛。故有写一个的翻译插件介绍和设置脚本的想法。看到有些前人写的一下翻译方法,简直惨目忍睹。竟…

    Java 2023年6月6日
    079
  • 一、对象与类

    1 类的三种关系:use, has, is 2 封装:数据域私有,即隐藏数据的实现方式,只提供方法去操作。所有的使用者调用即可而不需要关心实现方法的都可以称为封装。 3 java的…

    Java 2023年6月16日
    0121
  • 180_RabbitMQ高级-消息确认机制的配置

    消息确认机制的配置 消息确认机制的配置 :::infoNONE值是禁用发布确认模式,是默认值CORRELATED值是发布消息成功到交换器后会触发回调方法,如1示例SIMPLE值经测…

    Java 2023年6月7日
    095
  • Storm2

    java;gutter:true; package storm.scheduler;</p> <p>import java.util.ArrayList; …

    Java 2023年6月9日
    073
  • Spring Security静态资源过滤(11)

    在一个实际项目中,并非所有的请求都需要经过Spring Security过滤器,有一些特殊的请求,例如静态资源等,一般来说并不需要经过Spring Security过滤器链,用户如…

    Java 2023年6月13日
    071
  • 分页数据展示后台代码和前台代码

    类别id传递 点击了不同的分类后将来看到的旅游线路不一样的。通过分析数据库表结构,发现 旅游线路表和分类表是一个多对一的关系 CategoryServiceImpl实现类: pub…

    Java 2023年6月6日
    099
  • 12.AIO

    posted @2022-08-22 22:05 努力的达子 阅读(6 ) 评论() 编辑 Original: https://www.cnblogs.com/wmd-l/p/16…

    Java 2023年6月5日
    093
  • CTF中常见密码学

    前言 参考,我们任课老师的WORD和PPT,结合自己的理解,在结合网上文章的理解。 一.BASE64编码 BASE64编码中,特征和所拥有的字符 &#x5B57;&…

    Java 2023年6月13日
    068
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球