Java技术体系

Java程序设计语言、Java虚拟机、Java API类库统称为JDK 
Java API类库中Java SE API子集和Java虚拟机统称为JRE

Java发展史

1991年4月 Java语言的前身-Oak语言启动 
1995年5月 Oak改名为Java并发布1.0版本 Write Once,Run Anywhere 
1996年1月 JDK 1.0版本发布 提供的Java虚拟机实现(Sun Classic VM) 、Applet、AWT 
1997年2月 JDK 1.1版本发布 提供了JAR文件格式、JDBC、JavaBeans、RMI 
1998年12月 JDK1.2版本发布 Java拆分如下三个方向,虚拟机添加HotSpot VMExact VM 
Java ME 支持Java程序运行在移动终端的平台 
Java SE 支持面向桌面级应用的Java平台 
Java EE 支持使用多层架构的企业应用的Java平台
 
2000年5月 JDK 1.3版本发布 默认虚拟机改为HotSpot VM 
2002年2月 JDK 1.4版本发布 提供正则表达式、异常链、NIO、XML解析器和XSLT转换器等 
2004年9月 JDK 1.5版本发布 提供了自动拆箱、泛型、动态注解、枚举、可变长参数、遍历循环(foreach)等语法特性,提供了java.util.concurrent并发包等,改进了Java内存模型 
2006年12月 JDK 1.6版本发布 提供动态语言支持、提供编译API和微型HTTP服务器API等,对Java虚拟机内部做了大量改进 
2009年2月 JDK 1.7版本发布 提供新的G1收集器、加强对非Java语言调用支持、升级类加载架构 
2009年4月 Oracle公司宣布以74亿美元收购Sun公司

Java虚拟机发展史

Sun Classic / Exact VM
  • Sun Classic 是世界第一款商用Java虚拟机,这款虚拟机只能以纯解释器方式执行代码,不能与编译器配合工作,因此执行效率与传统C/C++程序有很大差距;
  • 为了提升Classic VM的运行效率,在JDK 1.2版本时Sun发布了Exact VM虚拟机,具备两级即使编译器、编译器与解释器混合工作模式以及准确式内存管理。虽然Exact VM比CLassic VM先进不少,但是它只存在了很短的时间就被HotSpot VM取代
Sun HotSpot VM

HotSpot VM是Sun在1997年收购Longview Technologies公司从而获得的,它既继承了Sun之前两款虚拟机的优点,也有许多自己新的优势,比如热点代码探测技术。

BEA JRockit / IBM J9 VM
  • JRockit VM曾号称“世界上速度最快的Java虚拟机”,BEA将其发展为专门为服务器硬件和服务端应用场景高度优化的虚拟机,不太关注程序启动速度,不包含解析器实现。
  • J9 VM是由IBM Ottawa实验室一个名为SmallTalk的虚拟机扩展而来,是一款设计上从服务器端到桌面应用再到嵌入式都全面考虑的多用途虚拟机
Azul VM / BEA Liquid VM
  • Azul VM是Auzl Systems公司在HotSpot基础上大量改进,运行于专有硬件Vega系统上的Java虚拟机
  • Liquid VM即是现在的JRockit VE,是BEA开发运行在自家Hypervisor系统上的JRockit VM的虚拟化版本
其它VM

