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

  • 2009年8月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
  • 多线程
  • 弱引用

 

相关文章