Java不仅仅是一门编程语言,他还是一个由一系列计算机软件和规范组成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统,移动终端,企业服务器,大型机等多种场合.
Java语言的优点:
- 摆脱了硬件平台的束缚,实现了"一次编写,到处运行"的理想;它提供了一种相对安全的内存管理和访问机制,避免了绝大部分内存泄漏和指针越界问题;它实现了热点代码检测和运行时编译及优化,使得Java应用能随着运行时间的增长而获得更高的性能;它有一套完善的应用程序接口,还有无数来自商业机构和开源社区的第三方类库来帮助用户实现各种各样的功能;
Java技术体系组成部分:
- Java程序设计语言;各种硬件平台上的Java虚拟机实现;Class文件格式;Java类库API;来自商业机构和开源社区的第三方Java类库;
按组成部分划分的功能:
- JDK:是用于支持Java程序开发的最小环境(Java程序设计语言,Java虚拟机,Java类库)JRE:是支持Java程序运行的标准环境(Java类库API中的Java SE API子集,Java虚拟机)
按服务的领域划分:
- Java Card:支持Java小程序(Applets)运行在小内存设备(如智能卡)上的平台;Java ME:支持Java程序运行在移动终端上的平台;Java SE:支持面向桌面级应用的Java平台;Java EE(JDK 10后称为Jakarta EE):支持使用多层架构的企业应用的Java平台;
- 虚拟机始祖: Sun Classic/Exact VM
“实际上第一款商用Java虚拟机”,使用的是纯解释器方式来执行代码;武林盟主:HotSpot VM
Sun/OracleJDK和OpenJDK默认的Java虚拟机,主流虚拟机之一;小家碧玉:Mobile/Embedded VM
针对于移动/嵌入式的Java虚拟机天下第二:BEA JRockit/IBM J9 VM
都曾号称"世界上速度最快的Java虚拟机",
(JRockit)不含解释器,全部使用编译器编译执行
(J9)职责的分离与模块化做得比HotSpot更好软硬合璧:BEA Liquid VM/Azul VM
针对于专用系统上的"高性能Java虚拟机"挑战者:Apache Harmony/Google Android Dalvik VM
只能被称作"虚拟机"而不能称为"Java虚拟机"
适用于安卓,也对Java世界产生了影响与挑战;没有成功,但并非失败:Microsoft JVM及其他
是针对于Windows平台的版本