深入理解java虚拟机一之走进Java的更多相关文章

  1. 深入理解java虚拟机-第二章:java内存区域与内存泄露异常

    2.1概述: java将内存的管理(主要是回收工作),交由jvm管理,确实很省事,但是一点jvm因内存出现问题,排查起来将会很困难,为了能够成为独当一面的大牛呢,自然要了解vm是怎么去使用内存的. 2 ...

  2. Java程序猿从笨鸟到菜鸟之(九十二)深入java虚拟机(一)——java虚拟机底层结构具体解释

    本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 在曾经的博客里面,我们介绍了在java领域中大部分的知识点,从最基础的java最基本的语法 ...

  3. 【深入Java虚拟机】之一:Java内存模型与内存溢出

    [深入Java虚拟机]之:Java内存区域与内存溢出 高速缓存模型如下: ----------------------------------------------------分割线-------- ...

  4. 【深入Java虚拟机】之一:Java内存模型

    [深入Java虚拟机]之:Java内存区域与内存溢出 内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域.Java虚拟机规范将JVM所管理的内存分为以下几个 ...

  5. java虚拟机jvm启动后java代码层面发生了什么?

    java虚拟机jvm启动后java代码层面发生了什么? 0000 我想验证的事情 java代码在被编译后可以被jdk提供的java命令进行加载和运行, 在我们的程序被运行起来的时候,都发生了什么事情, ...

  6. 【java虚拟机系列】从java虚拟机字节码执行引擎的执行过程来彻底理解java的多态性

    我们知道面向对象语言的三大特点之一就是多态性,而java作为一种面向对象的语言,自然也满足多态性,我们也知道java中的多态包括重载与重写,我们也知道在C++中动态多态是通过虚函数来实现的,而虚函数是 ...

  7. 《深入理解java虚拟机》第二章 Java内存区域与内存溢出异常

    第二章 Java内存区域与内存溢出异常 2.2 运行时数据区域  

  8. 重读《深入理解Java虚拟机》二、Java如何分配和回收内存?Java垃圾收集器如何工作?

    线程私有的内存区域随用户线程的结束而回收,内存分配编译期已确定,内存分配和回收具有确定性.共享线程随虚拟机的启动.结束而建立和销毁,在运行期进行动态分配.垃圾收集器主要对共享内存区域(堆和方法区)进行 ...

  9. 重读《深入理解Java虚拟机》一、Java虚拟机内存区域的划分

    一.Java虚拟机内存区域如何划分 1.Java虚拟机内存区域的划分 区域名称 作用(用途) 类型 特点 虚拟机规定异常情况 内存分配与回收 其他说明 1 程序计数器 指示当前正在执行的字节码指令地址 ...

随机推荐

  1. !!代码:baidu地图

    http://map.baidu.com/mobile/  手机开发时,嵌入地图可以嵌入这个网址!! http://developer.baidu.com/map/lbs-cloud.htm 百度地图 ...

  2. leetcode94

    class Solution { public: vector<int> V; void inOrder(TreeNode* node) { if (node != NULL) { if ...

  3. centos安装tree命令

    centos安装tree命令 sudo yum -y install tree windows安装tree命令 我的另一篇

  4. Python3 复制和深浅copy

    赋值: 列表的赋值: list1 = ['peter','sam'] list2 = list1 print(list1,id(list1)) print(list2,id(list2)) list1 ...

  5. MySQL二进制日志(binary log)总结

    本文出处:http://www.cnblogs.com/wy123/p/7182356.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...

  6. Hibernate 再接触 悲观锁和乐观锁

    为什么取1248 二进制 CRUD 移位效率高 在并发和效率选择一个平衡点 一般不会考虑幻读 因为我们不会再一个事务里查询两次,(只能设置为seralizable) 悲观锁和乐观锁的前提是read-u ...

  7. python 读取excel数据

    import xlrd book = xlrd.open_workbook(file_path)#打开文件 sheet = book.sheet_by_index(0) #获取第一个工作簿 print ...

  8. uvm_pre_do

    https://blog.csdn.net/tingtang13/article/details/46535649 1.uvm_do 封装了一系列接口,封装越多,灵活性越差.所以增加了三个接口:pre ...

  9. android 个人使用总结

    android 中button控件去除阴影背景 style="?android:attr/borderlessButtonStyle" android  中输入账号和密码是做判断处 ...

  10. 100-days: twelve

    Title:   Mark Zuckerberg wants Facebook's to emulate China's WeChat, but can it? emulate v.效仿,模仿 As ...