概述
世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过程。
Java能获得如此广泛的认可,除了它有一门结构严谨、面向对象的编程语言之外,还有许多不可忽视的优点。
① 它摆脱了硬件平台的束缚,实现了“一次编写,到处运行”的理想
② 它提供了一个相对安全的内存管理和访问机制,避免了绝大部分的内存泄漏和指针越界问题
③ 它实现了热点代码检测和运行时编译和优化,这使得Java应用能随着运行时间的增加而获得更高的性能
④ 它有一套完善的应用程序接口,还有无数来自商业机构和开源社区的第三方类库来帮助它实现各种各样的功能
Java技术体系
① Java程序设计语言
② 各种硬件平台上的Java虚拟机
③ Class文件格式
④ Java API类库
⑤ 来自商业机构和开源社区的第三方Java类库
把Java程序设计语言、Java虚拟机、Java API类库这三部分统称为JDK(Java Development Kit),JDK是用于支持Java程序开发的最小环境。
把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(Java Runtime Environment),JRE是支持Java运行的标准环境。
Java发展史
Java虚拟机发展史
Java虚拟机家族:
① Sun Classic / Exact VM
② Sun HotSpot VM
③ Sun Mobile-Embedded VM /Meta-Circular VM
④ BEA HRockit / IBM J9 VM
⑤ Azul VM / BEA Liquid VM
⑥ Apache Harmony / Google Android Dalvik VM
⑦ Microsoft JVM及其他
展望Java技术未来
模块化:解决应用系统与技术平台越来与复杂,越来越庞大的一个重要途径
混合语言:当单一的Java开发已经无法满足当前软件的复杂需求时,越来越多基于Java虚拟机的语言开发被应用到软件项目中,利用各自擅长的方面更好的解决问题
多核并行:多核时代的来临,使得软件开发越来越关注并行编程的领域
进一步丰富语法:对Java语法进行扩充
64位虚拟机:CPU64位架构,企业级需求,性能需求
参考《深入理解Java虚拟机》-周志明著