.CLASS

Plik CLASS

Java Bytecode Class File
Zadaj pytanie
SZYBKA ODPOWIEDŹ

Plik CLASS to skompilowany kod bajtowy Java - wynik działania polecenia javac na pliku źródłowym .java. Aby go uruchomić, musisz mieć zainstalowane środowisko Java (JDK), a następnie użyć polecenia „java MyClass”. Aby sprawdzić, co robi kod, otwórz go w dekompilatorze, takim jak JD-GUI. Pliki CLASS nie są dokumentami; dwukrotne kliknięcie ich w menedżerze plików nie przyniesie użytecznych rezultatów.

Deweloper: Sun Microsystems (now Oracle); part of the Java Platform Kategoria: Pliki developerskie Otwarty standard MIME: application/java-vm
OTWIERA SIĘ NA Windows macOS Linux Web
Powiązane: .DO · .MD · .HEX · .XSD

Na tej stronie

Zindeksowano 19k+ rozszerzeń
Ostatnia weryfikacja Jul 31, 2026

Nie wiesz, co to za plik?

Przeciągnij dowolny plik do naszego identyfikatora - odczytujemy tylko pierwsze bajty, aby nazwać format.

Zidentyfikuj plik

Co to jest format pliku CLASS?

Plik .class zawiera skompilowany kod źródłowy napisany w języku programowania Java. Pliki .class są generowane przez kompilator Java z plików źródłowych .java, które definiują jedną lub więcej klas. Każdy plik .class jest wynikiem pomyślnej kompilacji i zawiera kod bajtowy - binarną reprezentację klasy, która jest wykonywana przez Maszynę Wirtualną Java (JVM).

Pliki .class są generowane automatycznie podczas kompilacji plików źródłowych .java. Ponieważ kod bajtowy jest niezależny od platformy, ten sam plik .class działa na dowolnym systemie operacyjnym, w którym zainstalowano kompatybilną JVM. Pojedynczy plik źródłowy .java może zawierać jedną lub więcej klas, a każda klasa otrzymuje własny plik .class podczas procesu kompilacji.

Kompilacja plików .java do plików .class odbywa się za pomocą polecenia javac dołączonego do zestawu Java Development Kit (JDK). Większość środowisk programistycznych Java - w tym IDE, takie jak IntelliJ IDEA i Eclipse - kompiluje pliki .class automatycznie podczas pisania kodu przez programistów.

Środowisko Java Runtime Environment (JRE) obsługuje wykonywanie plików .class za pomocą polecenia java, ale nie pozwala na kompilację, ponieważ JRE nie zawiera kompilatora javac.

Każdy plik .class zaczyna się od 4-bajtowej magicznej liczby 0xCAFEBABE, po której następują pola wersji minor i major, identyfikujące wydanie Java użyte do jego kompilacji. Wiele plików .class jest powszechnie pakowanych razem w archiwum JAR w celu dystrybucji i wdrożenia.

Ponieważ JVM jest dostępna w wielu wersjach, należy pamiętać, że nie wszystkie pliki .class są kompatybilne ze wszystkimi wersjami środowiska uruchomieniowego. Plik skompilowany z myślą o nowszej wersji głównej Java nie może zostać załadowany przez starszą JVM.

Bezpieczeństwo

RYZYKO: MEDIUM

Plik .class to skompilowany kod: jeśli uruchomisz go („java MyClass”) w JVM, zostanie wykonany z uprawnieniami Twojego użytkownika, więc nieznana klasa - podobnie jak nieznany plik JAR lub EXE - może zawierać złośliwe oprogramowanie. Traktuj pobraną skompilowaną Javę jako niezaufaną: uruchamiaj tylko klasy z zaufanych źródeł. Samo dekompilowanie lub deasemblowanie pliku .class (JD-GUI, javap) nie powoduje jego wykonania i jest bezpieczne. Pamiętaj, że kod bajtowy ujawnia logikę programu, więc wszystko, co skompilujesz, może zostać zdekompilowane przez innych, chyba że zostanie poddane obfuskacji.

Szczegóły formatu

