2
respostas

Duvida na definiçao de .class

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 ?

2 respostas

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.