JDK(Java Development Kit)是用于支持Java程序开发的最小环境。由Java语言、Java虚拟机、Java API类库三个部分组成。
JRE(Java Runtime Environment)是支持Java程序运行的标准环境。由Java SE API和Java虚拟机两部分组成。
JDK中包含JRE。

Java发展简史

1991年4月,Java之父James Gosling领导开发了Oak(橡树)语言(Java语言前身)。
1995年5月23日,Oak语言改名Java,并发布Java 1.0版本,并提出“Write Once, Run Anywhere”的口号。(Java语言诞生)
1996年1月23日,JDK 1.0发布,Java语言有了第一个正式版本的运行环境。 第一个Java虚拟机(Sun Classic VM)登上历史舞台。(JDK发布,JVM登上历史舞台
1998年12月4日,JDK 1.2发布,Java技术体系拆分成三个方向:J2SE、J2EE、J2ME。JIT(Just In Time)编译器第一次内置于Java虚拟机中。
1999年4月27日,HotSpot虚拟机发布,该虚拟机后来成为JDK 1.3及之后所有版本的默认虚拟机。
2002年2月13日,JDK 1.4发布,Java 1.4是真正走向成熟的一个版本。该版本不仅有很多著名公司参与,也发布许多新特性。如正则表达式、异常链、NIO、日志类等。
2004年9月30日,JDK 1.5在Java语法易用性上作出很大改进。自动装箱、泛型、注解、枚举、可变长参数等语法特性加入。在虚拟机层面,改进了Java 内存模型,提供java.util.concurrent并发包。
2006年12月11日,JDK 1.6发布,启用Java SE、Java EE、Java ME的命名方式。Java虚拟机内部做了大量改进,包括锁与同步、垃圾收集、类加载等算法进行优化。
2006年11月13日,Sun公司宣布Java开源。在JDk 1.7中,Sun JDK和Open JDK除了代码文件头等版权注释之外,代码基本完全一样。(Java开源
2011年7月28日,JDK 1.7发布,因Sun公司破产,导致很多里程碑未实现。Oracle接手后,在Update 4提供对Mac OS X操作系统的支持,并在Update 6达到完全支持。同时,对ARM指令集架构也提供支持。
2014年3月18日,Oracle 公司发布JDK 1.8。该版本支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的 Stream API 等。
2017年9月22日,JDK 1.9 发布。其最主要的变化是已经实现的模块化系统(Jigsaw 项目)。
2018年3月21日,JDK 1.10发布。为了更快地迭代、更好地跟进社区反馈,Java 语言版本发布周期调整为每隔 6 个月发布一次。Java 10 最备受广大开发者关注的莫过于局部变量类型推断。其他还包括垃圾收集器改善、性能提升、线程管控等新特性。
2018年9月25日,JDK 1.11发布。按照官方介绍,新的版本发布周期将会严格按照时间节点,于每年的 3 月和 9 月发布,Java 11 发布的时间节点也正好处于 Java 8 免费更新到期的前夕。与 Java 9 和 Java 10 这两个被称为"功能性的版本"不同,Java 11 仅将提供长期支持服务(LTS, Long-Term-Support),还将作为 Java 平台的默认支持版本,并且会提供技术支持直至 2023 年 9 月,对应的补丁和安全警告等支持将持续至 2026 年。(不再免费
2019年3月19日,JDK 1.12发布。该版本新特性有:实验性的低延迟垃圾收集器; Switch 表达式; 针对G1,提供可中止的混合垃圾收集和及时释放已申请但未使用的内存。
更多参考

JVM虚拟机发展史

Sun Classic/Exact VM

Classic VM是Java语言首次使用的商用正式运行环境。纯解释执行。在JDK 1.3前,是默认的虚拟机。
为解决Classic VM面临的各种问题,提高运行效率,发布Exact VM。因和HotSpot VM发布时间接近,很快被取代。

Sun HotSpot VM

JDK 1.3后默认的虚拟机,目前使用最广泛的Java虚拟机。

Sun MObile-Embedded VM/ Meta-Circular VM

BEA JRockit / IBM J9 VM

Apache Harmony/ Google Android Dalvik VM

Microsoft JVM

Java 虚拟机简介相关推荐

  1. ibm java_IBM i 上Java 虚拟机简介

    Abstract IBM i 上Java 虚拟机简介 Body Java在IT业界有多流行?google上搜索一下java, 结果一目了然(今天早上我搜索到的记录数是840000000条).Java之 ...

  2. 【Java 虚拟机原理】Dalvik 虚拟机 ( 简介 | CPU 指令集 | Dalvik 虚拟机内存 )

    文章目录 一.Dalvik 虚拟机简介 二.CPU 指令集 三.Dalvik 虚拟机内存 一.Dalvik 虚拟机简介 Android 5.05.05.0 之前使用的是 Dalvik 虚拟机 , 5. ...

  3. Java虚拟机JVM简介与理解(三)

    Java虚拟机JVM简介与理解(三) 问题背景 PC程序计数器 虚拟机栈 本地方法栈 堆 元空间 方法区 运行时常量池 直接内存 Lyric: 彻底把我囚禁在你的呼吸 问题背景 Java虚拟机JVM简 ...

  4. Java 虚拟机之HotSpot简介

    1. HotSpot 简介 Java是解释语言,但并不意味着它一定被解释执行.早期的虚拟机确实一条一条指令解释执行,但人们发现这样效率太低,不满足各种要求,因此出现了许多其它虚拟机,如JIT的虚拟机. ...

  5. Java虚拟机JVM简介与理解(一)

    Java虚拟机JVM简介与理解(一) 问题背景 JVM(Java Virtual Machine) Java虚拟机JVM简介与理解(二) Lyric: 擦干是否就看不见你 问题背景 Java虚拟机JV ...

  6. Java虚拟机规范阅读(二)IEEE754简介以及Java虚拟机中的浮点算法

    什么是浮点数 在计算机系统的发展过程中,曾经提出过多种方法表达实数.典型的比如相对于浮点数的定点数(Fixed Point Number).在这种表达方式中,小数点固定的位于实数所有数字中间的某个位置 ...

  7. 【Groovy】Groovy 语言特点简介 ( 支持 Java 语法 | 支持 Java 虚拟机 | Groovy 语言是动态语言 | Groovy 扩展 JDK | 编译时元编程 )

    文章目录 一.Groovy 支持 Java 语法 二.Groovy 支持 Java 虚拟机 三.Groovy 语言是 动态语言 四.Groovy 扩展 JDK 五.Groovy 编译时元编程 一.Gr ...

  8. Java虚拟机(JVM)简介

    什么是JVM Java虚拟机(JVM)是使计算机能够运行Java程序的抽象计算机. JVM有三个概念: 1.规格 2.实施 3.实例. 该规范是正式描述JVM实现要求的文档. 具有单一规范可确保所有实 ...

  9. Java虚拟机-垃圾回收简介

    一.如何判定对象为垃圾对象 -verbose:gc 打印垃圾回收简单信息参数 -xx:+PringDCDetail 打印垃圾回收的详细信息 引用计数法 引用计数算法很简单,它实际上是通过在对象头中分配 ...

  10. Java虚拟机(JVM)概念简介

    虚拟机概述 所谓虚拟机(Virtual Machine)就是一台虚拟的计算机,它是一款软件,用来执行一系列虚拟计算机指令.大体上,虚拟机可以分为系统虚拟机和程序虚拟机. 比较出名的系统虚拟机有Visu ...

最新文章

  1. C语言内存管理内幕(二)----半自动内存管理策略
  2. jvm性能调优实战 - 24模拟因动态年龄判断对象进入老年代的场景
  3. 使用Windows software center进行在线更新的后台进程SCClient.exe
  4. 基于IdentityServer4的OIDC实现单点登录(SSO)原理简析
  5. 《ASP.NET Core 微服务实战》-- 读书笔记(第5章)
  6. html 去除max-height,HTML Style maxHeight用法及代码示例
  7. 第五课 机器学习中的特征工程
  8. 工厂电子产品工艺文件_建智能工厂,人机如何达到最佳组合?
  9. 二十年前的电脑配置单,大家见过吗?
  10. cocos js 3.8.1 clippingNode 不能被 ccui.ScrollView 或者ccui.Layout裁剪的bug
  11. jquery遍历元素对象each方法
  12. mysql数据库中eof_数据库eof
  13. java有有哪些锁_java编程中锁状态的分类都有哪些
  14. SQL之CASE WHEN用法详解
  15. 嘴里又苦又干,还有异味
  16. 关于dll加载失败原因总结
  17. Code.V光学设计学习(三)——公差分析
  18. web开发需要用什么软件
  19. An adaptive gamma correction for image enhancement 低照度图像自适应gamma矫正
  20. 分享三个前端学习方法和十项前端面试笔记:为想去的公司努力一把

热门文章

  1. 自动驾驶1-6: 推动决策和行动Driving Decisions and Actions
  2. 翻译:您在Swift 5中的第一个UITest
  3. 极客大学架构师训练营 系统架构 分布式缓存 一致性哈希 Hash 第9课 听课总结
  4. 计算机机房建设公司 武汉,武汉信息化机房建设企业
  5. mysql 密码过期解决图例_MYSQL 密码过期解决办法
  6. Model Representation--machine learning
  7. matlab如何获得数组有多少数,请问MATLAB里有得到一个数组中相同数有多少个的函数么?...
  8. 找工作知识储备(3)---从头说12种排序算法:原理、图解、动画视频演示、代码以及笔试面试题目中的应用
  9. 最大似然估计MLE和最大后验概率MAP
  10. 快速突破面试算法(内含从简到难的高频题型目录及每题的详解,已经归类整理好并外带博主的免费答疑)