【摘自】http://blog.sina.com.cn/s/blog_65e635ee0100l5vg.html
个人珍藏,感谢原创
java 和javaw 的区别
javaw.exe用法和java.exe 相同
javaw的程序不在java console 上面显示任何东西,如果在开发程序,就用java,这样可以看到错误提示, 如果是运行完成了的程序,就用javaw, 可以提高一点速度
两个应用程序都能运行你的程序,并非常相似,但是有一个重要的区别,java通过控制台运行,javaw则不是。 控制台几乎是为纯文本编成的,例如如果你用javaw运行所有你打印的状态不会被打印出来。你打印在程序中的有用 信息,错误信息也是一样。 所以,如果你在选择用哪个: 如果是基于纯文本的编成用java。 如果是图形化但随时打印成纯文本用java。 如果你在检查错误,用java。 如果程序是纯粹的图形化的,而且你需要提升速度,用javaw。
java会在黑窗口下进行,而javaw不会,所以例如jb这样的开发工具都是默认采用javaw来进行run这些java的 class的。
但是有一点需要提出的是:
javaw会使用与java不同的Local配置进行工作,导致了一些中文问题,而java就是好好的。JBuilder也是好好的,没有问题,调用javaw也不是它的错,难道你想每次运行或者调试的时候蹦出个DOS黑框么?
可以采用如下办法解决jb中的javaw造成的中文问题。 在JBuilder中选择Project->Project Properties->run->edit->VM Parameters,填上-Dfile.encoding=GBK -Ddefault.client.encoding=GBK -Duser.language=zh -Duser.region=CN 就行了! 原理也就是在javaw加上如上的配置参数。
1、java.exe: 运行java程序 2、javac.exe: 编译的,生成.class文件 3、javaw.exe: 跟java命令相对的,运行java命令时,会出现并保持一个console窗口, 程序中的信息可以通过System.out在console内输出,而运行javaw, 开始时会出现console,当主程序调用之后,console就会消失; javaw 大多用来运行GUI程序