java的jdk和jre区别

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

首先大概清楚个关系: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 filesjavajre 下的 jre 就 ok !当用户是 java 程序员,需要 java 开发环境,那么开发时,系统就会优先去找“ java 、 javac ”这些命令本身的目录或者他们的父目录的 jre ;这样开发时一般运行的是 jdk 下的 jre ;而运行外部程序时,一般运行的是c:program filesjavajre ,实现了分工,不同的 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

原文地址:https://www.cnblogs.com/bbllw/p/10606950.html