附学习路线图 java学习体系框架


1.前言 【附学习路线图 java学习体系框架】Java 不仅仅是一门编程语言,还是一个由一系列计算机软件和规范组成的技术体系 。
Java 的广告词为 “一次编写,到处运行”,之所以能够做到”跨平台”,是因为每个平台上不同的虚拟机屏蔽了硬件的差异,而 Java 程序则是运行在虚拟机之上的 。
本文简要介绍 Java 技术体系及 Java 虚拟机(Java Virtual Machine, JVM)的相关发展历程,后文再进一步分析 Java 虚拟机的详细内容 。

PS: 本文及接下来的 JVM 笔记内容主要来自周志明《深入理解 Java 虚拟机(第3版)》 。
2. Java技术体系 广义上讲,Kotlin、Groovy、JRuby 等运行于 Java 虚拟机上的编程语言及其相关程序都属于 Java 技术体系 。
而从传统意义上来看,JCP 官方定义的 Java 技术体系主要包括:
Java 程序设计语言各种硬件平台上的 Java 虚拟机Class 文件格式Java 类库 API商业机构和开源社区的第三方 Java 类库其中 Java 程序设计语言、Java 虚拟机、Java 类库三部分统称为 JDK(Java Development Kit),JDK 是支持 Java 程序开发的最小环境 。
Java 类库 API 中的 Java SE API 子集和 Java 虚拟机统称为 JRE(Java Runtime Environment),JRE 是支持 Java 程序运行的标准环境 。
PS: JCP 全称 Java Community Process,即 Java 社区,由业界多家技术巨头组成的社区,用于定义和发展 Java 的技术规范 。
Java 技术体系包含的内容如下:
3. JVM家族 “Java 虚拟机” 只是一个概念,它的实现产品众多,下面简要介绍其发展历程 。
Sun Classic/Exact VMClass VM (JDK 1.0)世界上第一款商用 Java 虚拟机纯解释器方式执行 Java 代码对象查找基于句柄Exact VM (JDK 1.2)准确式内存管理:虚拟机可以知道内存中某个位置的数据具体类型HotSpot VMSun/OracleJDK 和 OpenJDK 中默认虚拟机目前使用范围最广的 Java 虚拟机由于 HotSpot 虚拟机是目前使用最广泛的,而且是目前 OracleJDK 和 OpenJDK 的默认虚拟机,后文的内容分析主要是针对该虚拟机 。
终端执行 java -version 命令如下(不同机器会有所不同,此处仅供参考):
$ java -versio

    推荐阅读