.CLASS

Archivo CLASS

Java Bytecode Class File
Hacer una pregunta
RESPUESTA RÁPIDA

Un archivo CLASS es bytecode de Java compilado: el resultado que produce javac a partir de un archivo fuente .java. Para ejecutarlo necesitas tener instalado Java (un JDK), y luego usar el comando «java MyClass». Para leer lo que hace el código, ábrelo en un descompilador como JD-GUI. Los archivos CLASS no son documentos; hacer doble clic en uno en un administrador de archivos no lo abrirá de forma útil.

Desarrollador: Sun Microsystems (now Oracle); part of the Java Platform Categoría: Archivos de desarrollo Estándar abierto MIME: application/java-vm
SE ABRE EN Windows macOS Linux Web
Relacionado: .DO · .MD · .HEX · .XSD

En esta página

19k+ extensiones indexadas
Última revisión Jul 31, 2026

¿No está seguro de qué es su archivo?

Suelte cualquier archivo en nuestro identificador - leemos solo los primeros bytes para nombrar el formato.

Identificar un archivo

¿Qué es el formato de archivo CLASS?

Un archivo .class contiene código fuente compilado escrito en el lenguaje de programación Java. Los archivos .class son generados por el compilador de Java a partir de archivos fuente .java que definen una o más clases. Cada archivo .class es el resultado de una compilación exitosa y contiene bytecode: una representación binaria de una clase que es ejecutada por la Java Virtual Machine (JVM).

Los archivos .class se generan automáticamente durante la compilación de los archivos fuente .java. Debido a que el bytecode es independiente de la plataforma, el mismo archivo .class se ejecuta en cualquier sistema operativo que tenga instalada una JVM compatible. Un solo archivo fuente .java puede contener una o más clases, y cada clase obtiene su propio archivo .class durante el proceso de compilación.

La compilación de archivos .java en archivos .class se realiza mediante el comando javac incluido en el Java Development Kit (JDK). La mayoría de los entornos de programación Java -incluyendo IDEs como IntelliJ IDEA y Eclipse- compilan archivos .class automáticamente a medida que los programadores escriben código.

El Java Runtime Environment (JRE) admite la ejecución de archivos .class a través del comando java, pero no permite la compilación ya que el JRE no incluye el compilador javac.

Cada archivo .class comienza con el número mágico de 4 bytes 0xCAFEBABE, seguido de campos de versión menor y mayor que identifican la versión de Java utilizada para compilarlo. Los archivos .class múltiples se empaquetan comúnmente juntos en un archivo JAR para su distribución y despliegue.

Debido a que la JVM está disponible en muchas versiones, se debe tener en cuenta que no todos los archivos .class son compatibles con todas las versiones del entorno de ejecución. Un archivo compilado para una versión mayor de Java más reciente no puede ser cargado por una JVM más antigua.

Seguridad y protección

RIESGO: MEDIUM

Un archivo .class es código compilado: si lo ejecutas («java MyClass») con una JVM, se ejecuta con los permisos de tu usuario, por lo que una clase desconocida -al igual que un JAR o EXE desconocido- puede contener malware. Trata el Java compilado descargado como no confiable: solo ejecuta clases de una fuente en la que confíes. El simple hecho de descompilar o desensamblar un .class (JD-GUI, javap) no lo ejecuta y es seguro. Ten en cuenta que el bytecode revela la lógica de un programa, por lo que cualquier cosa que compiles puede ser descompilada por otros a menos que esté ofuscada.

Detalles del formato

en pocas palabras
NOMBRE COMPLETOJava Bytecode Class File
DESARROLLADORSun Microsystems (now Oracle); part of the Java Platformdesde 1995-1996 (Java 1.0)
TIPO MIMEapplication/java-vm
TIPOBytecode de Java compilado (binario)
ESTÁNDARAbierto · libre de regalías
RELACIONADO.do.md.hex.xsd
MAGIC BYTES · FIRMA DE ARCHIVO
OFFSET
00010203
HEX
CAFEBABE
ASCII
····
Cada archivo de clase Java comienza con el número mágico de 4 bytes 0xCAFEBABE, seguido de una versión menor de 2 bytes y una versión mayor de 2 bytes (la versión mayor indica qué versión de Java lo compiló, p. ej., 52 = Java 8, 61 = Java 17). Esto hace que los archivos .class sean fácilmente identificables. (Nota: los binarios fat de Mach-O en macOS también usan 0xCAFEBABE, pero los archivos de clase Java se distinguen por las palabras de versión que les siguen).

Programas que abren archivos CLASS

Windows4 apps
Eclipse IDE Código abierto Importa la clase en un proyecto para ejecutarla, o usa la vista de bytecode/descompilador incluida para inspeccionarla.
Java (OpenJDK - Eclipse Temurin / Adoptium) Código abierto Instala Temurin JDK, luego ejecuta la clase desde su raíz de paquete: «java MyClass» (sin la extensión .class). Requiere un método main.
JD-GUI (decompiler) Código abierto Abre el .class (o un JAR) para ver el código fuente Java reconstruido: la forma práctica de leer lo que hace un .class.
IntelliJ IDEA (Community) Freemium Abre o arrastra un .class: IntelliJ muestra una vista descompilada integrada y puede ejecutar clases en un proyecto.
macOS3 apps
Java (OpenJDK - Eclipse Temurin) Código abierto Instala Temurin, luego ejecuta «java MyClass» en la terminal desde el directorio correcto.
JD-GUI (decompiler) Código abierto Abre el .class (o un JAR) para ver el código fuente Java reconstruido: la forma práctica de leer lo que hace un .class.
IntelliJ IDEA (Community) Freemium Abre o arrastra un .class: IntelliJ muestra una vista descompilada integrada y puede ejecutar clases en un proyecto.
Linux2 apps
Java (OpenJDK) Código abierto Instala a través del administrador de paquetes («apt install default-jdk») o Temurin, luego «java MyClass».
JD-GUI / CFR (decompilers) Código abierto CFR es un descompilador de línea de comandos («java -jar cfr.jar MyClass.class»); JD-GUI es la opción con interfaz gráfica.
Web1 app
javap (bundled with the JDK) Integrado No es web, pero el comando «javap -c MyClass» del JDK desensambla un .class a bytecode legible sin ninguna herramienta adicional.

