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 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