w pigułce
PEŁNA NAZWAJava Bytecode Class File
DEWELOPERSun Microsystems (now Oracle); part of the Java Platformod 1995-1996 (Java 1.0)
TYP MIMEapplication/java-vm
TYPSkompilowany kod bajtowy Java (binarny)
STANDARDOtwarty · bezpłatny
POWIĄZANE.do.md.hex.xsd
MAGICZNE BAJTY · SYGNATURA PLIKU
OFFSET
00010203
HEX
CAFEBABE
ASCII
····
Każdy plik klasy Java zaczyna się od 4-bajtowej magicznej liczby 0xCAFEBABE, po której następuje 2-bajtowa wersja minor i 2-bajtowa wersja major (wersja major informuje, które wydanie Java go skompilowało, np. 52 = Java 8, 61 = Java 17). Dzięki temu pliki .class są łatwo identyfikowalne. (Uwaga: binarne pliki Mach-O na macOS również używają 0xCAFEBABE, ale pliki klas Java odróżniają się następującymi po nich słowami wersji).

Programy otwierające pliki CLASS

Windows4 apps
Eclipse IDE Open-source Zaimportuj klasę do projektu, aby ją uruchomić, lub użyj wbudowanego widoku kodu bajtowego/dekompilatora, aby ją sprawdzić.
Java (OpenJDK - Eclipse Temurin / Adoptium) Open-source Zainstaluj Temurin JDK, a następnie uruchom klasę z katalogu głównego pakietu: „java MyClass” (bez rozszerzenia .class). Wymaga metody main.
JD-GUI (decompiler) Open-source Otwórz plik .class (lub JAR), aby wyświetlić zrekonstruowany kod źródłowy Java - praktyczny sposób na sprawdzenie, co robi plik .class.
IntelliJ IDEA (Community) Freemium Otwórz/przeciągnij plik .class - IntelliJ pokazuje wbudowany widok zdekompilowany i może uruchamiać klasy w projekcie.
macOS3 apps
Java (OpenJDK - Eclipse Temurin) Open-source Zainstaluj Temurin, a następnie wpisz „java MyClass” w terminalu z odpowiedniego katalogu.
JD-GUI (decompiler) Open-source Otwórz plik .class (lub JAR), aby wyświetlić zrekonstruowany kod źródłowy Java - praktyczny sposób na sprawdzenie, co robi plik .class.
IntelliJ IDEA (Community) Freemium Otwórz/przeciągnij plik .class - IntelliJ pokazuje wbudowany widok zdekompilowany i może uruchamiać klasy w projekcie.
Linux2 apps
Java (OpenJDK) Open-source Zainstaluj przez menedżera pakietów („apt install default-jdk”) lub Temurin, a następnie „java MyClass”.
JD-GUI / CFR (decompilers) Open-source CFR to dekompilator wiersza poleceń („java -jar cfr.jar MyClass.class”); JD-GUI to opcja z interfejsem graficznym.
Web1 app
javap (bundled with the JDK) Wbudowany Nie jest to narzędzie webowe - ale polecenie JDK „javap -c MyClass” deasembluje plik .class do czytelnego kodu bajtowego bez żadnych dodatkowych narzędzi.

Szczegóły techniczne

specyfikacja
Typ formatuSkompilowany kod bajtowy Java (binarny)
Typ MIMEapplication/java-vm
Magiczne bajty0xCAFEBABE (4 bajty przy przesunięciu 0) - obecne w każdym poprawnym pliku .class
Kodowanie wersjiBajty 6-7 (wersja główna) identyfikują docelowe wydanie Java; np. 52 = Java 8, 61 = Java 17, 65 = Java 21
Środowisko wykonawczeMaszyna Wirtualna Java (JVM) za pomocą polecenia `java`
Narzędzie kompilacjiKompilator `javac`, dołączony do Java Development Kit (JDK)
Niezależność od platformyKod bajtowy jest neutralny dla architektury procesora i działa na każdym systemie operacyjnym z kompatybilną JVM
Jedna klasa na plikKażda klasa najwyższego poziomu lub statyczna klasa zagnieżdżona kompiluje się do własnego, oddzielnego pliku `.class`
Nazewnictwo klas wewnętrznychKlasy wewnętrzne i anonimowe tworzą dodatkowe pliki ze znakiem `$` w nazwie (np. `Outer$Inner.class`)
Pula stałychKażdy plik zawiera ustrukturyzowaną tabelę puli stałych, przechowującą literały ciągów znaków, nazwy klas oraz deskryptory pól i metod
Zestaw instrukcjiUżywa zestawu instrukcji kodu bajtowego JVM (~200 kodów operacji), niezależnego od natywnego zestawu instrukcji procesora
Weryfikator kodu bajtowegoJVM weryfikuje strukturę pliku `.class` i bezpieczeństwo typów przed wykonaniem, odrzucając pliki uszkodzone lub zmodyfikowane
DekompilacjaMoże być zdeasemblowany za pomocą `javap -c` (wbudowane w JDK) lub zdekompilowany z powrotem do źródła Java za pomocą narzędzi takich jak JD-GUI lub CFR
PakowanieZazwyczaj dystrybuowane wewnątrz archiwów `.jar` (kontenery oparte na ZIP, przechowujące wiele plików `.class` i manifest)
Niekompatybilność z AndroidAndroid nie wykonuje bezpośrednio plików `.class`; narzędzie `d8` konwertuje je na kod bajtowy `.dex` dla środowiska Android Runtime (ART)
Wydano1995-1996 (Java 1.0)
Otwarty standardTak · bezpłatny (royalty-free)
Specyfikacjadocs.oracle.com

