JVM学习
第一天 JVM简介
概述
Java不仅仅是一门编程语言,还是由一系列计算机软件和规范形成的技术体系,这个体系提供完整的用于软件开发和跨平台部署的支持环境。
Java除了是一门面向对象语言。他还摆脱了平台束缚,实现了一次编写,到处使用的理想。他还提供了一个安全的内存管理和访问机制,来避免内存泄漏。他还实现了热点代码检查和运行时编译及优化,来提高性能。=等各种优点。
Java技术体系
JDK=JRE + 开发工具集(javac等编译工具)
JRE=JVM + Java SE的标准类库
Java发展史
1990年,Jun个公司由Jams Gosling 等领导的的小组Green Team开发出的编程语言,命名Oak,后期命名Java
1995年,Sun正式发布Java和HotJava产品。
1996年1月23正式发布JDK1.0
1998年JDK1.2发布,同时发布了JSP/Servlet,EJB规范,以及将Java分成JavaEE,JavaSE,JavaME
2000年JDK1.3发布,Java HotSpot virtual Machine正式发布,成为Java默认虚拟机
2002年JDK1.4发布,classic虚拟机退出
2003年 Java平台的Scala发布,并且Groovy也加入Java
2004年JDK1.5发布,并且改名JavaSE5.0
2006年JDK6发布,并且开源了OpenJDK, HotSport成为OpenJDK默认虚拟机
2010年,Oracle收购了Sun公司,获得了Java商标和HotSport虚拟机。
2011年JKD7发布,启用了G1垃圾回收机制
2013年JDK8发布
…
JVM
(1)简介:是一台执行Java字节码的虚拟计算机,它拥有独立的运行机制,其运行的Java字节码也未必是Java语言编译成的
主要作用就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对应平台上的机器指令执行。
(2)虚拟机的架构模型
①基于栈式架构
②基于寄存器架构
JVM由于跨平台的设计,Java的指令都根据栈来设计的。
(3)JVM的生命周期
①虚拟机启动:通过类加载器创建初始类来完成
②虚拟机执行
③虚拟机退出
(4)虚拟机的发展历程
①Sun Classic VM:1996年发布的,是世界上第一款商用的Java虚拟机,内部只有解释器。
②Exact VM :在JDK1.2的时候,提供的次虚拟机,可以准确式内存管理
③HotSport:现在绝对地位。
④JRocKit:Oracle的。专注服务端应用。不关注启动速度,内部不包含解释器实现,是世界上最快的JVM
⑤J9:IMB公司的,广泛用于IBM的产品当中。
…好多虚拟机,现在市场上3大主流就是HotSport,JRocKit,J9
⑥TaobaoJVM