1 Java 体系与特点
-
Java ME: Java Platform, Micro Edition
微型版:致力于消费产品 和嵌入式设备的最佳解决方案
-
Java SE: Java Platform,Standard Edition
企业版:以企业为环境而开发应用程序的解决方案
-
Java EE: Java Platform,Enterprise Edition
标准版:各应用平台的基础,桌面开发和低端商务应用的解决方案
1.1 Java可以做什么
- 开发 桌面应用程序(银行软件、商场结算软件)
- 开发 面向Internet 的 web应用程序(门户网站(银行)、电子商务网站)
- 嵌入式开发(移动电话、可视电话、数字机顶盒和汽车导航系统)
1.2 Java的特性
- 纯面向对象的编程语言
- 与平台无关(跨平台)的语言 (提供了在不同平台下运行的解释环境)
- 一种健壮的语言,吸收了 C/C++语言的优点
- 有较高的安全性 (自动回收垃圾,强制类型检查,取消指针)
1.3 JDK与JRE
- JDK: Java开发工具包,用于开发Java程序;其中包含 JRE 和 Java API(例如 Java编译器(javac.exe)、Java运行时解释器(java.exe)等工具)
- JRE: Java运行环境,用于运行Java程序;包含 JVM 和 Java核心类库,主要功能为加载、校验、执行代码(由 类加载器(class loader)、字节码校验器(byte code verifier)、运行时解释器(runtime interpreter) 完成)
1.4 Java跨平台原理
**源代码(.java) **—编译—> 字节码文件(.class) —运行—> JVM —> 操作系统(Windows, Linux)
Java编译器将 源文件(.java) 编译为 字节码文件(.class) 后,虚拟机JVM 解释执行 字节码文件。不同平台有相应的虚拟机,他们都向编译器提供了相同的接口。
1.5 Java的两种核心机制
JVM
Java Virtual Machine - Java虚拟机:一个可运行 Java字节码 的 虚拟计算机系统
- 有一个解释器组件,可以实现 Java字节码 和 计算机操作系统 之间的通信
- 对于不同的运行平台,有不同的 JVM
- 屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”
GC
Garbage Collection - 垃圾回收器:自动回收不再使用的内存空间
- JVM 提供了一种系统线程跟踪存储空间的分配情况;并在 JVM 的空闲时,检查并释放那些可以被释放的存储空间
- 垃圾回收器在 Java 程序运行过程中自动启用,程序员无法精确控制和干预
相关链接:深入理解Java GC