打开后闪退,java.exe和javac.exe都一样,试过快捷方式什么的,都不行
额,这俩个都是在命令行用的😅,用鼠标直接点肯定闪退啊
java.exe是用来编译你写好的java文件的,谁让你直接运行它了呀
你直接双击它,它没有东西可编译,不退出等啥
你自己写的exe才可以双击执行
JDK安装完成后,在安装目录下能看到有两个目录分别为jdk与jre(以我安装的1.8为例)。
我们打开二者目录
其中
bin:存放了各种可执行文件,比如:java.exe,javac.exe
include:存放与JVM交互所用头文件
legal:存放JDK各模块授权文档
lib:jre目录中中存放jar包,jdk目录中存放除了其目录下jre中lib存放的jar包扩充的jar包
我们发现二者几乎相同,但jdk比jre多了include和jre目录(这验证了我们jdk包含jre的说法)。然后我们打开jdk下的jre目录,经过与jre目录进行对比可以发现二者完全相同。
而jdk与jre使用bin内的javac.exe文件和java.exe进行编译和运行,其中jdk使用javac.exe将.java文件编译为.class文件,jdk与jre使用java.exe运行编译好的.class文件。故jdk有java.exe和javac.exe,而jre只有java.exe。分别打开二者可以验证这一点。
但是当我们进行运行时,使用的是jdk中的jre的java.exe还是jre中的java.exe呢?
这个问题需要java.exe来解答: