学习后的总结,阅读自李刚的《疯狂 Java 讲义》
1. Java 简介
Java 是在 C++ 的基础上创建的一种面向对象的半编译半解释型编程语言,支持跨平台。主要分为以下三类:
- Java SE:Java 标准版,是整个 Java 技术的核心和基础;
- Java EE:Java 企业版,在 Java SE 的基础上增加了大量的 API 和库,主要是企业使用;
- Java ME:Java 微型版,Java SE 的简化版,无法使用 Java 标准库,主要用于嵌入式领域。
各版本关系:
名词解释:
-
JDK:Java Development Kit,Java 开发工具包,即 Java 的开发环境,包含编译器、调试器和 JRE 等;
-
JRE:Java Runtime Environment,Java 运行时环境,即 Java 的运行环境,包含 JVM 和 运行所需要的库;
-
JVM:Java Virtual Machine,Java 虚拟机,是用来解释执行 Java 字节码文件的虚拟机。
三者关系:
2. Java 发展史
- 1990 年,Sun 公司在 C++ 的基础上创建了 Oak 语言。
- 1994 年,Oak 商标被注册,更名 Java。
- 1995 年,Sun 公司发布 Java 语言,公开源代码,免费使用。
- 1996 年,Sun 公司发布 JDK 1.0,包括 Java 语言的开发环境(JDK)和运行环境(JRE)。
- 1997 年,Sun 公司发布 JDK 1.1,新增 JIT(即时编译)编译器。
- 1998 年,Sun 公司发布 JDK 1.2,将 Java 分为三个版本:
- J2SE:Java 标准版,免费,整个 Java 技术的核心和基础;
- J2EE:Java 企业版,收费,为企业服务,在 J2SE 的基础上增加了大量的 API 和库,是 J2SE 的增强版;
- J2ME:Java 微型版,针对嵌入式设备的 J2SE 瘦身版,无法使用 Java 标准库。
- 2000 年,Sun 公司发布 JDK 1.3。
- 2002 年,Sun 公司发布 JDK 1.4。
- 2004 年,Sun 公司发布 JDK 1.5,J2SE 更名为 Java SE,J2EE 更名为 Java EE,J2ME更名为 Java ME。
- 2006 年,Sun 公司发布 JDK 1.6,也称为 Java 6。
- 2009 年,Oracel 公司收购 Sun 公司。
- 2011 年,Oracel 公司发布 JDK 1.7,也称为 Java 7。
- 2014 年,Oracel 公司发布 JDK 1.8,也称为 Java 8。
- 2017 年,Oracel 公司发布 JDK 1.9,也称为 Java 9。
- …
3. Java 程序运行机制
3.1 高级语言运行机制分类
- 编译型:将高级语言的源代码直接编译成计算机平台硬件能直接识别的机器码(0/1)的语言。
- 特点
- 运行效率高:可以脱离开发环境直接运行,机器能够直接识别;
- 无法跨平台:只能在特定的平台运行,如果想在其他平台运行,必须重新编译。
- 相关语言:C/C++、Kotlin 等。
- 特点
- 解释型:使用专门的解释器对源代码逐行解释成特定平台的机器码并立即执行的语言。
- 特点
- 运行效率低:无法脱离解释器运行,每次运行都需要进行解释;
- 可以跨平台:只需要提供对应平台的解释器即可运行。
- 相关语言:JavaScript、Python 等。
- 特点
3.2 Java 程序的运行机制
先编译,后解释
- 先编译成 Java 特有的 .class 字节码文件;
- 再使用 JVM 解释执行 .class 文件。
为什么 “ 一次编译,到处运行 ” ?
JVM 向上提供的接口都是统一的,而向下则是根据不同的平台提供对应的接口,因此只需要对不同平台提供相应的 JVM ,就可以实现一次编译到处运行的跨平台特性了。