.CLASS

Fichier CLASS

Java Bytecode Class File
Poser une question
RÉPONSE RAPIDE

Un fichier CLASS est du bytecode Java compilé - le résultat produit par javac à partir d'un fichier source .java. Pour l'exécuter, vous devez avoir installé Java (un JDK), puis utiliser la commande « java MyClass ». Pour lire ce que fait le code, ouvrez-le dans un décompilateur tel que JD-GUI. Les fichiers CLASS ne sont pas des documents ; un double-clic dans un gestionnaire de fichiers ne l'ouvrira pas de manière utile.

Développeur : Sun Microsystems (now Oracle); part of the Java Platform Catégorie : Fichiers de développement Standard ouvert MIME: application/java-vm
S'OUVRE SUR Windows macOS Linux Web
Lié : .DO · .MD · .HEX · .XSD

Sur cette page

19k+ extensions indexées
Dernière révision le Jul 31, 2026

Pas sûr de la nature de votre fichier ?

Déposez n'importe quel fichier dans notre identificateur - nous lisons juste les premiers octets pour nommer le format.

Identifier un fichier

Qu'est-ce que le format de fichier CLASS ?

Un fichier .class contient du code source compilé écrit dans le langage de programmation Java. Les fichiers .class sont générés par le compilateur Java à partir de fichiers sources .java qui définissent une ou plusieurs classes. Chaque fichier .class est le résultat d'une compilation réussie et contient du bytecode - une représentation binaire d'une classe qui est exécutée par la Java Virtual Machine (JVM).

Les fichiers .class sont générés automatiquement lors de la compilation des fichiers sources .java. Comme le bytecode est indépendant de la plateforme, le même fichier .class s'exécute sur n'importe quel système d'exploitation disposant d'une JVM compatible installée. Un seul fichier source .java peut contenir une ou plusieurs classes, et chaque classe obtient son propre fichier .class pendant le processus de compilation.

La compilation des fichiers .java en fichiers .class est effectuée à l'aide de la commande javac incluse dans le Java Development Kit (JDK). La plupart des environnements de programmation Java - y compris les IDE tels qu'IntelliJ IDEA et Eclipse - compilent les fichiers .class automatiquement au fur et à mesure que les programmeurs écrivent le code.

Le Java Runtime Environment (JRE) prend en charge l'exécution des fichiers .class via la commande java, mais ne permet pas la compilation car le JRE n'inclut pas le compilateur javac.

Chaque fichier .class commence par le nombre magique de 4 octets 0xCAFEBABE, suivi des champs de version mineure et majeure qui identifient la version de Java utilisée pour le compiler. Plusieurs fichiers .class sont couramment regroupés dans une archive JAR pour la distribution et le déploiement.

Comme la JVM est disponible dans de nombreuses versions, il faut garder à l'esprit que tous les fichiers .class ne sont pas compatibles avec toutes les versions de l'environnement d'exécution. Un fichier compilé ciblant une version majeure de Java plus récente ne peut pas être chargé par une JVM plus ancienne.

Sécurité et sûreté

RISQUE : MEDIUM

Un fichier .class est du code compilé : si vous l'exécutez (« java MyClass ») avec une JVM, il s'exécute avec les permissions de votre utilisateur. Ainsi, une classe inconnue - tout comme un JAR ou un EXE inconnu - peut contenir des logiciels malveillants. Traitez le Java compilé téléchargé comme non fiable : n'exécutez que des classes provenant d'une source de confiance. La simple décompilation ou le désassemblage d'un .class (JD-GUI, javap) n'exécute pas le code et est sans danger. Sachez que le bytecode révèle la logique d'un programme, donc tout ce que vous compilez peut être décompilé par d'autres, sauf s'il est obfusqué.

Détails du format

