JDK、JRE 和 JVM 的区别
JDK
JDK 是 Java Development Kit 的缩写,JDK 是 Java 语言的软件开发工具包( SDK )。它提供了Java 开发、编译、运行需要的文件和环境。
如果你是 Java 开发人员或程序员,那么必须安装 JDK。
在 JDK 的安装目录下有一个 JRE 目录,里面有两个文件夹 bin 和 lib ,在这里可以认为 bin 里的就是 JVM,lib 中则是 Jvm 工作所需要的类库,而 JVM 和 lib 合起来就称为 JRE。
Sun 公司和 Oracle 公司 JDK 发行版本如下:
| 版本 | 名称 | 发行日期 |
|---|---|---|
| JDK 1.0 | Oak(橡树) | 1996-01-23 |
| JDK 1.1 | 1997-02-19 | |
| JDK 1.1.4 | Sparkler(宝石) | 1997-09-12 |
| JDK 1.1.5 | Pumpkin(南瓜) | 1997-12-13 |
| JDK 1.1.6 | Abigail(阿比盖尔–女子名) | 1998-04-24 |
| JDK 1.1.7 | Brutus(布鲁图–古罗马政治家和将军) | 1998-09-28 |
| JDK 1.1.8 | Chelsea(切尔西–城市名) | 1999-04-08 |
| J2SE 1.2 | Playground(运动场) | 1998-12-04 |
| J2SE 1.2.1 | none(无) | 1999-03-30 |
| J2SE 1.2.2 | Cricket(蟋蟀) | 1999-07-08 |
| J2SE 1.3 | Kestrel(美洲红隼) | 2000-05-08 |
| J2SE 1.3.1 | Ladybird(瓢虫) | 2001-05-17 |
| J2SE 1.4.0 | Merlin(灰背隼) | 2002-02-13 |
| J2SE 1.4.1 | grasshopper(蚱蜢) | 2002-09-16 |
| J2SE 1.4.2 | Mantis(螳螂) | 2003-06-26 |
| Java SE 5.0 (1.5.0) | Tiger(老虎) | 2004-09-30 |
| Java SE 6.0 (1.6.0) | Mustang(野马) | 2006-04 |
| Java SE 7.0 (1.7.0) | Dolphin(海豚) | 2011-07-28 |
| Java SE 8.0 (1.8.0) | Spider(蜘蛛) | 2014-03-18 |
| Java SE 9.0 | 2017-09-21 | |
| Java SE 10.0 | 2018-03-21 | |
| Java SE 11.0 | 2018-09-25 | |
| Java SE 12.0 | 2019-03-19 | |
| Java SE 13.0 | 2019-09-17 | |
| Java SE 14.0 | 2020-03-17 |
推荐用 JDK8 版本
JRE
JRE 是 Java Runtime Environment 的缩写,JRE 的内部有一个 Java虚拟机(Java Virtual Machine)以及一些标准的类别函数库(Class Library),JRE 是运行 Java 字节码文件必备的工具。
如果你不是 Java 开发人员或程序员,那么只需要在电脑上安装 JRE 就可以直接运行 Java 程序了。
JVM
JVM 是 Java Virtual Machine 的缩写,JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
无论你安装的是 JDK 还是 JRE,它们都包含 JVM,所以无需专门安装 JVM。
JVM 有针对不同平台的版本,它们可以运行相同的 Java 代码(.java文件)编译的字节码文件(.class文件),这使得 Java 代码实现的跨平台。
JDK、JRE 和 JVM 的区别的更多相关文章
- Java学习2 - JDK和JRE和JVM的区别_JDK的下载安装_环境变量配置
一 JDK和JRE和JVM的区别 Jdk: Java Development kit - Java 开发工具 JRE: Java Runtime Environment - java运行环境 JVM: ...
- jdk、jre与jvm的区别与联系
为了学习数据库,重装了系统,之前前一直在用eclipse,现在准备换成myeclipse,这之前当然需要重新设置环境变量,顺手写下有关jdk.jre与jvm的区别与联系以供交流参考. 首先来说一下JD ...
- Java虚拟机(JVM),JDK,JRE和JVM的区别——通过示例学习Java编程(2)
Java虚拟机(JVM),JDK,JRE和JVM的区别 作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid ...
- JDK、JRE和JVM的区别与相互之间的联系
工作这么久,好多时间都在研究一些并发.多线程.分布式.框架等这些东西,但是前几天突然被人问到jdk.jre.jvm的区别与联系,瞬间觉得一脸懵逼,感觉还是有必要重新整理一下一些比较基本的java知识了 ...
- JRE和JVM的区别
JRE和JVM的区别 JRE(JavaRuntimeEnvironment,Java运行环境),也就是Java平台.所有的Java程序都要在JRE下才能运行.JDK的工具也是Java程序, ...
- Difference between JDK, JRE and JVM
With Java programming language, the three terms i.e. JDK, JRE and JVM will always be there to unders ...
- Java基础-JDK、JRE与JVM的区别
JRE与JVM.JDK的区别 从下而上:最上层 JDK -- java development kit (java开发工具包)中间层 JRE -- java runtime enviro ...
- java基础---JDK、JRE、JVM的区别和联系
当我们学习java语言时,首先需要安装到我们电脑上的就是jdk.jdk是java语言的开发环境,只有安装了jdk,我们才能使用java语言开发程序. JDK=JRE+开发工具包 JRE=JVM+核心类 ...
- JDK、JRE、JVM的区别与关系
JDK JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品. JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里 ...
- java学习之Java中JDK,JRE和JVM之间的关系(转载)
最近要重新抓一下java,大量扫技术文档,保存下来供自己查阅.以下转载自http://www.cnblogs.com/xiaofeixiang/p/4085159.html 初学JAVA很容易被其中的 ...
随机推荐
- leetcode 刷题(数组篇)15题 三数之和 (双指针)
很有意思的一道题,值得好好思考,虽然难度只有Mid,但是个人觉得不比Hard简单 题目描述 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b ...
- Chrome插件开发入门
最近学习了Chrome插件的开发,总体来说上手还是很容易的,因为浏览器插件本质上依旧是网页,写几个demo基本就了解了他的开发过程. 完整项目:xmy6364/chrome-extension-get ...
- yolov2算法浅见
因为最近在复习yolo系列的算法,就借着这个机会总结一下自己对这个算法的理解,由于是第一次写算法类的博客,文中有什么错误和行文不通的地方还希望大家指正. yolov2与yolov1有很多改变. 最重要 ...
- python对BP神经网络实现
python对BP神经网络实现 一.概念理解 开始之前首先了解一下BP神经网络,BP的英文是back propagationd的意思,它是一种按误差反向传播(简称误差反传)训练的多层前馈网络,其算法称 ...
- 记canvas画笔笔迹的多次优化过程
我们的项目是面向学校老师的教学软件,所以肯定少不了互动白板的功能,而这个里面的画笔功能是由我来开发的,下面介绍这个过程中遇到的问题以及解决方法. 首先给大家明确下由于软件中的画布可以自由移动,会超出屏 ...
- Weekly Contest 139
1071. Greatest Common Divisor of Strings For strings S and T, we say "T divides S" if and ...
- 7.If语句
if单选择结构 语法: if(布尔表达式){ //如果布尔表达式为true将执行的语句 } 例: import java.util.Scanner; public class IfDemo { pub ...
- 13- APP接口测试以及postman使用
postman安装与操作 ---------------------- 接口操作图片 -------------------- 一.postman操作key值:来源于聚合 请求-->聚合-- ...
- 07- HTTP协议详解及Fiddler抓包
HTTP协议简介-超文本传输协议 HTTP协议是请求/响应协议:客户端发送请求到服务器,服务器响应该请求.当前版本为1.1版本. HTTP协议特点 1.简单快速:客户向服务器请求服务时,只需传送请求方 ...
- 【日志追踪】(微服务应用和单体应用)-logback中的MDC机制
一.MDC介绍 MDC(Mapped Diagnostic Contexts)映射诊断上下文,该特征是logback提供的一种方便在多线程条件下的记录日志的功能, 某些应用程序采用多线程的方式来处理多 ...