7

java.exe我搜索以了解和之间的区别javaw.exe。我通读 了 Java.exe 和 Javaw.exe 之间的区别

那里说这java.exe是用于控制台并且javaw.exe用于窗口应用程序。在其他一些帖子中提到控制台在javaw.

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

4

6 回答 6

4

java 和 javaw 命令状态

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

javaw命令与java相同,只是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:\>java JavavsJavaw 命令行等待应用程序响应,直到它关闭) 第 2 步:(C:\>javaw JavavsJavaw 应用程序启动,命令行立即退出并准备
下一个命令)

于 2012-08-26T11:12:57.847 回答
1

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

2. java.exe是控制台应用程序,javaw.exe而是windows应用程序(console-less),javaw.exe命令与 相同java.exe,只是javaw.exe没有关联的控制台窗口

于 2012-08-26T10:57:19.043 回答
0

It depends on how the Tomcat server is run. However, the way of configuring and starting Tomcat is out of the question. I could say that there's different options of doing that. If you starting Tomcat with java it runs like command line application which directs IO to the console. If you run it with javaw then it doesn't directs IO to the console. Many applications and servers has logging capabilities that could direct the output to the console. For this purposed better to use a command line instance of java instead of windows app. There's a reason to run javaw vs java is no logging, debugging messages, no error, stacktraces, exceptions, everything that System.out and System.err produce is visible while you running the application.

于 2012-08-26T11:32:43.947 回答
0

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 没有关联的命令提示符窗口。

于 2012-08-26T10:57:46.673 回答
0

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

java.exe 和 javaw.exe 都可以执行包括 jar 文件的 java 程序,唯一的区别是使用 java.exe 你有一个控制台执行,你需要等到你的 java 程序完成才能运行任何其他命令,以防万一javaw.exe 没有控制台或窗口与执行相关联。

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

于 2012-08-26T10:58:55.290 回答
-1

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

于 2017-04-05T12:33:57.740 回答