Hva er JAVA-filformatet?
En .java-fil er en kildekodefil i ren tekst skrevet i programmeringsspråket Java. Java er et objektorientert programmeringsspråk bygget rundt konseptene klasser og objekter. .java-kildefiler kompileres av javac-kompilatoren til .class-bytekodefiler; for å kjøre det resulterende programmet kreves en Java Virtual Machine (JVM). Java er også det primære språket som brukes for utvikling av Android-applikasjoner.
Objektorientert programmering
Java ble sterkt påvirket av C++, selv om det ble designet fra grunnen av som et plattformuavhengig språk. De opprinnelige designerne aksepterte noen kompromisser i rå utførelseshastighet for å oppnå «write once, run anywhere»-portabilitet; moderne JIT-kompilering (just-in-time) har siden tettet mye av det gapet. .java-filer er bygget nesten utelukkende av deklarasjoner for klasser, grensesnitt (interfaces), enums og records, med bare et lite sett med primitive typer (som int, boolean og double) som faller utenfor objektmodellen. Etter konvensjon inneholder hver .java-fil nøyaktig én offentlig (public) type, og filnavnet må samsvare med navnet på den typen - for eksempel må App.java inneholde public class App.
For enkelhets skyld er en klasse en generalisering - en mal - av et objekt:
- *Klasse:* menneske - *objekt:* Ola Nordmann
- *Klasse:* fly - *objekt:* Boeing 737
Hver klasse definerer egenskapene et objekt kan ha (for eksempel kan en bil ha egenskaper som farge, antall seter, osv.) og metodene det kan utføre - det vil si operasjonene eller handlingene det kan utføre (for eksempel kan et bilobjekt akselerere, bremse og bruke hornet). Klasser kan arve fra andre klasser eller bestå av andre klasser, noe som muliggjør gjenbruk av kode og modulær design.
Kompilering av en .java-fil med javac produserer en .class-fil; flere .class-filer pakkes vanligvis inn i et JAR-arkiv for distribusjon. Siden Java 11 kan et .java-program som består av én enkelt fil også startes direkte med java-kommandoen uten et eksplisitt kompileringstrinn.
Sikkerhet og trygghet
RISIKO: LOWEn .java-fil er passiv kildetekst - å åpne eller lese den kan ikke skade datamaskinen din. Risikoen oppstår bare hvis du KOMPILERER og KJØRER den: som alle programmer du bygger fra andres kode, kjøres den da med dine tillatelser og kan gjøre alt koden tilsier, så gå gjennom eller stol på kilden før du kjører «javac»/«java». Det er ingen automatisk utførelse ved å bare se på filen i et redigeringsprogram.
Formatdetaljer
i et nøtteskallProgrammer som åpner JAVA-filer
Tekniske detaljer
dyp spesifikasjon| MIME-type | text/x-java-source (også akseptert som text/x-java) |
| Tekstkoding | UTF-8; standard for javac siden Java 18 (2022); eldre verktøykjeder krever et eksplisitt -encoding-flagg |
| Filsignatur | Ingen - ren tekst uten magic bytes; åpnes vanligvis med en pakkedeklarasjon, import-setninger eller en klassedefinisjon |
| Kompileringsresultat | javac kompilerer hver .java-fil til én eller flere .class-bytekodefiler, én per type definert i kilden |
| Én offentlig type per fil | Navnet på en offentlig type må samsvare nøyaktig med filnavnet - f.eks. må App.java deklarere public class App; brudd på dette gir kompileringsfeil |
| Filstrukturrekkefølge | Valgfri pakkedeklarasjon → import-setninger → deklarasjoner av klasse, grensesnitt, enum eller record som inneholder felt og metoder |
| Typisk filstørrelse | 1 KB - 100 KB; en liten verktøyklasse kan være under 1 KB, en stor klasse overstiger sjelden 100 KB |
| Plattformstøtte | Plattformuavhengig: Windows, macOS, Linux og ethvert operativsystem med en JDK installert; den samme kilden kompilerer på alle plattformer |
| Mekanisme for språkversjon | Syntaksnivå lagres ikke inne i selve filen; det styres ved kompilering via javac --release N (f.eks. --release 21) |
| Primitive typer | Åtte innebygde primitiver - int, long, double, float, boolean, char, byte, short - eksisterer ved siden av objekttyper |
| Moderne syntakstillegg | Records (Java 16), sealed classes (Java 17), pattern matching for switch (Java 21), unnamed patterns og variabler (Java 22) |
| Direkte oppstart (Java 11+) | En .java-fil med én kilde kan kjøres med java FileName.java uten et forutgående javac-kompileringstrinn |
| Distribusjonspakking | Flere kompilerte .class-filer buntes sammen i et .jar-arkiv for distribusjon og utførelse på enhver JVM |
| Språkforvaltning | Java-språkspesifikasjonen vedlikeholdes av Oracle; åpen kildekode-implementering via OpenJDK under Java Community Process (JCP) |
| Vanlige utviklingsverktøy | IntelliJ IDEA, Eclipse IDE og Visual Studio Code (med Java Extension Pack) gir fullstendig språkstøtte for .java-filer |
| Utgitt | 1995 (Java 1.0, Sun Microsystems) |
| Siste versjon | Tracks the Java language version; Java 24 (2025) is current at time of writing |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | docs.oracle.com |
JAVA-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om JAVA-filer.