Java语言特性
- 一种纯面向对象的编程语言
- 一种与平台(操作系统)无关的跨平台语言
- 一种健壮的语言,他吸收了c/c++的优点
- 一种具有较高安全性的语言,他摒弃了c/c++的垃圾回收,类型检查和指针(java会自动立即回收,强制垃圾回收并且取消了指针)
Java的跨平台原理
- Java实现了一次编译,随处运行
- JVM:Java虚拟机
- Java源代码(.java)--->通过Java编译--->Java字节码文件(.class)--->通过Java运行字节码文件(启动Java虚拟机JVM进行运行)
- java在不同的平台下都有一个JVM(Java虚拟机),JVM可以识别字节码文件,从而运行
Java的两种核心机制
Java虚拟机(JVM)
- JVM可以理解为一个可以运行Java字节码(.class)文件的计算机系统
- JVM有一个解释器,可以实现Java字节码文件与计算机操作系统之间的通信
- 对于不同的平台,存在不同的JVM(屏蔽了底层平台的差别,实现了一次编译,随处运行)
Java垃圾回收器(GC)
- 优点:JVM提供了一种系统线程自动跟踪储存空间的分配情况,在JVM空闲时,自动检查并释放垃圾空间
- 缺点:垃圾回收器在Java程序中自动运行,程序员无法精确控制和干预
- Java语言取消了由程序员回收垃圾文件的责任