Konwersje CLASS

Pytania i odpowiedzi społeczności

pytania użytkowników
Zadaj szybkie pytanie
Uzyskaj pomoc od osób pracujących z plikami CLASS. Bądź precyzyjny - podaj system i wersję oprogramowania.
Konto nie jest wymagane · odpowiedzi zazwyczaj w ciągu doby

Brak pytań - bądź pierwszą osobą, która zapyta o pliki CLASS.

Najczęściej zadawane pytania

Jak otworzyć plik CLASS?
Nie otwiera się go jak dokumentu - to skompilowana Java. Aby go URUCHOMIĆ, potrzebujesz zainstalowanego Java (JDK), a następnie użyj „java MyClass”. Aby PRZECZYTAĆ, co robi, otwórz go w dekompilatorze, takim jak JD-GUI, lub zdeasembluj za pomocą narzędzia JDK „javap -c MyClass”.
Jak zdekompilować plik .class z powrotem do źródła Java?
Użyj dekompilatora - JD-GUI (przeciągnij plik .class do środka) lub wiersza poleceń CFR/Fernflower/Procyon. Otrzymasz czytelną Javę, ale komentarze i oryginalne nazwy zmiennych zazwyczaj znikają, a klasy poddane obfuskacji będą nieczytelne.
Dlaczego pojawia się błąd „UnsupportedClassVersionError”?
Klasa została skompilowana w nowszej wersji Java niż ta, której używasz. Zainstaluj JDK co najmniej tak nowe, jak to, które ją zbudowało (wersja główna klasy: 52=Java 8, 61=Java 17, 65=Java 21) lub skompiluj ponownie źródło dla swojej wersji.
Czy potrzebuję Java, aby otworzyć plik CLASS?
Aby go uruchomić, tak - wymaga JVM. Aby go przeczytać/zdekompilować, możesz użyć narzędzi takich jak JD-GUI; przeglądarki w IntelliJ/JD-GUI same polegają na Java, więc w praktyce i tak będziesz mieć zainstalowaną Javę.
Czy mogę przekonwertować plik CLASS na EXE?
Nie bezpośrednio - plik .class wymaga JVM i nie jest natywnym kodem Windows. Spakuj klasy do uruchamialnego pliku JAR i opakuj go za pomocą jpackage lub Launch4j; wynik nadal będzie polegał na Java (lub będzie ją zawierał).
Jaka jest różnica między plikiem .class a .jar?
Plik .class to jedna skompilowana klasa; JAR to pakiet ZIP zawierający wiele plików .class oraz manifest, używany do dostarczania całego programu lub biblioteki. Prawdziwe aplikacje są dystrybuowane jako pliki JAR, a nie luźne pliki .class.

Źródła

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

Odkrywaj dalej

w całej bazie danych

Najpopularniejsze rozszerzenia w tym tygodniu

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.JPGJPEG Image
4.PARTPartial Download File
5.RPMSGRestricted Permission Message
6.MDMarkdown Document
7.DATProgram Data File (generic)
8.EXEWindows Executable (Portable Executable)
9.BINCD/DVD Disc Image (BIN/CUE)
10.DBSQLite Database File

Powiązane rozszerzenia

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

Darmowe narzędzia do plików

Identyfikator plików i konwerter obrazów w przeglądarce - wszystko działa na Twoim urządzeniu.

Otwórz przybornik

Przeglądaj rozszerzenia plików A-Z