回忆一遥远 发表于 2017-8-15 15:28:06

0基础学习Java —— Java 虚拟机简介

本帖最后由 回忆一遥远 于 2017-8-16 07:35 编辑

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


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

第一个 Java 虚拟机的原型机是由Sun Microsystems公司实现的,它被用在一种类似PDA (Personal Digital Assistant,俗称掌上电脑)的手持设备上仿真实现 Java 虚拟机指令集

Java 虚拟机并不局限于特定的实现技术、主机硬件和操作系统, Java 虚拟机也不局限于特定的代码执行方式,它不强求使用解释器来执行程序,也可以通过把自己的指令集编译为实际CPU的 指令来实现,它可以通过微代码(Microcode)来实现,或者甚至直接实现在 CPU 中。

回忆一遥远 发表于 2017-8-15 15:28:49

绝望,上面少了两段,这个我今早就记了这个笔记发了,审核了半天...
我发其他笔记的时候明明不用审核的啊.... 结果我删了又发,发了又删,终于发现是最后两段造成的这个原因,不知道为什么。现在删了就发的出来了 {:10_266:}

刚刚手贱加上那两段,又被送去审核了......... {:10_263:}

嗨呀,好气啊~{:10_250:}

回忆一遥远 发表于 2017-8-15 15:29:24

本帖最后由 回忆一遥远 于 2017-8-16 07:35 编辑

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

基于安全方面的考虑,Java 虚拟机要求在 Class 文件中使用了许多强制性的语法和结构化约束,但任一门功能性语言都可以表示为一个能被 Java 虚拟机接收的有效的 Class 文件。作为 一个通用的、机器无关的执行平台,任何其他语言的实现者都可以将Java虚拟机作为他们语言的产品交付媒介。

回忆一遥远 发表于 2017-8-15 15:30:16

现在我把最后两段发到回复中了,至少不会整个笔记都送去审核了....
页: [1]
查看完整版本: 0基础学习Java —— Java 虚拟机简介