Prezado, fiquei com duvida referente a definição do .class e do .java Gostaria de saber se a funcionalidade dele é informar ao sistema operacional que aquele programa que estamos desenvolvendo pertence ao mundo java, mas e o .java ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Prezado, fiquei com duvida referente a definição do .class e do .java Gostaria de saber se a funcionalidade dele é informar ao sistema operacional que aquele programa que estamos desenvolvendo pertence ao mundo java, mas e o .java ?
Quando você tem um arquivo com a extensão .java ele se refere ao seu código fonte, onde vocês está inserindo o seu código. Quando você compila o seu código com o java pela linha de comando ou usando uma ide ele vai gerar um código que será interpretado pela máquina virtual do java, a JRE ou seja java runtime enviroment, você pode tentar abrir um arquivo .class, e verá um código cheios de símbolos, este código está em bytecode, é o que a máquina virtual do java entende, espero que tenha esclarecido.
Basicamente o código .java é o nosso código fonte o qual salvamos com a extensão (.java). Já o arquivo .class é o arquivo gerado pelo compilador java (javac) o qual só a jvm vai entender e transformá-lo em um código equivalente para o Sistema Operacional e assim seguindo o fluxo até chegar ao nível de instruções para o processador/linguagem de máquina.
O Bytecode seria um conjunto de instruções as quais só a jvm entende.
Exemplo:
NossoCodigo.java -> Compilação (javac) -> Geração do Bytecode (NossoCodigo.class) -> JVM (Entende o .class) -> Envia instruções para o SO e este por sua vez se comunica com o Hardware.