新增的miranda方法& 新增的常量池entry

简介: 综上,miranda方法与常量池(constant pool)条目都是Java虚拟机处理Java类文件时所涉及的概念。miranda方法涉及虚拟方法的实现机制,而常量池条目涉及类文件的组成部分,以及JVM是如何在运行时处理和引用类文件中的不同项目的。这些机制确保了Java平台的强类型特性和运行时的灵活性。

首先,需要澄清“miranda方法”与“常量池entry”是对于不同方面的术语。miranda方法与Java编程语言的内部机制有关,而常量池(entry)则涉及Java类文件的结构。以下将分别对两者进行专业的解释。

Miranda 方法

在Java中,miranda方法是指在一个类中由于继承而必须存在,但在类本身的代码中并没有被明确实现的虚拟方法。这是Java抽象的一部分,可以说是Java多态性的一种体现。

Java在类继承的层次结构中,子类可以继承父类的方法。如果父类有一个没有具体实现(即abstract)的方法,子类就必须提供这一方法的具体实现。但有时候,一个类可能得到一个这样的方法,它既没有在父类中实现,也没有在当前类中实现。这样的方法被称为miranda方法。在类的方法解析期间,Java虚拟机(JVM)认为这些方法是“看不见的”,需要它们的签名在类加载时生成。

常量池 Entry

常量池(Constant Pool)是Java类文件结构的一部分。它是该文件中的一个表,包含了所有字面量和符号引用,这些引用指向类中定义的各种项如类和接口名、字段名以及其他类文件结构。

常量池中的每一项称为一个entry(条目)。常量池条目的类型有很多,包括如下几种:

  1. Class Info: 指向全限定类或接口名的UTF-8字符串。
  2. Fieldref Info: 包含类或接口中字段的符号引用。
  3. Methodref Info和Interface Methodref Info: 分别包含类中方法和接口方法的符号引用。
  4. String Info: 代表Java字符串实例。
  5. Integer Info和Float Info: 分别代表4字节数值。
  6. Long Info和Double Info: 分别代表8字节数值。
  7. Name and Type Info: 包含字段或方法的名称和描述符。
  8. Utf8 Info: 包含字符串的UTF-8编码。

在Java虚拟机(JVM)加载类文件时,它会解析这些常量池entry,并在必要时创建相应的内部结构。例如,在JVM首次使用特定的字段或方法时,它将解析对应的Fieldref或Methodref条目,确定类或接口的类型、名称以及方法或字段的签名。

综上,miranda方法与常量池(constant pool)条目都是Java虚拟机处理Java类文件时所涉及的概念。miranda方法涉及虚拟方法的实现机制,而常量池条目涉及类文件的组成部分,以及JVM是如何在运行时处理和引用类文件中的不同项目的。这些机制确保了Java平台的强类型特性和运行时的灵活性。

目录
相关文章
|
7月前
|
存储 Java
map中存储的是引用,而不是对象本身
该内容是关于Java编程中验证Map存储引用而非复制对象的示例。创建大型List导致内存增加,说明List确实占用空间。通过Person类示例,将不同对象放入Map,改变一个对象的属性后,比较原对象与Map中的键值对,发现两者相等,证明Map保存的是对象引用。
106 5
|
3月前
|
Python
6-12|如何获取entry组建的值
6-12|如何获取entry组建的值
ES6新增操作字符串的七种方法
ES6新增操作字符串的七种方法
|
7月前
|
JavaScript 前端开发 索引
es6 数组新增哪些方法以及使用场景
es6 数组新增哪些方法以及使用场景
61 0
|
存储 前端开发 JavaScript
ES6新特性。对象、数组新增方法
ES6新特性。对象、数组新增方法
195 0
|
编译器 C语言 C++
【C++11】 列表初始化 auto 范围for 新增关键字 新增容器
【C++11】 列表初始化 auto 范围for 新增关键字 新增容器
90 0
|
存储 设计模式 缓存
C# 实现 key-value 结构自定义缓存 CustomCache
C# 实现 key-value 结构自定义缓存 CustomCache
187 1
C# 实现 key-value 结构自定义缓存 CustomCache
|
小程序 Java
Java——静态字段和实例字段的初始化说明(概念理解+应用举例)
Java——静态字段和实例字段的初始化说明(概念理解+应用举例)
Java——静态字段和实例字段的初始化说明(概念理解+应用举例)
|
Java 索引
【Java 虚拟机原理】Class 字节码二进制文件分析 五 ( 方法计数器 | 方法表 | 访问标志 | 方法名称索引 | 方法返回值类型 | 方法属性数量 | 方法属性表 )(二)
【Java 虚拟机原理】Class 字节码二进制文件分析 五 ( 方法计数器 | 方法表 | 访问标志 | 方法名称索引 | 方法返回值类型 | 方法属性数量 | 方法属性表 )(二)
137 0
【Java 虚拟机原理】Class 字节码二进制文件分析 五 ( 方法计数器 | 方法表 | 访问标志 | 方法名称索引 | 方法返回值类型 | 方法属性数量 | 方法属性表 )(二)
|
Java 数据挖掘 索引
【Java 虚拟机原理】Class 字节码二进制文件分析 五 ( 方法计数器 | 方法表 | 访问标志 | 方法名称索引 | 方法返回值类型 | 方法属性数量 | 方法属性表 )(一)
【Java 虚拟机原理】Class 字节码二进制文件分析 五 ( 方法计数器 | 方法表 | 访问标志 | 方法名称索引 | 方法返回值类型 | 方法属性数量 | 方法属性表 )(一)
162 0
【Java 虚拟机原理】Class 字节码二进制文件分析 五 ( 方法计数器 | 方法表 | 访问标志 | 方法名称索引 | 方法返回值类型 | 方法属性数量 | 方法属性表 )(一)