Java的特性
- 一种纯面向对象的语言
- 一种与平台无关(跨平台) 的语言(提供了在不同平台下运行的解释环境)
- 一种健壮的语言
- 有较高的安全性(自动回收垃圾、强制类型检查、取消指针)
Java跨平台原理
Java虚拟机
JVM 可以理解成一个可运行 Java 字节码的虚拟计算机系统
- 有一个解释器组件,可以实现Java字节码和操作系统之间的通信
- 对于不同的运行平台,有不同的JVM
JVM屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
垃圾回收器(GC)
在C/C++等语言,由程序员负责回收无用内存;
JVM提供一个系统线程,用于跟踪存储控件的分配情况,检查并释放那些可以被释放的存储空间;
垃圾回收器在Java程序运行时自动启用