Разница между java и javaw

Я искал, чтобы узнать разницу между java.exe и javaw.exe. Я прочитал разница между Java.exe и Javaw.exe.

там говорится, что java.exe для консоли и javaw.exe для окна приложения. В каком-то другом посте упоминается, что консоль недоступна в javaw.

но мне интересно, когда я запускаю сервер Tomcat и вижу его процесс в Process explorer, я вижу javaw.exe несмотря на то, что tomcat является консольным приложением.

6 ответов


команды java и javaw государства

инструменты java и javaw запускают приложение Java, запуская JRE и загружая указанный класс.

на javaw команда идентична java, только javaw нет связанное окно консоли. Использовать javaw когда вы не хотите команду окно будет отображаться.

на javaw launcher отображает окно с ошибкой информация, если это не удается. В случае 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 (приложение запускается, и командная строка немедленно завершает работу и готова к
следующая команда)


1. java.exe Это команда, где он ждет завершения приложения, пока не примет следующую команду,javaw.exe - это команда, которая не будет ждать завершения приложения. вы можете пойти вперед с другими командами.

2. java.exe есть консольное приложение, а javaw.exe Это приложение windows (без консоли),javaw.exe команда идентична java.exe, только с javaw.exe здесь нет связанного окна консоли


разница между java.exe и javaw.exe-команды во время работы java-программы в windows вы могли заметить, что они появятся в диспетчере задач как java.exe или javaw.exe, также в JAVA_HOME / bin мы видим эти две команды java java.exe и javaw.exe, вы знаете разницу между java.exe и javaw.exe

оба java.exe и javaw.exe может выполнять java-программы, включая jar-файл, разница только в том, что с java.exe вы имеете выполняться консоли и вы должны чтобы дождаться завершения вашей java-программы, чтобы запустить любую другую команду, с другой стороны, в случае javaw.exe никакая консоль или окно не связаны с выполнением.

вы можете запустить свою программу java либо с помощью java.exe или javaw.исполняемый. Его предложили использовать javaw.ехе, когда вам не нужно окно командной строки появится. javaw launcher будет отображаться по ошибке в диалоговом окне, если выполнение не удается.

в резюме основное различие между java и командой javaw заключается в том, что с java.exe вы получит окно командной строки, но с javaw.exe нет связанной командной строки windows.


java.exe всплывает окно консоли. javaw, который.ехе не.

оба java.exe и javaw.exe может выполнять java-программы, включая jar-файл, разница только в том, что с java.exe у вас есть консоль, и вам нужно подождать, пока ваша программа java не завершится, чтобы запустить любую другую команду, с другой стороны, в случае javaw.exe никакая консоль или окно не связаны с выполнением.

основное различие между java и командой javaw заключается в том, что с java.exe вы получите окно командной строки, но с javaw.exe нет связанной командной строки windows.


это зависит от того, как работает сервер Tomcat. Однако о способе настройки и запуска Tomcat не может быть и речи. Я мог бы сказать, что есть разные варианты сделать это. Если вы начинаете Tomcat с java Он работает как приложение командной строки, которое направляет IO на консоль. Если вы запустите его с javaw тогда он не направляет IO на консоль. Многие приложения и серверы имеют возможности ведения журнала, которые могут направлять выходные данные на консоль. Для этого лучше использовать экземпляр командной строки java вместо приложения windows. Есть причина бежать javaw vs java нет ведения журнала, отладки сообщений, ошибок, stacktraces, исключений, всего, что System.out и System.err produce отображается во время запуска приложения.


в дополнение к заявленным пунктам, также можно отметить, что многопоточные программы можно запускать с помощью java но javaw может работать только с одной резьбой программы!