.CLASS

Файл CLASS

Java Bytecode Class File
Задать вопрос
БЫСТРЫЙ ОТВЕТ

Файл CLASS представляет собой скомпилированный байт-код Java - результат работы javac из исходного файла .java. Чтобы запустить его, вам необходимо установить Java (JDK), а затем использовать команду «java MyClass». Чтобы прочитать, что делает код, откройте его в декомпиляторе, таком как JD-GUI. Файлы CLASS не являются документами; двойной клик по ним в файловом менеджере не приведет к полезному результату.

Разработчик: Sun Microsystems (now Oracle); part of the Java Platform Категория: Файлы разработчика Открыть стандартное MIME: application/java-vm
ОТКРЫВАЕТСЯ НА Windows macOS Linux Web
Связанные: .DO · .MD · .HEX · .XSD

На этой странице

Проиндексировано расширений: 19k+
Последняя проверка: Jul 31, 2026

Не знаете, что это за файл?

Перетащите любой файл в наш идентификатор - мы прочитаем первые байты, чтобы определить формат.

Идентифицировать файл

Что такое формат файла CLASS?

Файл .class содержит скомпилированный исходный код, написанный на языке программирования Java. Файлы .class генерируются компилятором Java из исходных файлов .java, которые определяют один или несколько классов. Каждый файл .class является результатом успешной компиляции и содержит байт-код - бинарное представление класса, которое исполняется виртуальной машиной Java (JVM).

Файлы .class создаются автоматически во время компиляции исходных файлов .java. Поскольку байт-код платформонезависим, один и тот же файл .class работает в любой операционной системе, где установлена совместимая JVM. Один исходный файл .java может содержать один или несколько классов, и каждый класс получает свой собственный файл .class в процессе компиляции.

Компиляция файлов .java в файлы .class выполняется с помощью команды javac, входящей в состав Java Development Kit (JDK). Большинство сред программирования Java, включая такие IDE, как IntelliJ IDEA и Eclipse, компилируют файлы .class автоматически по мере написания кода программистом.

Java Runtime Environment (JRE) поддерживает выполнение файлов .class с помощью команды java, но не позволяет выполнять компиляцию, так как JRE не включает компилятор javac.

Каждый файл .class начинается с 4-байтового магического числа 0xCAFEBABE, за которым следуют поля дополнительной и основной версий, идентифицирующие выпуск Java, использованный для компиляции. Несколько файлов .class обычно упаковываются вместе в архив JAR для распространения и развертывания.

Поскольку JVM доступна во многих версиях, следует помнить, что не все файлы .class совместимы со всеми версиями среды выполнения. Файл, скомпилированный для более новой основной версии Java, не может быть загружен старой JVM.

Безопасность и защита

РИСК: MEDIUM

Файл .class - это скомпилированный код: если вы запустите его («java MyClass») в JVM, он будет выполнен с правами вашего пользователя, поэтому неизвестный класс - как и неизвестный JAR или EXE - может содержать вредоносное ПО. Относитесь к загруженной скомпилированной Java как к ненадежной: запускайте классы только из доверенных источников. Простая декомпиляция или дизассемблирование .class (JD-GUI, javap) не запускает его и является безопасным. Имейте в виду, что байт-код раскрывает логику программы, поэтому все, что вы компилируете, может быть декомпилировано другими, если не использована обфускация.

Детали формата

в двух словах
ПОЛНОЕ НАЗВАНИЕJava Bytecode Class File
РАЗРАБОТЧИКSun Microsystems (now Oracle); part of the Java Platformс 1995-1996 (Java 1.0)
MIME-ТИПapplication/java-vm
ТИПСкомпилированный байт-код Java (бинарный)
СТАНДАРТОткрытый · без роялти
СВЯЗАННЫЕ.do.md.hex.xsd
MAGIC BYTES · СИГНАТУРА ФАЙЛА
СМЕЩЕНИЕ
00010203
HEX
CAFEBABE
ASCII
····
Каждый файл класса Java начинается с 4-байтового магического числа 0xCAFEBABE, за которым следуют 2-байтовая дополнительная и 2-байтовая основная версии (основная версия указывает, какой выпуск Java скомпилировал его, например, 52 = Java 8, 61 = Java 17). Это делает файлы .class легко идентифицируемыми. (Примечание: бинарные файлы Mach-O fat в macOS также используют 0xCAFEBABE, но файлы классов Java отличаются последующими словами версии.)

Программы, открывающие файлы CLASS

Windows4 apps
Eclipse IDE Открытый код Импортируйте класс в проект для запуска или используйте встроенный просмотрщик байт-кода/декомпилятор для проверки.
Java (OpenJDK - Eclipse Temurin / Adoptium) Открытый код Установите Temurin JDK, затем запустите класс из корня пакета: «java MyClass» (без расширения .class). Требуется метод main.
JD-GUI (decompiler) Открытый код Откройте .class (или JAR) для просмотра реконструированного исходного кода Java - практичный способ узнать, что делает .class.
IntelliJ IDEA (Community) Freemium Откройте или перетащите .class - IntelliJ показывает встроенный декомпилированный вид и может запускать классы в проекте.
macOS3 apps
Java (OpenJDK - Eclipse Temurin) Открытый код Установите Temurin, затем введите «java MyClass» в терминале из нужной директории.
JD-GUI (decompiler) Открытый код Откройте .class (или JAR) для просмотра реконструированного исходного кода Java - практичный способ узнать, что делает .class.
IntelliJ IDEA (Community) Freemium Откройте или перетащите .class - IntelliJ показывает встроенный декомпилированный вид и может запускать классы в проекте.
Linux2 apps
Java (OpenJDK) Открытый код Установите через менеджер пакетов («apt install default-jdk») или Temurin, затем «java MyClass».
JD-GUI / CFR (decompilers) Открытый код CFR - это консольный декомпилятор («java -jar cfr.jar MyClass.class»); JD-GUI - вариант с графическим интерфейсом.
Web1 app
javap (bundled with the JDK) Встроенная Не веб-инструмент, но команда JDK «javap -c MyClass» дизассемблирует .class в читаемый байт-код без дополнительных средств.