en bref
NOM COMPLETJava Bytecode Class File
DÉVELOPPEURSun Microsystems (now Oracle); part of the Java Platformdepuis 1995-1996 (Java 1.0)
TYPE MIMEapplication/java-vm
TYPEBytecode Java compilé (binaire)
STANDARDOuvert · libre de droits
OCTETS MAGIQUES · SIGNATURE DE FICHIER
OFFSET
00010203
HEX
CAFEBABE
ASCII
····
Chaque fichier de classe Java commence par le nombre magique de 4 octets 0xCAFEBABE, suivi d'une version mineure de 2 octets et d'une version majeure de 2 octets (la version majeure indique quelle version de Java l'a compilé, ex: 52 = Java 8, 61 = Java 17). Cela rend les fichiers .class trivialement identifiables. (Note : les binaires Mach-O fat sur macOS utilisent également 0xCAFEBABE, mais les fichiers de classe Java se distinguent par les mots de version qui suivent.)

Programmes qui ouvrent les fichiers CLASS

Windows4 apps
Eclipse IDE Open-source Importez la classe dans un projet pour l'exécuter, ou utilisez la vue bytecode/décompilateur intégrée pour l'inspecter.
Java (OpenJDK - Eclipse Temurin / Adoptium) Open-source Installez Temurin JDK, puis lancez la classe depuis la racine de son package : « java MyClass » (sans l'extension .class). Nécessite une méthode main.
JD-GUI (decompiler) Open-source Ouvrez le .class (ou un JAR) pour visualiser le code source Java reconstruit - la méthode pratique pour lire ce qu'un .class fait.
IntelliJ IDEA (Community) Freemium Ouvrez ou glissez un .class - IntelliJ affiche une vue décompilée intégrée et peut exécuter des classes dans un projet.
macOS3 apps
Java (OpenJDK - Eclipse Temurin) Open-source Installez Temurin, puis « java MyClass » dans le Terminal depuis le bon répertoire.
JD-GUI (decompiler) Open-source Ouvrez le .class (ou un JAR) pour visualiser le code source Java reconstruit - la méthode pratique pour lire ce qu'un .class fait.
IntelliJ IDEA (Community) Freemium Ouvrez ou glissez un .class - IntelliJ affiche une vue décompilée intégrée et peut exécuter des classes dans un projet.
Linux2 apps
Java (OpenJDK) Open-source Installez via le gestionnaire de paquets (« apt install default-jdk ») ou Temurin, puis « java MyClass ».
JD-GUI / CFR (decompilers) Open-source CFR est un décompilateur en ligne de commande (« java -jar cfr.jar MyClass.class ») ; JD-GUI est l'option avec interface graphique.
Web1 app
javap (bundled with the JDK) Intégré Pas un outil web - mais la commande « javap -c MyClass » du JDK désassemble un .class en bytecode lisible sans aucun outil supplémentaire.

Détails techniques

spécifications approfondies
Type de formatBytecode Java compilé (binaire)
Type MIMEapplication/java-vm
Octets magiques0xCAFEBABE (4 octets à l'offset 0) - présent dans chaque fichier .class valide
Encodage de la versionLes octets 6-7 (version majeure) identifient la version Java cible ; ex: 52 = Java 8, 61 = Java 17, 65 = Java 21
Environnement d'exécutionJava Virtual Machine (JVM) via la commande `java`
Outil de compilationCompilateur `javac`, inclus dans le Java Development Kit (JDK)
Indépendance de la plateformeLe bytecode est neutre vis-à-vis de l'architecture CPU et s'exécute sur tout OS avec une JVM compatible
Une classe par fichierChaque classe de haut niveau ou classe imbriquée statique est compilée dans son propre fichier `.class` séparé
Nommage des classes internesLes classes internes et anonymes produisent des fichiers supplémentaires avec un `$` dans le nom (ex: `Outer$Inner.class`)
Pool de constantesChaque fichier intègre une table structurée de pool de constantes contenant des littéraux de chaîne, des noms de classes et des descripteurs de champs/méthodes
Jeu d'instructionsUtilise le jeu d'instructions bytecode de la JVM (~200 opcodes), indépendant de tout jeu d'instructions CPU natif
Vérificateur de bytecodeLa JVM vérifie la structure du fichier `.class` et la sécurité des types avant l'exécution, rejetant les fichiers malformés ou altérés
DécompilationPeut être désassemblé avec `javap -c` (intégré au JDK) ou décompilé en source Java avec des outils tels que JD-GUI ou CFR
ConditionnementGénéralement distribué regroupé dans des archives `.jar` (conteneurs basés sur ZIP contenant plusieurs fichiers `.class` et un manifeste)
Incompatibilité AndroidAndroid n'exécute pas directement les fichiers `.class` ; l'outil `d8` les convertit en bytecode `.dex` pour l'Android Runtime (ART)
Publié1995-1996 (Java 1.0)
Standard ouvertOui · libre de droits
Spécificationdocs.oracle.com

Conversions CLASS

Q&R de la communauté

posées par les utilisateurs
Poser une question rapide
Obtenez de l'aide de personnes qui travaillent avec des fichiers CLASS. Soyez précis - incluez votre système et la version du logiciel.
Aucun compte requis · réponses généralement sous un jour

Pas encore de questions - soyez le premier à poser une question sur les fichiers CLASS.

Foire aux questions

Comment ouvrir un fichier CLASS ?
Vous ne l'ouvrez pas comme un document - c'est du Java compilé. Pour l'EXÉCUTER, vous avez besoin de Java (JDK) installé, puis tapez « java MyClass ». Pour LIRE ce qu'il fait, ouvrez-le dans un décompilateur tel que JD-GUI, ou désassemblez-le avec l'outil « javap -c MyClass » du JDK.
Comment décompiler un fichier .class en source Java ?
Utilisez un décompilateur - JD-GUI (glissez le .class dedans), ou en ligne de commande CFR/Fernflower/Procyon. Vous obtiendrez du Java lisible, mais les commentaires et les noms de variables originaux ont généralement disparu, et les classes obfusquées donnent un résultat confus.
Pourquoi ai-je l'erreur « UnsupportedClassVersionError » ?
La classe a été compilée avec une version de Java plus récente que celle que vous utilisez. Installez un JDK au moins aussi récent que celui qui l'a construit (version majeure de la classe : 52=Java 8, 61=Java 17, 65=Java 21), ou recompilez la source pour votre version.
Ai-je besoin de Java pour ouvrir un fichier CLASS ?
Pour l'exécuter, oui - il nécessite une JVM. Pour le lire/décompiler, vous pouvez utiliser des outils comme JD-GUI ; les visionneuses d'IntelliJ/JD-GUI dépendent elles-mêmes de Java pour fonctionner, donc en pratique, vous aurez Java installé dans les deux cas.
Puis-je convertir un fichier CLASS en EXE ?
Pas directement - un .class nécessite une JVM et n'est pas du code Windows natif. Emballez les classes dans un JAR exécutable et utilisez jpackage ou Launch4j ; le résultat dépendra toujours de (ou inclura) Java.
Quelle est la différence entre un fichier .class et un fichier .jar ?
Un .class est une seule classe compilée ; un JAR est un paquet ZIP regroupant de nombreux fichiers .class ainsi qu'un manifeste, utilisé pour livrer un programme complet ou une bibliothèque. Les applications réelles sont distribuées sous forme de JARs, pas de fichiers .class isolés.

Références

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

Continuer l'exploration

à travers la base de données

Top des extensions cette semaine

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

Extensions liées

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

Outils de fichiers gratuits

Un identificateur de fichier et un convertisseur d'images dans le navigateur - tout s'exécute sur votre appareil.

Ouvrir la boîte à outils

Parcourir les extensions de fichiers A-Z