Java 虚拟机读书笔记——走近 Java

第1章 走近 Java


按照Java技术关注的重点业务领域来划分,Java技术体系可以分为4个平台,分别为:


Java Card:支持一些Java小程序(Applets)运行在小内存设备(如智能卡)上的平台; Java ME(Micro Edition):支持Java程序运行在移动终端(手机、PAD)上的平台,对Java API有所精简,并加入了针对移动终端的支持,这个版本以前称为J2ME;
Java SE(Standard Edition):支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,这个版本以前称为J2SE; Java EE(Enterprise Edition):支持使用多层架构的企业应用(如ERP、CRM应用)的Java平台,除了提供Java SE API之外,还对其做了大量的扩充并提供了相关的部署支持,这个版本以前成为J2EE。


JDK 是什么?


JDK 是用于支持 Java 程序开发的最小环境。


Java 程序设计语言 Java 虚拟机 Java API类库


JRE 是什么?


JRE 是支持 Java 程序运行的标准环境。


Java SE API 子集 Java 虚拟机


JVM 是什么?


提供了字节码(.class)的运行环境支持


Java历史版本的特性?


Java Version SE 5.0


引入泛型; 增强循环,可以使用迭代方式; 自动装箱与自动拆箱; 类型安全的枚举; 可变参数; 静态引入; 元数据(注解); 引入Instrumentation。


Java Version SE 6


支持脚本语言; 引入JDBC 4.0 API; 引入Java Compiler API; 可插拔注解; 增加对Native PKI(Public Key Infrastructure)、Java GSS(Generic Security Service)、Kerberos和LDAP(Lightweight Directory Access Protocol)的支持; 继承Web Services; 做了很多优化。


Java Version SE 7


switch语句块中允许以字符串作为分支条件; 在创建泛型对象时应用类型推断; 在一个语句块中捕获多种异常; 支持动态语言;
支持try-with-resources; 引入Java NIO.2开发包; 数值类型可以用2进制字符串表示,并且可以在字符串表示中添加下划线; 钻石型语法; null值得自动处理。


Java 8


函数式接口 Lambda表达式 接口的增强


目前主流的java虚拟机有哪些?


Java SE / Java EE


Hotspot, JRockit(Oracle) J9, JikesRVM(IBM) Zulu, Zing (Azul)


Android / Android兼容系统


Dalvik / ART


研究性质的JVM


Jikes RVM Maxine VM Graal VM