On a Windows Server, I have 2 kinds of Java processes
What are the differences ?
java.exe pops up a console window.
javaw.exe does not.
If you expect text output, you'll need to use
java.exe. If the application pops up its own window (e.g., Eclipse), you can use
"The javaw.exe command is identical to java.exe, except that with javaw.exe there is no associated console window. This implies you can't get it to display the version with -version, since there is no console to display it on. Use javaw.exe when you don't want a command prompt window to appear. The javaw.exe launcher will, however, display a dialog box with error information if a launch fails for some reason."
Hope this helps.
Java is the plain old java interpreter that runs in a DOS box (so you have a console window open all the time).
Javaw is a wrapper around java that doesn't open a console window (and I guess redirects stdio, stdout and stderr to NUL)
You can use javaw for GUI application, i.e Java swing app or any Java desktop application or even Java service that no need any console output. javaw use is to make Java application as non logging mode. Running Java application with java.exe, if you cut the console your application shall shutdown immediately. But for javaw it shall remain running. You must have to kill it using task manager.
javaw.exe has no associated console window (wrapper) unlike java.exe, that's all the difference between them.