Java虚拟机札记-概述,java虚拟机札记
Java虚拟机札记-概述,java虚拟机札记
今天开始学习Java虚拟机。本文介绍Java虚拟机的基础知识。
JDK与JRE
在学习Java虚拟机之前,我们先来复习下JRE和JDK的定义。JRE,Java Runtime Environment,意为Java运行时环境,包含Java虚拟机和Java API类库。JDK,ava Development Kit ,意为Java开发工具包,包含JRE和Java工具(如编译Java程序的Javac、调试和分析的工具jconsole,jvisualvm)。如果只需要运行Java程序,只需要安装JRE就可以了,如果需要编写Java程序,则需要安装JDK。
Java发展史
1991年,Java语言的前身,Oak诞生。
1995年,Oak改名为Java。
- 第一次提出“Write Once,Run Anywhere”的口号
1996年,JDK1.0发布。
- 提供了Sun Classic VM虚拟机。
- 提供了Applet
- 提供了AWT
1997年,JDK1.1发布。
- JAR文件格式
- JDBC
- JavaBeans
- RMI
- 内部类
- 反射
1998年,JDK1.2发布。
- 将Java技术体系分为三个方向:J2SE、J2EE、J2ME。
- EJB
- Java Plug-in
- Java IDL
- Swing
- JIT
- strictfp
- 集合类
1999年,HotSpot虚拟机发布。
2000年,JDK1.3发布。
- 数学运算和Timer类库
2002年,JDK1.4发布。Java走向成熟。
- 正则表达式
- 异常链
- NIO
- 日志类
- XML解析器
2004年,JDK1.5发布。语法层面改进很大
- 语法
- 自动装箱
- 泛型
- 注解
- 枚举
- 可变长参数
- 遍历循环
- 虚拟机和API
- Java内存模型
- JUC
2006年,JDK1.6发布。
- 支持脚本语言
- 对Java虚拟机做了大量改进
2009-2011年,JDK1.7发布了9个版本。
- switch语句块中允许以字符串作为分支条件
- 泛型实例化类型自动推断
- 一个catch语句块处理多个异常
- Fork/Join框架
- 提供新的G1收集器
- 增强对非Java语言的支持调用
- 升级类加载架构
2014年,JDK1.8发布。
- Lambda表达式
- 函数式接口
- 接口的增强
Java虚拟机有哪些
Sun Classic VM,第一款商用Java虚拟机,1996年发布。
Sun HotSpot VM,Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的虚拟机。
KVM,CDC/CLDC Hotspot Implenmentation,Squawk VM,JavaInJava,Maxine VM,都是移动端虚拟机。
BEA JRockit/IBM J9 VM,其他公司的虚拟机。
Azul VM/BEA Liquid VM,特定硬件平台高性能虚拟机。
Apache Harmony/Google Android Dalvik VM。
Microsoft JVM,Windows下性能最好的虚拟机。
本文已收录于Java并发编程札记专栏。
本文内容摘录或总结自《深入理解 Java 虚拟机》。
相关文章
- 暂无相关文章
用户点评