Litong's Blog

Work to become, not to acquire.

第1章 走进Java

世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过程。

Java 技术体系包括:

Java 程序设计语言 + Java 虚拟机 + Java API 类库 = JDK (Java Development Kit), JDK 是用于支持 Java 程序开发的最小环境。

Java SE API 子集 + Java 虚拟机 = JRE (Java Runtime Environment), JRE 是支持 Java 程序运行的标准环境。

Java 技术体系的平台划分:

JDK历史版本:

Java 虚拟机发展史

Sun Classic: 世界上第一款商用 Java 虚拟机,只能用纯解释器方式来执行 Java 代码 Exact VM: 两级即时编译器、编译器与解释器混合工作模式、准确式内存管理(知道内存上某个位置的数据具体是什么类型) Sun HostSpot VM: JDK1.3之后的默认虚拟机,准确式 GC,热点代码探测 BEA JRockit VM: 垃圾回收器,MissionControl 服务 Liquid VM: 自身实现了一个专用操作系统的必要功能,如文件系统、网络支持等,由虚拟机越过操作系统直接控制硬件,不需要再进行内核态/用户态的切换 Graal VM: Run Programs Faster Any where,在 HotSpot 虚拟机基础上增强而成的跨语言全栈虚拟机,通过解释器将各种语言的源代码编译成 Graal VM 可以接受的中间格式。 Substrate VM: 提前编译,降低内存占用及启动时间。

    模块化编译不仅是条件编译,更重要的是接口与实现的分离。

编译 JDK