java.exe打开闪退

打开后闪退,java.exe和javac.exe都一样,试过快捷方式什么的,都不行

额,这俩个都是在命令行用的😅,用鼠标直接点肯定闪退啊

java.exe是用来编译你写好的java文件的,谁让你直接运行它了呀
你直接双击它,它没有东西可编译,不退出等啥
你自己写的exe才可以双击执行

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7771496
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:javac.exe,java.exe,javaw.exe的区别
  • 除此之外, 这篇博客: 一篇搞懂java、javac版本不匹配发生的原因中的 java.exe和javac.exe的关系 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • JDK安装完成后,在安装目录下能看到有两个目录分别为jdk与jre(以我安装的1.8为例)。

    我们打开二者目录

     

    jre目录下文件

     

    jdk目录下文件

     

    其中

    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来解答: