当前位置: 移动技术网 > IT编程>开发语言>Java > 初识JVM

初识JVM

2019年05月19日  | 移动技术网IT编程  | 我要评论

jvm概念

  jvm是java virtual machine的简称。意为java虚拟机。

java和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为hotspot
hotspot 为longview technologies开发 被sun收购
2006年 java开源 并建立openjdk

    • hotspot 成为sun jdk和openjdk中所带的虚拟机

2008 年 oracle收购bea

    • 得到jrockit vm

2010年oracle 收购 sun

    • 得到hotspot

oracle宣布在jdk8时整合jrockit和hotspot,优势互补

    • 在hotspot基础上,移植jrockit优秀特性

jvm规范

  

  java语言和jvm相对独立

  jvm主要定义二进制class文件和jvm指令集等

  • class文件类型
  • 运行时数据
  • 帧栈
  • 虚拟机的启动
  • 虚拟机的指令集

   vm指令集

类型转化
  l2i
出栈入栈操作
  aload astore
运算
  iadd isub
流程控制
  ifeq ifne
函数调用
  invokevirtual invokeinterface invokespecial invokestatic

 

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网