Qu'est-ce que le format de fichier JAVA ?
Un fichier .java est un fichier de code source en texte brut écrit dans le langage de programmation Java. Java est un langage de programmation orienté objet construit autour des concepts de classes et d'objets. Les fichiers sources .java sont compilés par le compilateur javac en fichiers de bytecode .class ; pour exécuter le programme résultant, une Java Virtual Machine (JVM) est requise. Java est également le langage principal utilisé pour le développement d'applications Android.
Programmation orientée objet
Java a été fortement influencé par C++, bien qu'il ait été conçu dès le départ comme un langage indépendant de la plateforme. Les concepteurs originaux ont accepté certains compromis sur la vitesse d'exécution brute afin d'atteindre la portabilité « write once, run anywhere » (écrire une fois, exécuter partout) ; la compilation JIT (just-in-time) moderne a depuis comblé une grande partie de cet écart. Les fichiers .java sont presque entièrement constitués de déclarations de classes, d'interfaces, d'enums et de records, avec seulement un petit ensemble de types primitifs (tels que int, boolean et double) se situant en dehors du modèle objet. Par convention, chaque fichier .java contient exactement un type public, et le nom du fichier doit correspondre au nom de ce type - par exemple, App.java doit contenir public class App.
Pour simplifier, une classe est une généralisation - un modèle - d'un objet :
- *Classe :* humain - *objet :* Jean Dupont
- *Classe :* avion - *objet :* Boeing 737
Chaque classe définit les propriétés qu'un objet peut avoir (par exemple, une voiture peut avoir des propriétés telles que la couleur, le nombre de sièges, etc.) et les méthodes qu'il peut exécuter - c'est-à-dire les opérations ou actions qu'il peut effectuer (par exemple, un objet voiture peut accélérer, freiner et klaxonner). Les classes peuvent hériter d'autres classes ou composer d'autres classes, permettant la réutilisation du code et une conception modulaire.
La compilation d'un fichier .java avec javac produit un fichier .class ; plusieurs fichiers .class sont couramment empaquetés dans une archive JAR pour la distribution. Depuis Java 11, un programme .java à fichier unique peut également être lancé directement avec la commande java sans étape de compilation explicite.
Sécurité et sûreté
RISQUE : LOWUn fichier .java est un texte source passif - l'ouvrir ou le lire ne peut pas endommager votre ordinateur. Le risque n'apparaît que si vous le COMPILEZ et l'EXÉCUTEZ : comme tout programme que vous construisez à partir du code de quelqu'un d'autre, il s'exécute alors avec vos permissions et pourrait faire tout ce que le code indique, donc examinez ou faites confiance à la source avant de lancer « javac »/« java ». Il n'y a pas d'auto-exécution par la simple visualisation du fichier dans un éditeur.
Détails du format
en brefProgrammes qui ouvrent les fichiers JAVA
Détails techniques
spécifications approfondies| Type MIME | text/x-java-source (également accepté comme text/x-java) |
| Encodage du texte | UTF-8 ; la valeur par défaut pour javac depuis Java 18 (2022) ; les anciennes chaînes d'outils nécessitent un drapeau -encoding explicite |
| Signature de fichier | Aucune - texte brut sans octets magiques ; s'ouvre généralement par une déclaration de package, des instructions d'importation ou une définition de classe |
| Sortie de compilation | javac compile chaque fichier .java en un ou plusieurs fichiers de bytecode .class, un par type défini dans la source |
| Un type public par fichier | Le nom d'un type public doit correspondre exactement au nom du fichier - ex: App.java doit déclarer public class App ; violer ceci est une erreur de compilation |
| Ordre de structure du fichier | Déclaration de package optionnelle → instructions d'importation → déclarations de classe, interface, enum ou record contenant des champs et des méthodes |
| Taille de fichier typique | 1 Ko - 100 Ko ; une petite classe utilitaire peut faire moins de 1 Ko, une grande classe dépasse rarement 100 Ko |
| Prise en charge des plateformes | Multiplateforme : Windows, macOS, Linux et tout système d'exploitation avec un JDK installé ; la même source se compile sur toutes les plateformes |
| Mécanisme de version du langage | Le niveau de syntaxe n'est pas stocké dans le fichier lui-même ; il est contrôlé au moment de la compilation via javac --release N (ex: --release 21) |
| Types primitifs | Huit primitives intégrées - int, long, double, float, boolean, char, byte, short - existent aux côtés des types d'objets |
| Ajouts de syntaxe moderne | Records (Java 16), classes scellées (Java 17), filtrage par motif pour switch (Java 21), motifs et variables sans nom (Java 22) |
| Lancement direct (Java 11+) | Un fichier .java à source unique peut être exécuté avec java FileName.java sans étape de compilation javac préalable |
| Conditionnement pour le déploiement | Plusieurs fichiers .class compilés sont regroupés dans une archive .jar pour la distribution et l'exécution sur n'importe quelle JVM |
| Gouvernance du langage | Spécification du langage Java maintenue par Oracle ; implémentation open-source via OpenJDK sous le Java Community Process (JCP) |
| Outils de développement courants | IntelliJ IDEA, Eclipse IDE et Visual Studio Code (avec le Java Extension Pack) fournissent un outillage linguistique complet pour les fichiers .java |
| Publié | 1995 (Java 1.0, Sun Microsystems) |
| Dernière version | Tracks the Java language version; Java 24 (2025) is current at time of writing |
| Standard ouvert | Oui · libre de droits |
| Spécification | docs.oracle.com |
Conversions JAVA
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers JAVA.