一、JVM概念及介绍
JVM是Java Virtual Machine的简称。意为Java虚拟机,而虚拟机是指过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统
现在主要有VMWare、Visual Box、JVM,而前两者主要是使用软件模拟物理CPU的指令集,而JVM使用软件模拟Java 字节码的指令集。而使用最为广泛的JVM为HotSpot。
JVM历史主要分为一下几个阶段:
1996年 SUN JDK 1.0 Classic VM
纯解释运行,使用外挂进行JIT
1997年 JDK1.1 发布
AWT、内部类、JDBC、RMI、反射
1998年 JDK1.2 Solaris Exact VM
JIT 解释器混合
Accurate Memory Management 精确内存管理,数据类型敏感
提升的GC性能
2000年 JDK 1.3 Hotspot 作为默认虚拟机发布
2002年 JDK 1.4 Classic VM退出历史舞台
2004年发布 JDK1.5 即 JDK5 、J2SE 5 、Java 5发布
泛型
注解
装箱
枚举
可变长的参数
Foreach循环
JDK1.6 JDK6
脚本语言支持
JDBC 4.0
Java编译器 API
2011年 JDK7发布
延误项目推出到JDK8
G1
动态语言增强
64位系统中的压缩指针
NIO 2.0
2014年 JDK8发布
Lambda表达式
语法增强 Java类型注解
2016年JDK9
模块化
二、JVM规范
Java语言规范定义了什么是Java语言,JVM主要定义二进制class文件和JVM指令集等。
JVM语言规范主要分为一下几部分:
Class文件类型
运行时数据
帧栈
虚拟机的启动
虚拟机的指令集
四、总结
简单了解JVM的基本概念及其基本原理可以在学习JVM时更加层底层理解JVM运行
JAVA程序的原理,且JVM不只是运行JAVA代码,凡是符合JVM规范的语言都可以运行在JVM上。