.CLASS

Arquivo CLASS

Java Bytecode Class File
Fazer uma pergunta
RESPOSTA RÁPIDA

Um arquivo CLASS é um bytecode Java compilado - o resultado que o javac produz a partir de um arquivo fonte .java. Para executá-lo, você precisa do Java (um JDK) instalado e usar o comando «java MyClass». Para ler o que o código faz, abra-o em um descompilador como o JD-GUI. Arquivos CLASS não são documentos; clicar duas vezes em um no gerenciador de arquivos não o abrirá de forma útil.

Desenvolvedor: Sun Microsystems (now Oracle); part of the Java Platform Categoria: Arquivos de Desenvolvedor Padrão aberto MIME: application/java-vm
ABRE EM Windows macOS Linux Web
Relacionado: .DO · .MD · .HEX · .XSD

Nesta página

19k+ extensões indexadas
Última revisão em Jul 31, 2026

Não tem certeza do que é seu arquivo?

Arraste qualquer arquivo para o nosso identificador - lemos apenas os primeiros bytes para nomear o formato.

Identificar um arquivo

O que é o formato de ficheiro CLASS?

Um arquivo .class contém código-fonte compilado escrito na linguagem de programação Java. Arquivos .class são gerados pelo compilador Java a partir de arquivos fonte .java que definem uma ou mais classes. Cada arquivo .class é o resultado de uma compilação bem-sucedida e contém bytecode - uma representação binária de uma classe que é executada pela Java Virtual Machine (JVM).

Arquivos .class são gerados automaticamente durante a compilação de arquivos fonte .java. Como o bytecode é independente de plataforma, o mesmo arquivo .class é executado em qualquer sistema operacional que tenha uma JVM compatível instalada. Um único arquivo fonte .java pode conter uma ou mais classes, e cada classe recebe seu próprio arquivo .class durante o processo de compilação.

A compilação de arquivos .java em arquivos .class é realizada usando o comando javac incluído no Java Development Kit (JDK). A maioria dos ambientes de programação Java - incluindo IDEs como IntelliJ IDEA e Eclipse - compila arquivos .class automaticamente conforme os programadores escrevem o código.

O Java Runtime Environment (JRE) suporta a execução de arquivos .class via comando java, mas não permite a compilação, já que o JRE não inclui o compilador javac.

Todo arquivo .class começa com o número mágico de 4 bytes 0xCAFEBABE, seguido pelos campos de versão minor e major que identificam a versão do Java usada para compilá-lo. Múltiplos arquivos .class são comumente empacotados juntos em um arquivo JAR para distribuição e implantação.

Como a JVM está disponível em muitas versões, deve-se ter em mente que nem todos os arquivos .class são compatíveis com todas as versões do runtime. Um arquivo compilado visando uma versão major do Java mais recente não pode ser carregado por uma JVM mais antiga.

Segurança e proteção

RISCO: MEDIUM

Um arquivo .class é código compilado: se você o executar («java MyClass») com uma JVM, ele será executado com as permissões do seu usuário, portanto, uma classe desconhecida - como um JAR ou EXE desconhecido - pode conter malware. Trate o Java compilado baixado como não confiável: execute apenas classes de fontes em que você confia. Apenas descompilar ou desmontar um .class (JD-GUI, javap) não o executa e é seguro. Esteja ciente de que o bytecode revela a lógica de um programa, portanto, qualquer coisa que você compilar pode ser descompilada por outros, a menos que seja ofuscada.

Detalhes do formato

