本文是本人随便总结的==

首先大概清楚个关系:jdk 包含 jre 包含 jvm

然后来看下,当我们配置完java运行环境的时候,是不是在java默认安装文件下发现jdk和jre两个包,然后jdk包里面又有一个jre包

jdk包和jdk里面的jre包作用:

JRE 提供了 JAVA 程序运行的必要环境平台;

jdk 提供了 java 的编程环境,它包含编译调试的环境功能,包含 JRE ;

如果只安装了 jre ,那么 cmd 命令行中只能执行 java 指令,不能执行 javac ;

安装好 jdk 后才能执行 javac ,因为 jre 中不包含用于开发的编译环境;

之所以需要两套 jre ,是因为可以分担工作;当用户只需要执行 java 的程序时,那么 c:\program files\java\jre 下的 jre 就 ok !当用户是 java 程序员,需要 java 开发环境,那么开发时,系统就会优先去找“ java 、 javac ”这些命令本身的目录或者他们的父目录的 jre ;这样开发时一般运行的是 jdk 下的 jre ;而运行外部程序时,一般运行的是c:\program files\java\jre ,实现了分工,不同的 jre 负责各自范围的内容;

补充一点jdk 下的 lib 与 jre 下的 lib 有何区别?

jdk下的lib包括java开发使用的jar包,jre下的lib是运行java程序的jar包;

补充信息:

javac 可以将java源文件编译为class字节码文件
如 javac HelloWorld.java

运行javac命令后,如果成功编译没有错误的话,会出现一个HelloWorld.class的文件。

java 可以运行class字节码文件
如 java HelloWorld

注意java命令后面不要加.class

以上信息摘自百度:

https://blog.csdn.net/sjzs5590/article/details/7337404?utm_source=blogxgwz2

深入理解JDK、JRE(两套)、JVM、以及不同目录下的java.exe

https://www.cnblogs.com/xiaoneng/p/10219971.html

https://www.cnblogs.com/sylvia-liu/p/4203797.html

最新文章

  1. istringstream的操作
  2. HelloWorld!
  3. 关于面向切面编程Aspect Oriented Programming(AOP)
  4. 发邮件 和 excel导出中文文件名
  5. iOS 应用中有页面加载gif动画,从后台进入前台时就消失了
  6. Extjs4.1中图片数据源
  7. 全景VR视频外包公司:长年承接VR全景视频外包(技术分享YouTube的360全景视频)
  8. C#控制其它程序
  9. SQL数据库中把一个表中的数据复制到另一个表中
  10. 一步一步学c#(四):继承
  11. Bootstrap3 概述
  12. 【tool】部署前端工具
  13. ios和android 浏览器适配问题总结
  14. shell linux 环境下循环遍历文件夹下所有文件
  15. 本地项目上传到CODING
  16. C#Windows Service服务程序的安装/卸载、启动/停止 桌面客户端管理程序设计
  17. IIS相关
  18. JavaWeb-----ServletConfig对象和servletContext对象
  19. SQL函数汇总大全
  20. Linux大文件分割splite

热门文章

  1. centos-python3.5安装
  2. 案例-pyqt进度条案例
  3. Yarn报错:Exception message: /bin/bash: line 0: fg: no job control
  4. list=null和list.size=0的区别
  5. c#获取所有枚举
  6. BZOJ2780(广义后缀自动机,set启发式合并)
  7. 洛谷P3367 【模板】并查集 模板 找baba
  8. nginx配置从远程获取静态资源
  9. 微信小程序自定义顶部导航
  10. npm 模块开发调试技巧之最优方案npm link