当前位置: 首页 > news >正文

Java虚拟机精讲【2.2】

3.3.13 CONSTANT_MethodType_info常量项

在 常 量 池 列 表 中 , CONSTANT_MethodType_info 常 量 项 用 于 表 示 方 法 的 类 型 。CONSTANT_MethodType_info 常量项的表结构信息,如下所示:

代码 3-17 CONSTANT_MethodType_info 表结构 CONSTANT_MethodType_info { u1 tag; u2 descriptor_index; }

上述代码示例中, CONSTANT_MethodType_info 常量项中 tag 项的值为 CONSTANT_ MethodType_info(16)。 descriptor_index 项中的值则是一个指向常量池列表中 CONSTANT_ Utf8_info 常量项(请阅读 3.3.1 节)的有效索引,用于表示方法描述符。

3.3.14 CONSTANT_InvokeDynamic_info常量项

在常量池列表中, CONSTANT_InvokeDynamic_info 常量项用于表示 invokedynamic 指令所用到的引用方法( Bootstrap Method)、引导方法使用动态调用名称( Dynamic Invocation Name)、参数和请求返回类型,以及有选择性的附加被称之为静态参数( Static Arguments)的常量序列。 CONSTANT_InvokeDynamic_info 常量项的表结构信息,如下所示:

代码 3-18 CONSTANT_InvokeDynamic_info 表结构 CONSTANT_InvokeDynamic_info { u1 tag; u2 bootstrap_method_attr_index; u2 name_and_type_index; }

上 述 代 码 示 例 中 , CONSTANT_InvokeDynamic_info 常 量 项 中 tag 项 的 值 为CONSTANT_InvokeDynamic_info(18)。 bootstrap_method_attr_index 项的值必须是对当前字节码文件中引导方法的 bootstrap_method 数组的有效索引。而 name_and_type_index 项的值则是一个指向常量池列表中 CONSTANT_NameAndType_info 常量项(请阅读 3.3.11 节)的有效索引,用于表示方法的简单名称和方法描述符。

3.4 字段表

相信大家都应该知道,在 Java 语法层面上是不允许在一个类或者接口中声明多个具有相同标示符名称的字段,当然如果这些字段彼此之间所处的作用域不相同时,那么这就会被允许。换句话说, Java 的设计者们之所以不允许这么做主要是为了避免一些不必要的异常情况出现,试想一下,如果相同的作用域上出现多个标示符名称相同的字段,那么你又如何有效访问到指定的目标字段上呢?因此 Java 语法规范不允许这么做。

在字节码文件中,每一个 field_info 项都对应着一个类或者接口中的字段信息,用于表示一个字段的完整信息,比如字段的标示符、访问修饰符( public、 priv

http://www.jsqmd.com/news/721546/

相关文章:

  • 别再只会用awgn了!手把手教你用Matlab生成指定信噪比的信号与噪声(附完整代码)
  • 别再死磕原理图了!手把手教你用示波器实测DDR DQ/DQS信号(附眼图分析实战)
  • 2026.4.29.C1
  • 上海汽车抵押贷款怎么选靠谱的助贷中介公司?5家合规靠谱助贷中介机构业务特点分析 - 速递信息
  • 如何零门槛掌握浏览器资源嗅探?猫抓Cat-Catch工具深度解析
  • 别再手写约束条件了!用LINGO快速搞定线性与非线性规划(附基础语法速查表)
  • 别再手动画样本点了!用GEE+随机森林5步搞定北京2023年土地利用分类
  • 告别脚本!用AI-TestOps的流程图录制功能,5分钟搞定Web自动化测试
  • DDrawCompat终极指南:Windows 11上经典游戏兼容性修复的完整解决方案
  • 告别Flutter APK打包失败:一份针对Gradle和缓存问题的完整自查清单
  • 百度搜索悄悄换了一个内核:Master Agent把搜索变成了帮你“把事做完“
  • ComfyUI-Impact-Pack完全指南:10个技巧掌握AI图像增强的终极工具
  • B站会员购抢票工具:多平台实时通知配置终极指南
  • 新手必看:GME多模态向量模型的核心优势与使用场景
  • 从泊车辅助到车道线检测:聊聊IPM鸟瞰图在ADAS里的那些‘坑’与最佳实践
  • STM32使用I2S的DMA找不到回调函数
  • 从Wi-Fi信号解码到垃圾邮件过滤:二元假设检验在真实工程场景里的实战避坑指南
  • 2026 天津全屋定制怎么选 本地工厂品牌排行 环保资质双认证 - 品牌智鉴榜
  • OmenSuperHub:重构暗影精灵硬件控制生态的离线革新方案
  • Java虚拟机精讲【2.3】
  • C# 13编译器新特性深度联动:Span<T>如何触发JIT内联优化“隐藏开关”?(仅限.NET 8.0.3+)
  • 告别依赖地狱:Win H + WSL CentOS 搭建 Synopsys EDA 工具链实践
  • 按揭房再贷款不用愁!完整流程详解,选择靠谱助贷中介流程规范不踩雷 - 速递信息
  • QrazyBox:你的专业二维码修复与恢复工具包
  • 避坑指南:YOLOv5加SE注意力模块时,channel除不尽报错怎么解决?
  • Azkaban部署实战:搞定execute-as-user权限问题,让two-server模式一次跑通
  • 金融大语言模型的技术演进与实战应用
  • 终极指南:LeagueAkari如何让你的英雄联盟游戏体验提升300%
  • Java虚拟机精讲【2.4】
  • VideoMamba:高效视频理解的新架构与技术解析