Semelhança: Ambas são máquinas virtuais Java, usadas para executar programas Java
Diferença: javaw.exe não exibirá informações do console ao executar o programa. Se você clicar duas vezes para abrir o arquivo jar (assumindo que o método de abertura foi definido), a janela do console não aparecerá. para executar programas com formulários, o "w" significa janela, portanto, embora não relate um erro ao executar um programa de console, não produzirá nenhum resultado. Não há problema se java.exe executa um programa de console ou um programa de formulário.
Simulação de cenário um:
Escreva o programa de console mais simples:
Copie o código do código da seguinte forma:
public static void main(String[] args){
System.out.println("Olá mundo!");
}
correr:
Simulação de cenário dois:
Se você estiver executando um programa com GUI:
1. Se você usar cmd para abrir um arquivo jar e houver código System.out.println, java.exe será gerado normalmente, mas javaw.exe não será gerado, mas a janela do console não desaparecerá.
2. Se você executar o arquivo jar através de "clique com o botão direito" -> "Abrir com", abrir o arquivo com java.exe manterá uma janela de console, mas javaw.exe não aparecerá, portanto, executar um programa de formulário é geralmente ambos usam javaw.exe.
Exemplos de uso de java.exe ou javaw.exe:
java [-opções] classe [args...]
(Usado para executar um arquivo de bytecode compilado)
ou java [-opções] -jar jarfile [args...]
(usado para executar um arquivo jar empacotado)