《深入理解Java虚拟机》阅读笔记

该书共分五部分:

第一部分  走近Java

第二部分  自动内存管理机制

第三部分  虚拟机执行子系统

第四部分  程序编译与代码优化

第五部分  高效并发

首先来聊聊第一部分,这部分主要针对Java的一些介绍,直接略过1.1概述。

1.2技术体系分为四个平台,分别为:

Java Card:支持一些Java小程序(Applets)运行在小内存设备(如智能卡)上的平台。

Java ME(Micro Edition):支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,这个版本以前被称为J2ME(手机可以忽略。。。)

Java SE(Standard Edition):支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,这个版本以前称为J2SE。(Java的桌面应用少的可怜,成功的更寥寥无几)

Java EE(Enterprise Edition):支持使用多层架构的企业应用(如ERP、CRM应用)的Java平台,除了提供Java SE API外,还对其做了大量的扩充并提供了相关的部署支持,这个版本以前称为J2EE。

1.3Java发展史也直接略过,只要知道Java前身为Oak(橡果),在1991年启动,在1995年正式发布Java 1.0就OK了。 

1.4展望Java技术的未来

这部分分为模块化、混合语言、多核并行、丰富语法、64位虚拟机。

模块化这个是目前的Oracle打算做的事情,打算在jdk1.9的时候实现吧。

混合语言很好理解,目前的应用软件早已不是一个语言打天下的时代了,就说JVM上跑的语言就已经蛮多了,如Groovy、Clojure等,还有更多其他语言的JVM移植版本。各个语言都有它自己的特性,毕竟没有最好只有最合适嘛,所以混合语言也是能够理解的。

现在的CPU发展方向就是多核,所以软件开发也需要跟进时代,JDK1.5就已经引入java.util.concurrent包实现了粗粒度的并发框架,实现了Collection对数据的并发支持,而JDK1.7加入了java.util.concurrent.forkjoin包作为这个框架的重要补充(作者出书时间可能比较早,不过这个forkjoin貌似反响不是很好)。

丰富语法中体积JDK1.5对Java进行了一次扩充,加入了自动封箱、泛型、动态注解、枚举、可变长参数、遍历循环等语法特性,使得Java语言的准确性和易用性有了很大的进步。Lambda表达式应该是在1.8的时候加入的新特性……

64位虚拟机,只想说目前大部分的企业应用还是以32位JVM集群为主。

1.5  实战:自己编译JDK

这个虽然很想,但是精力有限,还是把专业的事情交给专业的人去操作吧,我还是会用就好。

不过还是提下,OpenJDK都开源,http://openjdk.java.net/可以找到源码下载。

至此,第一部分读完,都是概念性的东西,继续转战第二部分。



你可能感兴趣的:(《深入理解Java虚拟机》阅读笔记)