新的生活开始了,在旧电脑上一顿操作,最终还是重装了系统。期间发现之前一直没有注意过的javaw.exe这个程序,好像在设置eclipse时起到了很大的作用,于是稍微的研究了一下。

javaw.exe主要用于启动基于GUI的应用程序。如果程序是纯粹的图形化的,而且你需要提升速度,用javaw。而用javaw.exe运行java程序的话,控制台还可以输入其他命令。

javaw的使用

安装了jdk之后,电脑中会出现三个javaw,一个在jdk文件下的bin中,一个在jdk同目录的jre中,一个在windows/system32中,当然这三个目录中还有三个java.exe和javaws.exe。

那我们的程序会使用哪一个javaw来运行我们的程序呢。如果程序的配置文件中可以指定的,就用指定的。

使用的就是我们在环境变量中配置的,path下的,顺序靠前的那一个bin下的程序。

使用javaw.exe时,会使用jre,它使用的jre如下,(1)java.exe当前目录寻找.(2)java.exe父目录下寻找.(3)寻找注册表下面,里面的路径是哪个就找哪个。

找到jre之后,如果java.exe与jre的版本一致,就会执行。

jvm是jre的一部分,jre是jvm的补充,jvm就在jre/bin目录下,server文件中的jvm.dll。

jdk中的jre主要供给jdk本身使用.jdk旁边的jre就是jre安装时,放在注册表路径中的jre,供给其他程序使用。

因此我们想运行一个GUI程序不需要命令控制台。

下面是一个例子:

javaw的使用
     package javaw;
 
import javax.swing.*;
 
public class HelloWorldSwing {
    private static void createAndShowGUI() {
        JFrame jFrame = new JFrame("HelloWorld Swing");
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JLabel helloLabel = new JLabel("Hello World!");
        jFrame.getContentPane().add(helloLabel);
        jFrame.pack();
        jFrame.setVisible(true);
    }
 
    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}

上面是一个GUI程序,按照如下方式运行就是在控制台上运行:

java -classpath . javaw.HelloWorldSwing

解释:其中 -classpath . 代表把classpath 的路径设置为当前目录。

运行后查看任务管理器出现了 java.exe进程 ------ 因为这是通过控制台运行的。

javaw.png

以上就是javaw.exe是什么的详细内容,更多请关注自学java网其它相关文章!

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:our333@126.com我们将配合处理!

原文地址:javaw.exe是什么发布于2021-11-26 11:26:44