Технические подробности

глубокая спецификация
Тип форматаСкомпилированный байт-код Java (бинарный)
MIME-типapplication/java-vm
Магические байты0xCAFEBABE (4 байта со смещением 0) - присутствуют в каждом валидном файле .class
Кодирование версииБайты 6-7 (основная версия) идентифицируют целевой выпуск Java; например, 52 = Java 8, 61 = Java 17, 65 = Java 21
Среда выполненияВиртуальная машина Java (JVM) через команду `java`
Инструмент компиляцииКомпилятор `javac`, включенный в Java Development Kit (JDK)
ПлатформонезависимостьБайт-код нейтрален к архитектуре процессора и работает на любой ОС с совместимой JVM
Один класс на файлКаждый класс верхнего уровня или статический вложенный класс компилируется в свой отдельный файл `.class`
Именование внутренних классовВнутренние и анонимные классы создают дополнительные файлы с символом `$` в имени (например, `Outer$Inner.class`)
Пул константКаждый файл содержит структурированную таблицу пула констант, в которой хранятся строковые литералы, имена классов и дескрипторы полей/методов
Набор инструкцийИспользует набор инструкций байт-кода JVM (около 200 опкодов), независимый от набора инструкций любого нативного процессора
Верификатор байт-кодаJVM проверяет структуру файла `.class` и безопасность типов перед выполнением, отклоняя поврежденные или подделанные файлы
ДекомпиляцияМожет быть дизассемблирован с помощью `javap -c` (встроено в JDK) или декомпилирован обратно в исходный код Java с помощью таких инструментов, как JD-GUI или CFR
УпаковкаОбычно распространяется в составе архивов `.jar` (контейнеры на базе ZIP, содержащие множество файлов `.class` и манифест)
Несовместимость с AndroidAndroid не исполняет файлы `.class` напрямую; инструмент `d8` преобразует их в байт-код `.dex` для Android Runtime (ART)
Выпущен1995-1996 (Java 1.0)
Открыть стандартноеДа · без роялти
Спецификацияdocs.oracle.com

Конвертации CLASS

Вопросы и ответы сообщества

спрошено пользователями
Задать быстрый вопрос
Получите помощь от людей, работающих с файлами CLASS. Будьте конкретны - укажите вашу систему и версию ПО.
Аккаунт не нужен · ответы обычно в течение дня

Вопросов пока нет - станьте первым, кто спросит о файлах CLASS.

Часто задаваемые вопросы

Как открыть файл CLASS?
Вы не открываете его как документ - это скомпилированная Java. Чтобы ЗАПУСТИТЬ его, вам нужна установленная Java (JDK), затем команда «java MyClass». Чтобы ПРОЧИТАТЬ, что он делает, откройте его в декомпиляторе, таком как JD-GUI, или дизассемблируйте его с помощью «javap -c MyClass» из состава JDK.
Как декомпилировать файл .class обратно в исходный код Java?
Используйте декомпилятор - JD-GUI (перетащите в него .class) или консольные инструменты CFR/Fernflower/Procyon. Вы получите читаемую Java, но комментарии и оригинальные имена переменных обычно теряются, а обфусцированные классы выглядят запутанно.
Почему я получаю ошибку «UnsupportedClassVersionError»?
Класс был скомпилирован в более новой версии Java, чем та, которую вы используете. Установите JDK версии не ниже той, в которой он был собран (основная версия класса: 52=Java 8, 61=Java 17, 65=Java 21), или перекомпилируйте исходный код для вашей версии.
Нужна ли мне Java, чтобы открыть файл CLASS?
Для запуска - да, необходима JVM. Для чтения/декомпиляции можно использовать такие инструменты, как JD-GUI; однако сами просмотрщики IntelliJ/JD-GUI для своей работы также требуют Java, так что на практике она понадобится в любом случае.
Можно ли конвертировать файл CLASS в EXE?
Напрямую нет - файлу .class нужна JVM, он не является нативным кодом Windows. Упакуйте классы в исполняемый JAR и оберните его с помощью jpackage или Launch4j; результат все равно будет полагаться на Java (или включать ее в себя).
В чем разница между файлами .class и .jar?
Файл .class - это один скомпилированный класс; JAR - это ZIP-архив из множества файлов .class и манифеста, используемый для поставки целой программы или библиотеки. Реальные приложения распространяются как JAR, а не как отдельные файлы .class.

Ссылки

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

Узнать больше

по всей базе данных

Популярные расширения на этой неделе

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.MDMarkdown Document
4.BINCD/DVD Disc Image (BIN/CUE)
5.PARTPartial Download File
6.RPMSGRestricted Permission Message
7.NOMEDIAAndroid No-Media Marker File
8.EXEWindows Executable (Portable Executable)
9.AVIFAV1 Image File Format (AVIF)
10.ICSiCalendar data file

Похожие расширения

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

Бесплатные инструменты для файлов

Идентификатор файлов и конвертер изображений в браузере - все работает на вашем устройстве.

Открыть инструменты

Обзор расширений файлов A-Z