Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

O que significa "executar o java em linha de comando", referente a configuração que foi feita na variável de ambiente?

Tivemos que configurar a variável de ambiente, mas não entendi direito o motivo disso, ou seja, a frase "se for usar java em linha de comando, o que não é raro de acontecer". Isso quer dizer que podemos compilar um arquivo antes mesmo dele rodar, chamando o "javac.exe" no próprio código, em linguagem java?

1 resposta
solução!

Olá, tudo bem? Java é uma linguagem de programação compilada, do tipo que precisamos primeiro compilar para depois executar. E uma das formas de compilar um arquivo java é usando a linha de comando, que pode ser usada através do cmd (prompt de comando do Windows), por exemplo. Porém, sempre que queremos usar alguma funcionalidade que não vem por padrão na linha de comando nós precisamos editar as variáveis de ambiente do sistema, assim podemos chamar comandos novos no terminal. Os comandos usados para compilar e executar arquivos java são:

javac ArquivoQualquer.java

O comando acima vai compilar o ArquivoQualquer.java, que contém o código Java, e gerar um novo arquivo somente com código binário, do tipo .class, já que sempre trabalhamos com classes em Java. Então o ArquivoQualquer.class que será executado:

java ArquivoQualquer.class

Com esse comando, estamos pedindo para a máquina virtual Java (JVM) executar os binários dentro do ArquivoQualquer.class. É um processo complicado de se fazer manualmente, mas existem Aplicativos como a IDE Eclipse que fazem esse trabalho para nós, já compilando os arquivos e deixando eles numa pasta separadas com tudo organizado. Existe também outro tipo de linguagem de programação, do tipo interpretada, onde não tem esse processo de gerar um arquivo separado somente com os binários. Nas linguagens interpretadas, como Python e PHP, o código é lido linha por linha, sendo que cada linha é compilada em linguagem de máquina (binário) e executada na hora, sem gerar outro arquivo. O bom é que linguagens interpretadas são mais fáceis de serem usadas no geral, mas acabam sendo mais lentas, já que tem que compilar linha por linha na hora da execução.