Hvad er JAVA-filformatet?
En .java-fil er en kildekodefil i almindelig tekst skrevet i programmeringssproget Java. Java er et objektorienteret programmeringssprog bygget op omkring koncepterne klasser og objekter. .java-kildekodefiler kompileres af javac-compileren til .class bytecode-filer; for at køre det resulterende program kræves en Java Virtual Machine (JVM). Java er også det primære sprog, der bruges til udvikling af Android-applikationer.
Objektorienteret programmering
Java var kraftigt inspireret af C++, selvom det blev designet fra bunden som et platformuafhængigt sprog. De oprindelige designere accepterede visse kompromiser i rå eksekveringshastighed for at opnå „skriv én gang, kør hvor som helst“-portabilitet; moderne JIT (just-in-time) kompilering har siden lukket meget af det hul. .java-filer er bygget næsten udelukkende af klasse-, interface-, enum- og record-erklæringer, med kun et lille sæt primitive typer (såsom int, boolean og double), der falder uden for objektmodellen. Efter konvention indeholder hver .java-fil præcis én offentlig type, og filnavnet skal matche denne types navn - for eksempel skal App.java indeholde public class App.
For enkelthedens skyld er en klasse en generalisering - en skabelon - af et objekt:
- *Klasse:* menneske - *objekt:* Smith John
- *Klasse:* flyvemaskine - *objekt:* Boeing 737
Hver klasse definerer de egenskaber, et objekt kan have (for eksempel kan en bil have egenskaber som farve, antal sæder osv.) og de metoder, det kan udføre - det vil sige de operationer eller handlinger, det kan foretage (for eksempel kan et bil-objekt accelerere, bremse og tude med hornet). Klasser kan arve fra andre klasser eller sammensætte andre klasser, hvilket muliggør genbrug af kode og modulært design.
Kompilering af en .java-fil med javac producerer en .class-fil; flere .class-filer pakkes almindeligvis i et JAR-arkiv til distribution. Siden Java 11 kan et enkeltfils .java-program også startes direkte med java-kommandoen uden et eksplicit kompileringstrin.
Sikkerhed og tryghed
RISIKO: LOWEn .java-fil er passiv kildetekst - åbning eller læsning af den kan ikke skade din computer. Risikoen opstår kun, hvis du KOMPILERER og KØRER den: som ethvert program, du bygger fra andres kode, kører det derefter med dine tilladelser og kan gøre alt, hvad koden siger, så gennemse eller hav tillid til kilden, før du kører „javac“/„java“. Der er ingen automatisk eksekvering ved blot at se filen i en editor.
Formatdetaljer
kort fortaltProgrammer der åbner JAVA-filer
Tekniske detaljer
dyb specifikation| MIME-type | text/x-java-source (accepteres også som text/x-java) |
| Tekstkodning | UTF-8; standarden for javac siden Java 18 (2022); ældre værktøjskæder kræver et eksplicit -encoding flag |
| Filsignatur | Ingen - almindelig tekst uden magic bytes; åbner typisk med en package-erklæring, import-sætninger eller en klassedefinition |
| Kompileringsoutput | javac kompilere hver .java-fil til en eller flere .class bytecode-filer, én per type defineret i kilden |
| Én offentlig type per fil | Navnet på en offentlig type skal matche filnavnet nøjagtigt - f.eks. skal App.java erklære public class App; overtrædelse af dette er en kompileringsfejl |
| Filstruktur-rækkefølge | Valgfri package-erklæring → import-sætninger → klasse-, interface-, enum- eller record-erklæringer indeholdende felter og metoder |
| Typisk filstørrelse | 1 KB - 100 KB; en lille hjælpeklasse kan være under 1 KB, en stor klasse overstiger sjældent 100 KB |
| Platformunderstøttelse | Platformsuafhængig: Windows, macOS, Linux og ethvert OS med et JDK installeret; den samme kildekode kompileres på alle platforme |
| Sprogversionsmekanisme | Syntaksniveauet gemmes ikke inde i selve filen; det styres ved kompilering via javac --release N (f.eks. --release 21) |
| Primitive typer | Otte indbyggede primitiver - int, long, double, float, boolean, char, byte, short - eksisterer side om side med objekttyper |
| Moderne syntakstilføjelser | Records (Java 16), sealed classes (Java 17), pattern matching for switch (Java 21), unavngivne mønstre og variabler (Java 22) |
| Direkte start (Java 11+) | En enkelt .java-kildekodefil kan køres med java FileName.java uden et forudgående javac-kompileringstrin |
| Udrulningspakning | Flere kompilerede .class-filer samles i et .jar-arkiv til distribution og eksekvering på enhver JVM |
| Sprogforvaltning | Java-sprogspecifikationen vedligeholdes af Oracle; open-source implementering via OpenJDK under Java Community Process (JCP) |
| Almindelige udviklingsværktøjer | IntelliJ IDEA, Eclipse IDE og Visual Studio Code (med Java Extension Pack) tilbyder fuld sprogunderstøttelse til .java-filer |
| Udgivet | 1995 (Java 1.0, Sun Microsystems) |
| Seneste version | Tracks the Java language version; Java 24 (2025) is current at time of writing |
| Åben standard | Ja · royaltyfri |
| Specifikation | docs.oracle.com |
JAVA-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om JAVA-filer.