em resumo
NOME COMPLETOJava Bytecode Class File
DESENVOLVEDORSun Microsystems (now Oracle); part of the Java Platformdesde 1995-1996 (Java 1.0)
TIPO MIMEapplication/java-vm
TIPOBytecode Java compilado (binário)
PADRÃOAberto · livre de royalties
RELACIONADO.do.md.hex.xsd
MAGIC BYTES · ASSINATURA DO ARQUIVO
OFFSET
00010203
HEX
CAFEBABE
ASCII
····
Todo arquivo de classe Java começa com o número mágico de 4 bytes 0xCAFEBABE, seguido por uma versão minor de 2 bytes e uma versão major de 2 bytes (a versão major indica qual versão do Java o compilou, ex: 52 = Java 8, 61 = Java 17). Isso torna os arquivos .class trivialmente identificáveis. (Nota: binários fat Mach-O no macOS também usam 0xCAFEBABE, mas os arquivos de classe Java são distinguidos pelas palavras de versão que se seguem.)

Programas que abrem arquivos CLASS

Windows4 apps
Eclipse IDE Código aberto Importe a classe em um projeto para executá-la, ou use a visualização de bytecode/descompilador integrada para inspecioná-la.
Java (OpenJDK - Eclipse Temurin / Adoptium) Código aberto Instale o Temurin JDK e execute a classe a partir da raiz do pacote: «java MyClass» (sem a extensão .class). Requer um método main.
JD-GUI (decompiler) Código aberto Abra o .class (ou um JAR) para visualizar o código-fonte Java reconstruído - a maneira prática de ler o que um .class faz.
IntelliJ IDEA (Community) Freemium Abra ou arraste um .class - o IntelliJ mostra uma visualização descompilada integrada e pode executar classes em um projeto.
macOS3 apps
Java (OpenJDK - Eclipse Temurin) Código aberto Instale o Temurin e use «java MyClass» no Terminal a partir do diretório correto.
JD-GUI (decompiler) Código aberto Abra o .class (ou um JAR) para visualizar o código-fonte Java reconstruído - a maneira prática de ler o que um .class faz.
IntelliJ IDEA (Community) Freemium Abra ou arraste um .class - o IntelliJ mostra uma visualização descompilada integrada e pode executar classes em um projeto.
Linux2 apps
Java (OpenJDK) Código aberto Instale via gerenciador de pacotes («apt install default-jdk») ou Temurin, e use «java MyClass».
JD-GUI / CFR (decompilers) Código aberto CFR é um descompilador de linha de comando («java -jar cfr.jar MyClass.class»); JD-GUI é a opção com interface gráfica.
Web1 app
javap (bundled with the JDK) Integrado Não é web - mas o «javap -c MyClass» do JDK desmonta um .class em bytecode legível sem nenhuma ferramenta extra.

Detalhes técnicos

especificação profunda
Tipo de formatoBytecode Java compilado (binário)
Tipo MIMEapplication/java-vm
Bytes mágicos0xCAFEBABE (4 bytes no deslocamento 0) - presente em todo arquivo .class válido
Codificação de versãoBytes 6-7 (versão major) identificam a versão de lançamento do Java; ex: 52 = Java 8, 61 = Java 17, 65 = Java 21
Ambiente de execuçãoJava Virtual Machine (JVM) via comando `java`
Ferramenta de compilaçãoCompilador `javac`, incluído no Java Development Kit (JDK)
Independência de plataformaO bytecode é neutro em relação à arquitetura da CPU e roda em qualquer SO com uma JVM compatível
Uma classe por arquivoCada classe de nível superior ou classe aninhada estática é compilada em seu próprio arquivo `.class` separado
Nomenclatura de classes internasClasses internas e anônimas produzem arquivos adicionais com `$` no nome (ex: `Outer$Inner.class`)
Pool de constantesCada arquivo incorpora uma tabela estruturada de pool de constantes que contém literais de string, nomes de classes e descritores de campos/métodos
Conjunto de instruçõesUsa o conjunto de instruções de bytecode da JVM (~200 opcodes), independente de qualquer conjunto de instruções de CPU nativa
Verificador de bytecodeA JVM verifica a estrutura do arquivo `.class` e a segurança de tipos antes da execução, rejeitando arquivos malformados ou adulterados
DescompilaçãoPode ser desmontado com `javap -c` (nativo do JDK) ou descompilado de volta para o código-fonte Java com ferramentas como JD-GUI ou CFR
EmpacotamentoGeralmente distribuído empacotado dentro de arquivos `.jar` (contêineres baseados em ZIP que contêm múltiplos arquivos `.class` e um manifesto)
Incompatibilidade com AndroidO Android não executa arquivos `.class` diretamente; a ferramenta `d8` os converte em bytecode `.dex` para o Android Runtime (ART)
Lançado1995-1996 (Java 1.0)
Padrão abertoSim · livre de royalties
Especificaçãodocs.oracle.com

