Che cos'è il formato di file JAVA?
Un file .java è un file di codice sorgente in formato testo semplice scritto nel linguaggio di programmazione Java. Java è un linguaggio di programmazione orientato agli oggetti costruito attorno ai concetti di classi e oggetti. I file sorgente .java vengono compilati dal compilatore javac in file bytecode .class; per eseguire il programma risultante, è necessaria una Java Virtual Machine (JVM). Java è anche il linguaggio principale utilizzato per lo sviluppo di applicazioni Android.
Programmazione orientata agli oggetti
Java è stato fortemente influenzato dal C++, sebbene sia stato progettato fin dall'inizio come linguaggio indipendente dalla piattaforma. I progettisti originali hanno accettato alcuni compromessi nella velocità di esecuzione pura per ottenere la portabilità «write once, run anywhere» (scrivi una volta, esegui ovunque); la moderna compilazione JIT (just-in-time) ha da allora colmato gran parte di quel divario. I file .java sono costruiti quasi interamente da dichiarazioni di classi, interfacce, enum e record, con solo un piccolo insieme di tipi primitivi (come int, boolean e double) che non rientrano nel modello a oggetti. Per convenzione, ogni file .java contiene esattamente un tipo pubblico e il nome del file deve corrispondere al nome di quel tipo - ad esempio, App.java deve contenere public class App.
Per semplicità, una classe è una generalizzazione - un modello - di un oggetto:
- *Classe:* essere umano - *oggetto:* Mario Rossi
- *Classe:* aeroplano - *oggetto:* Boeing 737
Ogni classe definisce le proprietà che un oggetto può avere (ad esempio, un'auto può avere proprietà come colore, numero di posti, ecc.) e i metodi che può eseguire - ovvero le operazioni o le azioni che può compiere (ad esempio, un oggetto auto può accelerare, frenare e suonare il clacson). Le classi possono ereditare da altre classi o comporre altre classi, consentendo il riutilizzo del codice e una progettazione modulare.
La compilazione di un file .java con javac produce un file .class; più file .class vengono comunemente confezionati in un archivio JAR per la distribuzione. A partire da Java 11, un programma .java a file singolo può anche essere lanciato direttamente con il comando java senza un passaggio di compilazione esplicito.
Sicurezza e incolumità
RISCHIO: LOWUn file .java è testo sorgente passivo - aprirlo o leggerlo non può danneggiare il computer. Il rischio appare solo se lo COMPILI ed ESEGUI: come ogni programma creato da codice altrui, viene eseguito con i tuoi permessi e potrebbe fare qualsiasi cosa prevista dal codice, quindi revisiona o fidati della fonte prima di eseguire «javac»/«java». Non c'è esecuzione automatica semplicemente visualizzando il file in un editor.
Dettagli del formato
in sintesiProgrammi che aprono file JAVA
Dettagli tecnici
specifiche approfondite| Tipo MIME | text/x-java-source (accettato anche come text/x-java) |
| Codifica del testo | UTF-8; il predefinito per javac da Java 18 (2022); le toolchain più vecchie richiedono un flag -encoding esplicito |
| Firma del file | Nessuna - testo semplice senza magic bytes; in genere si apre con una dichiarazione di pacchetto, istruzioni di importazione o una definizione di classe |
| Output della compilazione | javac compila ogni file .java in uno o più file bytecode .class, uno per ogni tipo definito nel sorgente |
| Un tipo pubblico per file | Il nome di un tipo pubblico deve corrispondere esattamente al nome del file - es. App.java deve dichiarare public class App; violare questa regola è un errore di compilazione |
| Ordine della struttura del file | Dichiarazione opzionale del pacchetto → istruzioni di importazione → dichiarazioni di classi, interfacce, enum o record contenenti campi e metodi |
| Dimensione tipica del file | 1 KB - 100 KB; una piccola classe di utilità può essere inferiore a 1 KB, una classe grande raramente supera i 100 KB |
| Supporto piattaforma | Multipiattaforma: Windows, macOS, Linux e qualsiasi sistema operativo con un JDK installato; lo stesso sorgente si compila su tutte le piattaforme |
| Meccanismo versione linguaggio | Il livello della sintassi non è memorizzato all'interno del file stesso; è controllato al momento della compilazione tramite javac --release N (es. --release 21) |
| Tipi primitivi | Esistono otto primitivi integrati - int, long, double, float, boolean, char, byte, short - insieme ai tipi oggetto |
| Aggiunte sintattiche moderne | Record (Java 16), classi sigillate (Java 17), pattern matching per switch (Java 21), pattern e variabili senza nome (Java 22) |
| Lancio diretto (Java 11+) | Un file .java a sorgente singolo può essere eseguito con java NomeFile.java senza un passaggio di compilazione javac preventivo |
| Confezionamento per la distribuzione | Più file .class compilati vengono raggruppati in un archivio .jar per la distribuzione e l'esecuzione su qualsiasi JVM |
| Gestione del linguaggio | Specifica del linguaggio Java mantenuta da Oracle; implementazione open-source tramite OpenJDK sotto il Java Community Process (JCP) |
| Strumenti di sviluppo comuni | IntelliJ IDEA, Eclipse IDE e Visual Studio Code (con il Java Extension Pack) forniscono strumenti linguistici completi per i file .java |
| Rilasciato | 1995 (Java 1.0, Sun Microsystems) |
| Ultima versione | Tracks the Java language version; Java 24 (2025) is current at time of writing |
| Standard aperto | Sì · royalty-free |
| Specifica | docs.oracle.com |
Conversioni JAVA
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file JAVA.