A-A+
走进Java-深入理解Java虚拟机
世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过程。
Java技术体系
功能划分
- Java程序设计语言
- 各种硬件平台上的Java虚拟机
- Class文件格式
- Java API类库
- 来自商业机构和开源社区的第三方Java类库
其中,我们可以把Java程序设计语言、Java虚拟机和Java API类库这三部分统称为JDK(Java Development Kit),JDK是用于支持Java程序开发的最小环境(在某种程度上可代替Java体系结构)。
Java程序运行的标准环境为JRE(Java Runtime Environment),其包括Java API类库中的Java SE API子集和Java虚拟机。
技术所服务的领域
- Java Card---小内存设备
- Java ME---移动终端
- Java SE---桌面级应用
- Java EE---企业应用
Java发展史
- Java前身:Oak
- Java生日:1995年5月23日
- ……
Java的成长过程,也是Java功能增强的过程。
Java虚拟机发展史
- Sun Classic/Exact VM
- Sun HotSpot VM(目前使用最广泛的Java虚拟机)
- ……
展望Java技术的未来
- 模块化,个人理解:可拔插,功能分块。
- 混合语言,支持其它运行在Java虚拟机之上的语言,如Scala(现在巨火的Spark框架就是使用Scala语言)。
- 多核并行,利用多个CPU核心提供的计算资源来协作完成一个复杂的计算任务。JDK之外的并行计算框架,如MapReduce。
- 进一步丰富语法。
- 64位虚拟机,主流CPU已经支持64位架构,Java虚拟机也有相应的64位版本,但是需要付出额外的代价:1、内存(耗得更多,多百分之十到百分之三十),2、运行速度各项标准落后32位大约百分之十五。优点:内存需要超过4GB。
参考资料
书名: 深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)
作者:周志明