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移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
由于篇幅原因,这份面试宝典已经被整理成了PDF文档,有需要Android面试宝典全套完整文档的麻烦点赞+点击GitHub即可获取资料免费领取方式!
本文在开源项目:GitHub中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
bbs.csdn.net/topics/618156601),里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…