目录
一、Java特性
- 简单性。相对C++而言更为简洁,使用起来更加方便。
- 面向对象。
- 可靠性(稳健性)。吸收了C/C++的优点、强类型语言、异常处理等。
- 可移植性。平台无关(跨平台)的语言。(它提供了在不同平台下运行的解释环境)。
- 安全性。自动回收垃圾,强制类型检查,取消指针。
- 高性能。
- 多线程。
二、Java跨平台原理
三、Java两大核心机制
1.JVM(Java Virtual Machine)
JVM 可以理解成一个可运行 Java 字节码的虚拟计算机系统。
它有一个解释器组件,可以实现 Java 字节码和计算机操作系统之间的通信。
对于不同的运行平台,有不同 的 JVM。
JVM 屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。
2.垃圾回收器(GC)
不再使用的内存空间应当进行回收-垃圾回收。
在 C/C++等语言中,由程序员负责回收无用内存。
Java 语言消除了程序员回收无用内存空间的责任: JVM 提供了一种系统线程跟踪存储空间的分配情况。并在 JVM 的空闲时,检查并释放那些可以被释放的存储空间。
垃圾回收器在 Java 程序运行过程中自动启用,程序员无法精确控制和干预。
四、JDK(Java Development Kit)
JDK(Java Development Kits)-- Java 开发工具集
JRE(Java Runtime Environment)Java 运行时环境 JVM
Java API (应用程序编程接口)
Java 编译器(javac.exe)、Java 运行时解释器(java.exe)、Java 文档化化工具(javadoc.exe)及其它工具及资源
JRE 的三项主要功能:
- 加载代码:由类加载器(class loader)完成;
- 校验代码:由字节码校验器(byte code verifier)完成;
- 执行代码:由运行时解释器(runtime interpreter)完成。
JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可