JVM规范系列第1章:引言

网友投稿 850 2022-10-28

JVM规范系列第1章:引言

JVM规范系列第1章:引言

前言

Java 虚拟机是一个抽象化的机器,整个规范中提及的 Java 虚拟机都是抽象化的概念,而不是特指 Oracle 或者其他某一间公司的 Java 虚拟机实现。

可以看到JVM其实就是一个虚拟机的机器,与我们的普通PC一样,有内存、有CPU。JVM的内存就是运行时数据区,其CPU就是Java虚拟机指令集。

另外,我们还修正了许多《Java 虚拟机规范(第一版)》 和《Java 语言规范》 之 间不一致的内容。

Java开发者必须要搞懂的两个规范:《Java虚拟机规范》和《Java语言规范》。

在这个版本中, 我们扩充了 Class 文件格式以便支持新的 Java 语言特性,譬如泛型和变长参数方法等。

扩充了Class文件格式,便于支持泛型等特性。后续在查看Class文件格式的时候,可以重点查看相关内容。TODO

如新的字节码验证方式, 它源于 Eva Rose 的一篇硕士论文, 文中以 Java Card 平台为背景, 展示了 JVM 字节码验证的另一种全新的实现思路。 这导致了 Java MECLDC 第一版实现的诞生, 并最终成为 Java SE 平台 Class 验证过程的理论基础。关于这部分内容将会在本书的第四章中介绍①。

字节码验证也是一个不小的课题啊,标记一下,第四章看看。 TODO

引言

Java 虚拟机是整个 Java 平台的基石,是 Java 技术用以实现硬件无关与操作系统无关的关键部分,是 Java 语言生成出极小体积的编译代码的运行平台,是保障用户机器免于恶意代码损害的保护屏障。

Java虚拟机对于Java平台就是如此重要!

Java 虚拟机可以看作是一台抽象的计算机。如同真实的计算机那样,它有自己的指令集以及各种运行时内存区域。

这里说的再次与我之前的理解是一致的,JVM就是一台抽象得计算机,有自己的CPU指令集和内存,只不过表现形式不同而已。

Java 虚拟机与 Java 语言并没有必然的联系,它只与特定的二进制文件格式——Class 文件格式所关联, Class 文件中包含了 Java 虚拟机指令集(或者称为字节码、 Bytecodes)和符号表,还有一些其他辅助信息。

Java虚拟机与Java语言并没有必然的联系,这个是学习JVM必须要懂的一个知识点。

提要

下面是JVM规范中关于个章节的提要:

第 2 章:概览了 Java 虚拟机整体架构。 第 3 章:介绍如何将 Java 语言编写的程序转换为 Java 虚拟机指令集描述。 第 4 章:定义 Class 文件格式,它是一种与硬件及操作系统无关的二进制格式,被用来表示编译后的类和接口。 第 5 章:定义 Java 虚拟机启动以及类和接口的加载、 链接和初始化过程。 第 6 章:定义 Java 虚拟机指令集,按这些指令的指令助记符的照字母顺序来表示。 第 7 章:提供了一张以操作码值为索引的 Java 虚拟机操作码助记符表

说明

这部分介绍了规范里的一些固定的格式。

代码块使用蓝色底汇编语言使用斜体

JVM规范系列文章目录

JVM规范系列开篇:为什么要读JVM规范?JVM规范系列第1章:引言JVM规范系列第2章:Java虚拟机结构JVM规范系列第3章:为Java虚拟机编译JVM规范系列第4章:Class文件格式JVM规范系列第5章:加载、链接与初始化JVM规范系列第6章:Java虚拟机指令集JVM规范系列:总结

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JVM规范系列开篇:为什么要读JVM规范?
下一篇:web前端栈:浏览器、平台库、框架、工具等。
相关文章

 发表评论

暂时没有评论,来抢沙发吧~