一、三者的基本概念:

  1. JRE(Java Development Kit):Java的运行环境;
  2. JDK(Java Runtime Enviroment):Java开发工具包;
  3. JVM(Java Virtual Machine):Java虚拟机。

二、三者的区别:

  1、JDK是面向开发者的,JRE是面向使用JAVA程序的用户;

  2、安装JDK之后会生成两套JRE,一套在外面,一套在JDK里面。如果只是Java的使用者,那么只会有最外层的那个JRE目录,JDK中是自带JRE。

  3、两套JRE,使用的时候到底使用哪一个,当JDK中java.exe先从自身目录中找,然后再去父级目录找,如果没有就去注册表中找。指定JRE时可以指定单独的JRE,也可以指定JDK。

  4、JVM不能单独执行class文件,解释class的时候,JVM需要调用解释需要的类库lib。在JDK的JRE目录中有两个文件夹bin和lib,当且认为bin里就是jvm,lib中则是jvm工作所需要的类库,而jvm和lib和起来就称为jre(jvm + lib = JRE)。

  待续。。。

转载于:https://www.cnblogs.com/guojuncheng/p/7520979.html

Java中JRE、JDK和JVM的区别相关推荐

  1. Java中synchronized和volatile有什么区别?

    Java中synchronized和volatile有什么区别? 相关内容 synchronized的问题 什么叫做不完整对象,这个怎么理解呢? 总结 ) 相关内容 1.Java语言为了解决并发编程中 ...

  2. Java中JRE指什么呢?

    转自: Java中JRE指什么呢? 下文笔者讲述java中JRE的简介说明,如下所示: JRE简介 JRE(Java Runtime Environment,Java运行环境) 包含JVM标准实现及J ...

  3. java的 x跟x_关于语法:java中的x ++和++ x有区别吗?

    java中的++ x和x ++有区别吗? 提示大量相同的答案...... ...并提出第一个完全相同的答案... 最快的去战利品,按最旧排序,点击upvote.ohowoho. 我确信我有它! 无论如 ...

  4. Java中实现接口与继承的区别

    ** Java中实现接口与继承的区别 ** 首先,先来了解一下什么是接口和继承.接口一般是使用interface来定义的.接口定义同类的定义类似,分为接口的声明和接口体,其中接口体由常量定义和方法定义 ...

  5. Java中PreparedStatement和Statement的用法区别

    Java中PreparedStatement和Statement的用法区别 (2012-08-01 11:06:44) 转载▼ 标签: 杂谈   1. PreparedStatement接口继承Sta ...

  6. Java中long和Long有什么区别

    Java中long和Long有什么区别(转) Java的数据类型分两种: 1.基本类型:long,int,byte,float,double,char 2. 对象类型(类): Long,Integer ...

  7. java中的sleep()和wait()的区别

    对于sleep()方法,我们首先要知道该方法是属于Thread类中的.而wait()方法,则是属于Object类中的. sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监 ...

  8. Java中活锁和死锁有什么区别?

    Java中活锁和死锁有什么区别? 活锁:一个线程通常会有会响应其他线程的活动.如果其他线程也会响应另一个线程的活动,那么就有可能发生活锁.同死锁一样,发生活锁的线程无法继续执行.然而线程并没有阻塞-- ...

  9. Java中wait和sleep方法的区别

    1.两者的区别 这两个方法来自不同的类分别是Thread和Object 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁). wait ...

  10. java comparator相等_详解Java中Comparable和Comparator接口的区别

    详解Java中Comparable和Comparator接口的区别 发布于 2020-7-20| 复制链接 摘记: 详解Java中Comparable和Comparator接口的区别本文要来详细分析一 ...

最新文章

  1. [ CCO 2015 ] Artskjid
  2. 【Visual Studio 2019】上传代码到 GitHub ( 16.9.2 版本 | 安装 GitHub 扩展插件 | 创建 Git 仓库 | 推送到远程仓库 )
  3. 添加chorme插件时出现“程序包无效”
  4. OpenCV图像颜色模型转换:cvtColor函数的使用
  5. Emmet使用-----HTML
  6. SqlServer 利用游标批量更新数据
  7. Java IO之File类详解
  8. C++是一款设计非常失败的语言吗?
  9. 反击ARP欺骗 我和网络执法官的战斗
  10. Java中String, StringBuilder和StringBuffer
  11. FC冒险岛java版_FC冒险岛全关卡版
  12. 镁光闪存颗粒对照表_最全的内存颗粒编码规则说明,教你看穿内存条到底用的什么颗粒...
  13. 利用android实现汇率计算器,利用python编写一个汇率计算器
  14. 60 个让程序员崩溃的瞬间,哈哈哈哈哈哈哈哈哈
  15. JavaScript时间日期
  16. 文本框输入关键字提示
  17. 1分钟让别人喜欢你(二)
  18. python脚本执行CMD命令并返回结果
  19. Python sublime 中文的问题汇总【收藏】
  20. 谷歌紧急修复今年已遭利用的第9个0day

热门文章

  1. C# Winform程序中使用TeeChart实现简单的图表展示
  2. SpringBoot+Thymeleaf+Jquery实现模态框的显示与数据填充
  3. spring系列-注解驱动原理及源码-AOP使用及源码解析
  4. 售前笔记(四)——呈现沟通(PPT交流)
  5. 需求文档可以不签字吗之三-一个实例
  6. 数据库之关系模型的组成,特点以及完整性约束
  7. 3 Curator框架实现分布式锁
  8. PPT 下载 | 神策数据曹犟:数据驱动从方法到实践
  9. cxRichEdit1获取EXCEL的区域图片
  10. SpringBoot集成Mybatis(0配置注解版)