java.exe和javaw.exe的区别及使用方法

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

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

情景模拟一:

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

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

运行:


情景模拟二:

如果是运行带GUI的程序:

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

2、如果是“右键”-->“打开方式”的方式运行jar文件的话,那么用java.exe打开文件还会保留一个控制台窗口,javaw.exe则不会出现,所以运行窗体程序一般都用javaw.exe。


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

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

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

javaws.exe

javaws.exe进程适用于启动通过web 配置的程序,简而言之就是在web应用程序中应用。


总结:

java.exe用于启动window console  控制台程序

javaw.exe用于启动 GUI程序

javaws.exe用于web程序。

jvm.dll就是java虚拟机规范在windows平台上的一种实现



你可能感兴趣的:(java)