Java虚拟机规范(Java SE 8) 第一章

1.2、Java虚拟机

===========

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

Java虚拟机可以看做一台抽象的计算机。如同真实的计算机那样,它有自己的指令集以及各种运行时内存区域。使用虚拟机来实现一门程序设计语言是相当常见的,业界中流传最为久远的虚拟机可能就是UCSD Pascal的P-Code虚拟机。

第一个Java虚拟机的原型机是由Sun Microsystems公司实现的,它用在一种类似PDA(Personal Digital Assistant,俗称掌上电脑)的手持设备上,以仿真实现Java虚拟机指令集。时至今日,Oracle已将许多Java虚拟机实现应用于移动设备、台式机、服务器等领域。但Java虚拟机并不局限于特定的实现技术、主机硬件和操作系统。Java虚拟机也不局限于特定的代码执行方式,它虽然不强求使用解释器来执行程序,但是也可以通过把自己的指令集编译为实际CPU的指令来实现。它可以通过微代码(microcode)来实现,甚至可以直接在CPU中实现。

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

基于安全方面的考虑,Java虚拟机在class文件中施加了许多强制性的语法和结构化约束,凡是能用class文件正确表达出来的编程语言,都可以放在Java虚拟机里面执行。由于它是一个通用的、机器无关的执行平台,所以其他语言的实现者都可以考虑将Java虚拟机作为那些语言的交付媒介。

本书所说的Java虚拟机与Java SE 8平台相兼容,而且支持由本书所定义的Java编程语言。

1.3、各章节概要

=========

  • 第2章概览Java虚拟机整体架构。

  • 第3章介绍如何将Java语言编写的程序转换为Java虚拟机指令集。

  • 第4章定义class文件格式。它是一种与硬件和操作系统无关的二进制格式,用来表示编译后的类和接口。

  • 第5章定义了Java虚拟机启动以及类和接口的加载、链接和初始化过程。

  • 第6章定义了Java虚拟机指令集,并按照这些指令的指令助记符的字母顺序来表示。

  • 第7章提供了一张以操作码值为索引的Java虚拟机操作码助记符表。

1.4、说明

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

由于篇幅原因,这份面试宝典已经被整理成了PDF文档,有需要Android面试宝典全套完整文档的麻烦点赞+点击GitHub即可获取资料免费领取方式!

本文在开源项目:GitHub中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

bbs.csdn.net/topics/618156601),里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java虚拟机规范Java SE 8版)是由Java开发者提供的一种描述了Java虚拟机的行为和功能的技术规范。它定义了Java虚拟机的结构、指令集、存储模型、异常处理、线程模型等方面的内容。 其中,Java虚拟机的结构包括了虚拟机的组成部分和相互关系。它包括了类加载器、运行时数据区域、执行引擎等。类加载器负责将类加载到Java虚拟机中,运行时数据区域包括了方法区、堆、栈、本地方法栈等存储区域,而执行引擎则负责执行Java字节码指令。 虚拟机规范还规定了Java虚拟机的指令集和字节码格式。指令集包括了加载、存储、运算、控制等多种指令,而字节码格式则是指Java源代码编译后生成的字节码文件的格式。 此外,虚拟机规范还定义了Java虚拟机的存储模型。存储模型规定了Java虚拟机在执行程序时的内存使用方式。它包括了方法区、堆、栈和程序计数器等存储区域。 异常处理也是虚拟机规范中的一个重要内容。虚拟机规范规定了Java虚拟机在发生异常时的处理方式,包括异常的创建、传播、捕获和处理。 最后,虚拟机规范还指定了Java虚拟机的线程模型。它规定了Java虚拟机中线程的创建、调度、同步和销毁等方面的行为。 总而言之,Java虚拟机规范Java SE 8版)是一份技术规范,它描述了Java虚拟机的行为和功能。它对于Java开发者来说是一份重要的参考资料,有助于理解Java虚拟机的内部运作机制,并能够更好地编写出高效、稳定的Java程序。 ### 回答2: Java虚拟机规范Java平台的一部分,定义了Java虚拟机(JVM)的特性和行为。Java虚拟机是一个运行Java程序的软件,它在不同的硬件平台上提供了统一的运行环境。 Java虚拟机规范Java SE 8版)包含了以下几个主要方面: 1. 类加载器:负责将类的字节码加载到JVM中,并最终生成对应的Class对象。类加载器可以将类的加载过程在运行时动态地进行。 2. 字节码执行引擎:负责执行加载到JVM中的字节码指令。Java虚拟机采用了解释执行和即时编译两种执行方式,可以根据实际情况选择更高效的方式。 3. 内存管理系统:包括了JVM对内存的分配和回收机制。Java虚拟机采用了自动内存管理机制,即垃圾回收机制来自动释放无用对象占用的内存空间。 4. 线程管理系统:负责管理线程的创建、销毁和调度。Java虚拟机在执行Java程序时,会为每个线程分配对应的Java栈和程序计数器,用于记录线程当前的执行状态。 5. 安全性和访问控制:Java虚拟机规范定义了一系列的安全检查和访问控制机制,以保证Java程序在运行过程中的安全性。 Java虚拟机规范Java SE 8版)的目的是为了保证Java程序的可移植性和跨平台性,使得开发人员可以编写一次程序,在不同的操作系统和硬件平台上都能够运行。通过Java虚拟机规范开发人员可以充分利用Java语言的特性和优势,开发出高效、安全和可靠的应用程序。 ### 回答3: Java虚拟机规范Java平台的一部分,用于描述Java虚拟机的运行机制和执行Java字节码的规则。Java虚拟机Java语言跨平台的核心,它实现了Java语言的“一次编译,到处运行”的理念。 Java虚拟机规范定义了Java虚拟机的体系结构、类文件格式、运行时数据区、字节码指令集等。它规定了Java虚拟机如何加载类、解析符号引用、进行垃圾回收、执行字节码指令等操作。Java虚拟机规范还对Java程序的异常处理、线程管理、安全性等方面做了详细说明。 Java虚拟机规范的发布版本与Java语言版本有一定关联。Java SE 8版本的Java虚拟机规范增加了一些新的特性,如Lambda表达式的支持、默认方法、静态方法引用等。这些新特性使得Java编程更加便捷和灵活。 Java虚拟机规范还定义了一些与性能和优化相关的规则,如即时编译器、即时垃圾回收器等。通过对Java虚拟机规范的实现和优化,可以提高Java应用程序的性能和效率。 总之,Java虚拟机规范Java平台的关键部分,它定义了Java虚拟机的行为和特性。了解和遵守Java虚拟机规范可以更好地理解Java程序的运行原理,并编写出高效、安全、可靠的Java应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值