java.exe 和 javaw.exe 的区别

相同点:两者都是Java的虚拟机,用来执行Java程序java

区别:javaw.exe运行程序时不会输出控制台信息,若是是双击打开jar文件的话(假设已经设置好了打开方式),那么根本就不会出现控制台窗口,主要用来运行带窗体的应用程序,其中的“w”就是window的意思,因此用它来运行控制台程序时虽不会报错,但不会输出任何结果。而java.exe不管运行控制台程序,仍是运行窗体程序都没有任何问题。ide

情景模拟一:spa

编写一个最简单的控制台程序:cmd

public static void main(String[] args)
{
    System.out.println("Hello World!");
}

运行:虚拟机

情景模拟二:it

若是是运行带GUI的程序:io

一、若是用cmd的方式打开jar文件,有System.out.println的代码,java.exe会正常输出,而javaw.exe就不会输出,但控制台窗口都不会消失编译

二、若是是“右键”-->“打开方式”的方式运行jar文件的话,那么用java.exe打开文件还会保留一个控制台窗口,javaw.exe则不会出现,因此运行窗体程序通常都用javaw.exe。class

附:打包

java.exe或者javaw.exe使用示例:

 java [-options] class [args...]

(用来执行一个已经编译好的字节码文件)
or  java [-options] -jar jarfile [args...]
(用来执行一个打包好的jar文件)

相关文章
相关标签/搜索