Java虚拟机详解01

 

重在内容如下:

  • 发展历史,JVM的概念
  • JVM发展历史
  • JVM种类
  • Java语言专业
  • JVM规范

一、JVM的概念:

JVM:

  Java Virtual Machine,意为Java虚拟机。

虚拟机:

  指通过软件模拟的具备完整硬件系统机能的、运行在一个全然切断环境中的完整总计机序列

有哪些虚拟机:

VMWare、Virtual Box:都是使用软件模拟物理CPU的指令集

JVM:使用软件模拟Java 字节码的指令集

 

二、JVM发展历史:

1、Java发展史:

  • 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性能

    注:JDK1.2上马,称为Java 2,于是有了J2SE J2EE J2ME
的出现,同时插手Swing Collections。

  • 2000年:JDK 1.3,Hotspot 作为默认虚拟机发表

    加入JavaSound

  • 2002年:JDK 1.4【Java真正走向成熟的一个版本】,Classic
    VM退出历史舞台

    参与:Assert  正则表明式  NIO  IPV6  日志API  加密类库

  • 2004年:JDK 1.5【至关首要的本子】。即 JDK5 、J2SE 5 、Java 5

泛型

style=”line-height: 1.5; background-color: initial;”>注解

style=”line-height: 1.5; background-color: initial;”>枚举

style=”line-height: 1.5; background-color: initial;”>自动装箱

style=”line-height: 1.5; background-color: initial;”>可变长参数

style=”line-height: 1.5; background-color: initial;”>Foreach循环

  • 2006年:JDK 1.6发布,JDK6

脚本语言匡助

JDBC
4.0

style=”line-height: 1.5; background-color: initial;”>Java编译器
API

  • 2011年:JDK7发布

耽搁项目生产到JDK8

style=”line-height: 1.5; background-color: initial;”>G1(全新的GC收集器)

style=”line-height: 1.5; background-color: initial;”>动态语言增强

style=”line-height: 1.5; background-color: initial;”>64位系统中的压缩指针

NIO
2.0

  • 2014年:JDK8发布【首要的本子】

Lambda表达式

语法增强 
Java类型注脚

  • 2016年:计划宣布JDK9

    模块化

 

2、重大历史事件:

  • 运用最为广泛的JVM为HotSpot

    HotSpot 为Longview Technologies开发,被SUN收购

  • 2006年:Java开源,并建立OpenJDK

    HotSpot  成为Sun JDK和OpenJDK中所带的虚拟机

  • 2008年:Oracle收购BEA

    得到JRockit VM

  • 二零零六年12月20日:Oracle公司正规发表以74亿日元的价钱购回Sun公司。  

得到Hotspot

  • Oracle发表在JDK8时整合JRockit和Hotspot,将这两款不错的虚拟机取长补短,最终合二为一。

    在Hotspot基础上,移植JRockit出色特性

 

三、JVM种类:

1、KVM:

SUN发布

IOS Android兴起往日,广泛用于手机系统

2、CDC/CLDC HotSpot:

手机、电子书、PDA等装置上建立联合的Java编程接口

J2ME的显要组成部分

3、JRockit:

  BEA 

4、IBM J9 VM:

  IBM内部

5、Apache Harmony:

匹配于JDK 1.5和JDK 1.6的Java程序运行平台

与Oracle关系恶劣,退出JCP ,Java社区的崩溃

OpenJDK出现后,受到挑衅,二零一一年退伍

一贯不广泛商用经历

对Android的提升有积极性意义

 

四、Java语言专业:

Java语言专业重大体现在以下几点:

  • 语法
  • 变量
  • 类型
  • 文法

 

五、JVM规范:

JVM重要定义二进制class文件和JVM指令集等。

JVM语言专业重大展示在以下几点:

  • Class文件类型
  • 运作时数据
  • 帧栈
  • 虚拟机的起步
  • 虚拟机的指令集

其余,JVM需要对Java Library
提供以下帮助:(因为这多少个东西一贯不章程通过java语言本身来贯彻)

  • 反射 java.lang.reflect
  • ClassLoader
  • 初始化class和interface
  • 康宁有关 java.security
  • 多线程
  • 弱引用

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注