java和javaw的区别

java和javaw的区别,java,jvm,Java,Jvm,我搜索以了解java.exe和javaw.exe之间的区别。我通读了一遍 这里说明java.exe用于控制台,javaw.exe用于窗口应用程序。 在另一篇文章中提到,控制台在javaw中不可用 但是我想知道,当我运行Tomcat服务器并在process explorer中看到它的进程时,我看到了javaw.exe,即使Tomcat是一个控制台应用程序。1。java.exe是它等待应用程序完成直到执行下一个命令的命令,javaw.exe是一个不会等待应用程序完成的命令。您可以继续执行其他命令

我搜索以了解
java.exe
javaw.exe
之间的区别。我通读了一遍

这里说明
java.exe
用于控制台,
javaw.exe
用于窗口应用程序。 在另一篇文章中提到,控制台在
javaw
中不可用


但是我想知道,当我运行Tomcat服务器并在process explorer中看到它的进程时,我看到了
javaw.exe
,即使Tomcat是一个控制台应用程序。

1。
java.exe
是它等待应用程序完成直到执行下一个命令的命令,
javaw.exe
是一个不会等待应用程序完成的命令。您可以继续执行其他命令


2.
java.exe
是控制台应用程序,而
javaw.exe
是windows应用程序(无控制台),
javaw.exe
命令与
java.exe
相同,除了使用
javaw.exe
没有关联的控制台窗口

之外,java.exe和javaw.exe命令之间的区别在于在windows上运行java程序时,您可能已经注意到它们将以java.exe或javaw.exe的形式出现在任务管理器中,同样在JAVA_HOME/bin中,我们看到这两个JAVA命令JAVA.exe和javaw.exe,您知道JAVA.exe和javaw.exe之间的区别吗

java.exe和javaw.exe都可以执行包括jar文件在内的java程序,唯一的区别是,对于java.exe,您有一个执行控制台,您需要等到java程序完成后才能运行任何其他命令。另一方面,对于javaw.exe,没有控制台或窗口与执行相关联

您可以使用java.exe或javaw.exe运行java程序。建议在不需要显示命令行窗口时使用javaw.exe。如果执行失败,javaw启动器将在对话框中错误显示


总之,java和javaw命令的主要区别在于,使用java.exe时,您将获得一个命令提示窗口,但使用javaw.exe时,没有相关的命令提示窗口。

java.exe会弹出一个控制台窗口。javaw.exe没有

java.exe和javaw.exe都可以执行包括jar文件在内的java程序,唯一的区别是,对于java.exe,您有一个执行控制台,您需要等到java程序完成后才能运行任何其他命令。另一方面,对于javaw.exe,没有控制台或窗口与执行相关联

java和javaw命令之间的主要区别在于,使用java.exe,您将获得一个命令提示窗口,但使用javaw.exe,没有相关的命令提示窗口。

状态

java和javaw工具通过启动JRE并加载指定类来启动java应用程序

javaw
命令与相同,只是
javaw
没有 关联的控制台窗口。当您不需要命令时,请使用
javaw
要显示的提示窗口

如果失败,
javaw
启动器将显示一个包含错误信息的窗口。
在Tomcat的情况下,您不会看到Win32控制台应用程序正在运行,类似于启动Eclipse,使用javaw.exe

例如: 编写以下代码:

import javax.swing.*;
public class JavavsJavaw {
    private static void renderGUI() {
        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() {
                renderGUI();
            }
        });
    }
}
第1步:
C:\>JavavsJavaw
(命令行等待应用程序响应,直到关闭) 第二步:
C:\>javaw-JavavsJavaw
(应用程序启动,命令行立即退出并准备就绪,

下一个命令)

它取决于Tomcat服务器的运行方式。然而,配置和启动Tomcat的方法是不可能的。我可以说这样做有不同的选择。如果您使用
java
启动Tomcat,它的运行就像命令行应用程序一样,将IO定向到控制台。如果您使用
javaw
运行它,那么它不会将IO定向到控制台。许多应用程序和服务器具有日志功能,可以将输出定向到控制台。为此,最好使用
java
的命令行实例,而不是windows应用程序。运行
javaw
vs
java
的原因在于,在运行应用程序时,不会出现日志记录、调试消息、错误、堆栈跟踪、异常,以及
System.out
System.err
产生的所有内容。

除了上述几点之外,还可以注意到,多线程程序可以使用java运行,但是javaw只能运行单线程程序

你从哪里得到的信息?我亲眼看到多线程程序在javaw中运行。