Detalles técnicos

especificación profunda
Tipo de formatoBytecode de Java compilado (binario)
Tipo MIMEapplication/java-vm
Bytes mágicos0xCAFEBABE (4 bytes en el desplazamiento 0) - presente en cada archivo .class válido
Codificación de versiónLos bytes 6-7 (versión mayor) identifican la versión de Java de destino; p. ej., 52 = Java 8, 61 = Java 17, 65 = Java 21
Entorno de ejecuciónJava Virtual Machine (JVM) a través del comando `java`
Herramienta de compilaciónCompilador `javac`, incluido en el Java Development Kit (JDK)
Independencia de plataformaEl bytecode es neutral respecto a la arquitectura de la CPU y se ejecuta en cualquier SO con una JVM compatible
Una clase por archivoCada clase de nivel superior o clase anidada estática se compila en su propio archivo `.class` separado
Nomenclatura de clases internasLas clases internas y anónimas producen archivos adicionales con `$` en el nombre (p. ej., `Outer$Inner.class`)
Pool de constantesCada archivo incorpora una tabla estructurada de pool de constantes que contiene literales de cadena, nombres de clases y descriptores de campos/métodos
Conjunto de instruccionesUtiliza el conjunto de instrucciones de bytecode de la JVM (~200 opcodes), independiente de cualquier conjunto de instrucciones de CPU nativo
Verificador de bytecodeLa JVM verifica la estructura del archivo `.class` y la seguridad de tipos antes de la ejecución, rechazando archivos malformados o manipulados
DescompilaciónPuede desensamblarse con `javap -c` (integrado en el JDK) o descompilarse de nuevo a código fuente Java con herramientas como JD-GUI o CFR
EmpaquetadoNormalmente se distribuye empaquetado dentro de archivos `.jar` (contenedores basados en ZIP que contienen múltiples archivos `.class` y un manifiesto)
Incompatibilidad con AndroidAndroid no ejecuta archivos `.class` directamente; la herramienta `d8` los convierte a bytecode `.dex` para el Android Runtime (ART)
Lanzado1995-1996 (Java 1.0)
Estándar abierto · libre de regalías
Especificacióndocs.oracle.com

Conversiones de CLASS

Preguntas y respuestas de la comunidad

preguntado por usuarios
Hacer una pregunta rápida
Obtenga ayuda de personas que trabajan con archivos CLASS. Sea específico: incluya su sistema y la versión del software.
No se necesita cuenta · respuestas generalmente en un día

Aún no hay preguntas; sea el primero en preguntar sobre los archivos CLASS.

Preguntas frecuentes

¿Cómo abro un archivo CLASS?
No se abre como un documento: es Java compilado. Para EJECUTARLO necesitas tener instalado Java (JDK), luego usar «java MyClass». Para LEER lo que hace, ábrelo en un descompilador como JD-GUI, o desensámblalo con «javap -c MyClass» del JDK.
¿Cómo descompilo un archivo .class de nuevo a código fuente Java?
Usa un descompilador: JD-GUI (arrastra el .class adentro), o CFR/Fernflower/Procyon por línea de comandos. Obtendrás Java legible, pero los comentarios y los nombres de variables originales suelen desaparecer, y las clases ofuscadas resultan confusas.
¿Por qué recibo un error «UnsupportedClassVersionError»?
La clase fue compilada con una versión de Java más reciente que la que estás ejecutando. Instala un JDK al menos tan nuevo como el que la construyó (la versión mayor de la clase: 52=Java 8, 61=Java 17, 65=Java 21), o recompila el código fuente para tu versión.
¿Necesito Java para abrir un archivo CLASS?
Para ejecutarlo, sí; necesita una JVM. Para leerlo/descompilarlo, puedes usar herramientas como JD-GUI; los visores de IntelliJ/JD-GUI dependen de Java para ejecutarse ellos mismos, por lo que en la práctica tendrás Java instalado de cualquier manera.
¿Puedo convertir un archivo CLASS a un EXE?
No directamente: un .class necesita una JVM y no es código nativo de Windows. Empaqueta las clases en un JAR ejecutable y envuélvelo con jpackage o Launch4j; el resultado seguirá dependiendo de (o incluirá) Java.
¿Cuál es la diferencia entre un archivo .class y un archivo .jar?
Un .class es una sola clase compilada; un JAR es un paquete ZIP de muchos archivos .class más un manifiesto, utilizado para distribuir un programa o biblioteca completa. Las aplicaciones reales se distribuyen como JARs, no como archivos .class sueltos.

Referencias

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

Siga explorando

en toda la base de datos

Extensiones principales esta semana

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

Extensiones relacionadas

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

Herramientas de archivo gratuitas

Un identificador de archivos y convertidor de imágenes en el navegador - todo se ejecuta en su dispositivo.

Abrir la caja de herramientas

Explorar extensiones de archivo A-Z