java_3:JVM、JRE、JDK区别和联系
首先 三者之间存在包含关系
JVM + 核心类库 = JRE
JRE + java开发工具(javac.exe/jar.exe) = JDK
什么是JVM?
我们知道Java语言有一个独特的优点就是可以跨平台
像其它语言,比如C,我们要针对不同操作系统windos,mac……各出一套应用程序
而Java则可以做到一个软件在任何的操作系统中都能执行,这就是JVM的功劳
如下图所示:

本来我们编写的Java代码计算机还是不认识的,但是我们在每一个操作系统上都会配置一个与之相对应的JVM,会帮我们把我们的Java代码翻译成对应操作系统可以识别的内容。
所以说我们在第一次写Java程序时都要先把JVM给装好。
什么是JRE?
Java Runtime Environment 即Java运行环境
JVM + 核心类库 = JRE
刚才不是说只需要装JVM吗?那这个JRE是个什么鬼东西?
是因为只有JVM不能运行,它还需要核心类库,才能保证Java运行
由于JRE包含JVM 因此我们只要直接安装JRE 就顺便把JVM安装了

什么是JDK?
Java Development Kit 即Java开发工具包
JRE + java开发工具(javac.exe/jar.exe) = JDK
前面不是说安装了JRE以后,Java程序就可以运行了吗?那为啥子还要安装这个JDK?
这是因为我们是开发人员,我们是写软件的,软件光能运行不行啊,得给我们一个地方让我们来写代码吧?所以就需要java开发工具给我们腾出一个地儿来,好让我们coding
由于JDK包含JRE 因此我们只需要安装JDK就都有了

java_3:JVM、JRE、JDK区别和联系的更多相关文章
- JVM, JRE,JDK 的区别
在网上看到一篇讲解jvm,jre,jdk区别的文章,感觉不错,就收藏到自己的博客了. 1.JVM -- java virtual machine JVM就是我们常说的java虚拟机,它是整个java实 ...
- JVM JRE JDK三者的区别和联系
一. 详细介绍1.JVM -- java virtual machineJVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.class的类 ...
- 辨析ADK&JVM&JRE&JDK&ADT
一.SDK 英文全称:Software Development Kit 中文译名:软件开发工具包 详解: 由第三方服务商提供的实现软件产品某项功能的工具包. 为了扩展软件功能或其它方面而设计出来给开发 ...
- java JVM JRE JDK三者之间的关系
JDK在包含JRE之外,提供了开发Java应用的各种工具,比如编译器和调试器. JRE包括JVM和JAVA核心类库和支持文件,是Java的运行平台. JVM是JRE的一部分,Java虚拟机的主要工作是 ...
- java jvm jre jdk三者的关系
jvm:java虚拟机器(跨平台的关键) jre:java运行环境 jdk:java 开发工具包(kit) jdk>jre>jvm 环境变量配置 https://www.cnblogs.c ...
- JVM,JRE,JDK
JVM (Java Virtual Machine) : Java虚拟机,运行所有Java程序的假象计算机,是Java程序的运行环境,跨平台性由JVM实现. JRE (Java Runtime Env ...
- 一图看懂JVM,JRE,JDK的关系
- POPTEST老李谈JVM、JRE、JDK、java ee sdk with jdk区别
POPTEST老李谈JVM.JRE.JDK.java ee sdk with jdk区别 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等 ...
- JRE与JVM、JDK的区别
JRE与JVM.JDK的区别 一. 详细介绍1.JVM -- java virtual machine JVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程 ...
- Java的一些常见问题,JRE,JDK,JVM,包等概念理解
Java常见错误: 文件名字应该与文件中public类的名字相同 public static void main(String[] args); 如何定位错误和解决错误. JVM,JRE,JDK解释和 ...
随机推荐
- pwnable.kr-random-Writeup
MarkdownPad Document *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...
- 《爬虫学习》(一)(HTTP协议)
Http请求: 1.在浏览器中发送一个http请求的过程: 2.url详解: URL是Uniform Resource Locator的简写,统一资源定位符. 一个URL由以下几部分组成 scheme ...
- LR编写webservice协议接口
转自:http://lovesoo.org/use-loadrunner-call-webservice-interface-testing-optimization-summary.html 本文主 ...
- redis持久化2
编程迷思 博客园 首页 联系 订阅 管理 随笔 - 11 文章 - 0 评论 - 318 深入学习Redis(2):持久化 前言 在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次 ...
- 本机修改虚拟机linux中的代码文件
最近在研究swoole这个框架,好不容易装了一个swoole,为了开发方面,需要早宿主机和虚拟机之间文件共享,一开始使用vmware tool可以实现共享,但是只能在linux中看到win共享的文件, ...
- JAVA基础学习(2)之判断
2判断 2.1比较 2.1.1比较 System.out.println(amount>=10);输出的值为true或false 2.1.2关系运算 优先级 <算术运算 >赋值运算 ...
- python基础(一)--python介绍
1. Python语言 1.1 编程语言 语言是人类最重要的交际工具,是人类之间进行信息交换的主要表达方式. 编程语言是用来定义计算机程序的语言,用来向计算机发出指令. 1.2 Python语言 Py ...
- openfire 安装配置时出现The Openfire database schema does not appear to be installed. Follow the installati错误的解决方案
最近再弄openfire用openLDAP整合,本来没整合的时候选的标准数据库没问题,但是现在用嵌入式数据库,就报错了,,, 报错原因:没有导入openfire的数据表 解放办法: 1.登陆数据库 , ...
- Java 数据脱敏 工具类
一.项目导入Apache的commons的Jar包. Jar包Maven下载地址:https://mvnrepository.com/artifact/org.apache.commons/commo ...
- 虚拟交换系统-VSS
1.虚拟交换系统VSS技术概述 VSS的特点: VSS将两台Catalyst 6500/4500系列交换机组合为单一虚拟交换机,对外来看,只有一台交换机,管理冗余链路如同管理自己的一个单一接口. VS ...