Conversões de CLASS

Perguntas e Respostas da Comunidade

perguntado por usuários
Faça uma pergunta rápida
Obtenha ajuda de pessoas que trabalham com arquivos CLASS. Seja específico - inclua seu sistema e a versão do software.
Não é necessário criar conta · respostas geralmente em um dia

Ainda não há perguntas - seja o primeiro a perguntar sobre arquivos CLASS.

Perguntas frequentes

Como eu abro um arquivo CLASS?
Você não o abre como um documento - é Java compilado. Para EXECUTÁ-LO, você precisa do Java (JDK) instalado e usar «java MyClass». Para LER o que ele faz, abra-o em um descompilador como o JD-GUI, ou desmonte-o com o «javap -c MyClass» do JDK.
Como descompilar um arquivo .class de volta para o código-fonte Java?
Use um descompilador - JD-GUI (arraste o .class para dentro), ou ferramentas de linha de comando como CFR/Fernflower/Procyon. Você obterá um Java legível, mas os comentários e nomes de variáveis originais geralmente desaparecem, e classes ofuscadas resultam em códigos confusos.
Por que recebo o erro «UnsupportedClassVersionError»?
A classe foi compilada com uma versão do Java mais recente do que a que você está executando. Instale um JDK pelo menos tão novo quanto o que a construiu (versão major da classe: 52=Java 8, 61=Java 17, 65=Java 21), ou recompile o código-fonte para a sua versão.
Preciso do Java para abrir um arquivo CLASS?
Para executá-lo, sim - ele precisa de uma JVM. Para ler/descompilar, você pode usar ferramentas como o JD-GUI; os visualizadores do IntelliJ/JD-GUI ainda dependem do Java para rodarem a si mesmos, então, na prática, você terá o Java instalado de qualquer maneira.
Posso converter um arquivo CLASS para EXE?
Não diretamente - um .class precisa de uma JVM e não é código nativo do Windows. Empacote as classes em um JAR executável e use o jpackage ou Launch4j; o resultado ainda dependerá de (ou incluirá) o Java.
Qual é a diferença entre um arquivo .class e um arquivo .jar?
Um .class é uma única classe compilada; um JAR é um pacote ZIP de muitos arquivos .class mais um manifesto, usado para distribuir um programa ou biblioteca inteira. Aplicações reais são distribuídas como JARs, não como arquivos .class soltos.

Referências

1Oracle - The Java Virtual Machine Specification, Ch.4: The class File Formatdocs.oracle.com
2Oracle - javap tool (class disassembler)docs.oracle.com

Continue explorando

em todo o banco de dados

Principais extensões desta semana

1.AQQAQQ Instant Messenger File
2.MDMarkdown Document
3.CRDOWNLOADChrome Partial Download File
4.BINCD/DVD Disc Image (BIN/CUE)
5.PARTPartial Download File
6.RPMSGRestricted Permission Message
7.NOMEDIAAndroid No-Media Marker File
8.EXEWindows Executable (Portable Executable)
9.AVIFAV1 Image File Format (AVIF)
10.ICSiCalendar data file

Extensões relacionadas

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Ferramentas de arquivo gratuitas

Um identificador de arquivos e conversor de imagens no navegador - tudo funciona no seu dispositivo.

Abrir a caixa de ferramentas

Navegar por extensões de arquivo A-Z