Чем открывать class файлы java

How to open .class file in Java

javap is the Java Disassembler tool which can be used to open a .class file in a readable format. javap is located in the /bin folder of the JDK installation directory. The Java Decomplier (javap) displays information about the package, protected and public fields, and methods of the classes passed to it. The javap tool prints its output to stdout. In this article lets learn how to open a .class file in java with Example using javap.

Syntax for Javap

Javap Command Example in Java

lets use the Java Decomplier (Javap tool) to decompile our Demo class.

package com.javainterviewpoint; public class Demo < public void disp() < System.out.println("Welcome to JavaInterviewPoint. "); >public static void main(String args[]) < Demo d1 = new Demo(); d1.disp(); >>

upon executing javap command in cmd

javap com.javainterviewpoint.Demo

The below output will be produced

C:\JIP>javap com.javainterviewpoint.Demo Compiled from «Demo.java» public class com.javainterviewpoint.Demo

In the above code we have not used any options along with javap command in cmd, the most popular option is ‘-c’, this option prints instructions that comprise the Java bytecodes for each of the methods in the class.

C:\JIP>javap -c com.javainterviewpoint.Demo Compiled from "Demo.java" public class com.javainterviewpoint.Demo < public com.javainterviewpoint.Demo(); Code: 0: aload_0 1: invokespecial #1 // Method java/lang/Object."":()V 4: return public void disp(); Code: 0: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3 // String Welcome to JavaInterviewPoint. 5: invokevirtual #4 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return public static void main(java.lang.String[]); Code: 0: new #5 // class com/javainterviewpoint/Demo 3: dup 4: invokespecial #6 // Method "":()V 7: astore_1 8: aload_1 9: invokevirtual #7 // Method disp:()V 12: return >

How to use Javap command in Eclipse

Running javap command in eclipse can be done using External Tool Configuration only. Goto “Run –> External Tools –> External Tools Configurations” as shown in below image.

Eclipse External Tools Configuration

Enter the below information in the new Configuration window

  1. Click on Program and click on New
  2. Give the name for the configuration, here we have given ‘javap -verbose’
  3. Select the Location of javap.exe, by browsing the file system. Usually javap.exe will be location in the >/bin directory
  4. Select the Working Directory, the location where the class file resides (Demo Class). Click on browse workspace under bin select the package under where Demo class resides (Here com/javainterviewpoint)
  5. In the Arguments block give -verbose Demo, where -verbose is the option which you want to execute along with javap and Demo is our class name.
  6. Click on Apply and Finally Run.
Читайте также:  Single file php gallery

javap command eclipse configuration

We will get the below out displayed

Classfile /C:/Jackson/EclipseKepler/Workspace/MyJava/bin/com/javainterviewpoint/Demo.class Last modified Feb 5, 2016; size 696 bytes MD5 checksum ed681f968119b07f83eadbed004dcbee Compiled from "Demo.java" public class com.javainterviewpoint.Demo SourceFile: "Demo.java" minor version: 0 major version: 51 flags: ACC_PUBLIC, ACC_SUPER Constant pool: #1 = Class #2 // com/javainterviewpoint/Demo #2 = Utf8 com/javainterviewpoint/Demo #3 = Class #4 // java/lang/Object #4 = Utf8 java/lang/Object #5 = Utf8 #6 = Utf8 ()V #7 = Utf8 Code #8 = Methodref #3.#9 // java/lang/Object."":()V #9 = NameAndType #5:#6 // "":()V #10 = Utf8 LineNumberTable #11 = Utf8 LocalVariableTable #12 = Utf8 this #13 = Utf8 Lcom/javainterviewpoint/Demo; #14 = Utf8 disp #15 = Fieldref #16.#18 // java/lang/System.out:Ljava/io/PrintStream; #16 = Class #17 // java/lang/System #17 = Utf8 java/lang/System #18 = NameAndType #19:#20 // out:Ljava/io/PrintStream; #19 = Utf8 out #20 = Utf8 Ljava/io/PrintStream; #21 = String #22 // Welcome to JavaInterviewPoint. #22 = Utf8 Welcome to JavaInterviewPoint. #23 = Methodref #24.#26 // java/io/PrintStream.println:(Ljava/lang/String;)V #24 = Class #25 // java/io/PrintStream #25 = Utf8 java/io/PrintStream #26 = NameAndType #27:#28 // println:(Ljava/lang/String;)V #27 = Utf8 println #28 = Utf8 (Ljava/lang/String;)V #29 = Utf8 main #30 = Utf8 ([Ljava/lang/String;)V #31 = Methodref #1.#9 // com/javainterviewpoint/Demo."":()V #32 = Methodref #1.#33 // com/javainterviewpoint/Demo.disp:()V #33 = NameAndType #14:#6 // disp:()V #34 = Utf8 args #35 = Utf8 [Ljava/lang/String; #36 = Utf8 d1 #37 = Utf8 SourceFile #38 = Utf8 Demo.java < public com.javainterviewpoint.Demo(); flags: ACC_PUBLIC Code: stack=1, locals=1, args_size=1 0: aload_0 1: invokespecial #8 // Method java/lang/Object."":()V 4: return LineNumberTable: line 3: 0 LocalVariableTable: Start Length Slot Name Signature 0 5 0 this Lcom/javainterviewpoint/Demo; public void disp(); flags: ACC_PUBLIC Code: stack=2, locals=1, args_size=1 0: getstatic #15 // Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #21 // String Welcome to JavaInterviewPoint. 5: invokevirtual #23 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return LineNumberTable: line 7: 0 line 8: 8 LocalVariableTable: Start Length Slot Name Signature 0 9 0 this Lcom/javainterviewpoint/Demo; public static void main(java.lang.String[]); flags: ACC_PUBLIC, ACC_STATIC Code: stack=2, locals=2, args_size=1 0: new #1 // class com/javainterviewpoint/Demo 3: dup 4: invokespecial #31 // Method "":()V 7: astore_1 8: aload_1 9: invokevirtual #32 // Method disp:()V 12: return LineNumberTable: line 11: 0 line 12: 8 line 13: 12 LocalVariableTable: Start Length Slot Name Signature 0 13 0 args [Ljava/lang/String; 8 5 1 d1 Lcom/javainterviewpoint/Demo; >

you can also add different options in the Arguments block for different output. The complete list of the option which can be used along with Java Disassembler is present here.

Other interesting articles which you may like …

  • JVM Architecture – Understanding JVM Internals
  • Object and Object Class in Java
  • Difference between JDK, JRE and JVM
  • Components of Java Development Kit (JDK)
  • What is a Class in Java with Example
  • How to Set Classpath for Java in Windows
  • ClassNotFoundException Vs NoClassDefFoundError
  • How HashMap works in Java
  • How to make a class Immutable in Java
  • Polymorphism in Java – Method Overloading and Overriding
  • Types of polymorphism in Java
  • Types of Inheritance in Java
  • Java does not supports Multiple Inheritance Diamond Problem?

Источник

Файл с расширением .class

Иконка формата файла class

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

Читайте также:  Play pause animation css
Как, чем открыть файл .class?

Инструкция — как выбрать программу из списка, скачать и использовать ее для открытия файла

Для более точного определения формата и программ для открытия файла используйте функцию определения формата файла по расширению и по данным (заголовку) файла.

Программы

Файлы

  • Аудио-файлы
  • Видео-файлы
  • Рисунки, изображения
  • Растровые изображения
  • Векторные изображения
  • 3D-модели, изображения
  • CAD-файлы
  • Текст, документы
  • Электронные таблицы
  • Электронные книги
  • Архивы, сжатые файлы
  • Исполняемые файлы
  • Интернет, web файлы
  • Файлы игр
  • Образы дисков
  • Системные файлы
  • Файлы шрифтов
  • Зашифрованные файлы
  • Размеченные документы
  • Файлы резервных копий
  • Файлы данных
  • Файлы баз данных
  • Скрипты, исходный код
  • Подключаемые модули
  • Файлы настроек
  • Географические файлы
  • Другие файлы

Источник

Формат файла CLASS — описание, как открыть?

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

Чем открыть файл в формате CLASS

Расширение CLASS может быть представлено двумя основными исполнениями:

  • Формат CLASS (разработчик Oracle) относится к категории файлов, скомпилированных при помощи Java. Активируется двоичный байт-код расширения CLASS при инициализации Java Virtual Machine (JVM). Зачастую данный формат поддерживает совместную работу с JAR файлами.

Выполняя команду javac, входящую в состав инсталляционного пакета JVM, можно получить расширение CLASS из Java-файлов. Некоторые интегрированные разновидности Java, например, Eclipse, поддерживают параллельную генерацию формата CLASS в процессе написания программного кода.

Ввиду того, что существует несколько модификаций JVM (включая версии 1.4-1.6), некоторые исполнения CLASS файлов могут не поддерживаться на определенных версиях JVM.

Отсутствие бинарного javac в комплексе Java Runtime Environment (JRE) не позволяет компилировать файлы CLASS, но не исключает возможности их фактического выполнения. JRE и JVM зачастую применяются как идентичные понятия, когда речь идет о платформе, запускающей Java приложения.

  • Расширение CLASS представляет собой исходник к Gambas (правообладателем лицензии является GNU Public). Gambas – полнофункциональный, объектно-ориентированный язык программирования, выполненный на базе интерпретатора BASIC.

Методы и средства программирования, а также архитектура языка во многом схожа с представлением Java.

В основе Gambas следующие программные модули:

  • компилятор;
  • транслятор;
  • архиватор;
  • скрипты;
  • рабочая программная область;
  • дополнительные компоненты и конструктивные элементы.

Программы для открытия CLASS файлов

Если CLASS расширение представляет собой категорию файлов, скомпилированную при помощи Java, для генерации и воспроизведения его на базе ОС Windows можно воспользоваться самыми разнообразными программными комплексами:

В данном представлении CLASS адаптирован и для платформы ОС Mac:

Расширение может быть открыто и на базе ОС Linux с применением все тех же программных плагинов JD-GUI и Eclipse IDE for Java Developers with JD-Eclipse plug-in.

Если CLASS – исходник к Gambas, то открыть его можно с применением одной из версий языка программирования BASIC.

Если при открытии расширения CLASS возникает ошибка, причины могут заключаться в следующем:

  • поврежден или инфицирован файл;
  • файл не связан с реестром ОС (выбрано некорректное приложение для воспроизведения или не произведена инсталляция конкретного плагина);
  • недостаточно ресурсов устройства или ОС;
  • поврежденные или устаревшие драйвера.
Читайте также:  Java api for javascript

Конвертация CLASS в другие форматы

Уникальная структура и область применения CLASS для каждого конкретного случая не предоставляют возможностей для конвертации данного формата в другие расширения. Попытки конвертации расширения в другой формат могут не только не дать никаких практических результатов, но и повредить исходный файл. В этой связи трансляция данного формата не практикуется.

Почему именно CLASS и в чем его достоинства?

CLASS расширения нельзя назвать широко распространенным и востребованным форматом среди обычных пользователей, однако он нашел свое применение в некоторых узкоспециализированных областях:

  • поддержка специализированных компонентов, скомпилированных при помощи Java (разработчик Oracle);
  • написание приложений на Gambas, являющимся полнофункциональным, объектно-ориентированным языком программирования (на базе интерпретатора BASIC).

Компилированный файл .JAVA, созданный компилятором Java. Содержит байтовый код являющийся бинарным программным кодом, выполняемым при запуске Java Virtual Machine (JVM). Обычно встраивается в файлы .JAR, которые входят в состав среды $CLASSPATH, подходящей для исполнения.

Файлы CLASS можно компилировать из файлов JAVA при помощи команды javac, входящей в состав пакета инсталляции JVM. Многие интегрированные среды разработки Java, такие как Eclipse, могут компилировать файлы CLASS на ходу, пока разработчики пишут программный код.

Поскольку существует множество версий JVM (например, 1.4, 1.5 и 1.6), некоторые файлы CLASS могут быть несовместимы с определенными версиями JVM. Java Runtime Environment (JRE) может выполнять файлы CLASS, но не может компилировать их, поскольку не включает в себя бинарный javac.

Примечание: компания Oracle приобрела Sun Microsystems — изначального разработчика Java. JRE и JVM часто используются как синонимы для ссылок на платформу, запускающую приложения Java.

Чем открыть файл в формате CLASS (Java Class File)

Источник

Файл с расширением .class

Компилированный файл .JAVA, созданный компилятором Java. Содержит байтовый код являющийся бинарным программным кодом, выполняемым при запуске Java Virtual Machine (JVM). Обычно встраивается в файлы .JAR, которые входят в состав среды $CLASSPATH, подходящей для исполнения.

Файлы CLASS можно компилировать из файлов JAVA при помощи команды javac, входящей в состав пакета инсталляции JVM. Многие интегрированные среды разработки Java, такие как Eclipse, могут компилировать файлы CLASS на ходу, пока разработчики пишут программный код.

Поскольку существует множество версий JVM (например, 1.4, 1.5 и 1.6), некоторые файлы CLASS могут быть несовместимы с определенными версиями JVM. Java Runtime Environment (JRE) может выполнять файлы CLASS, но не может компилировать их, поскольку не включает в себя бинарный javac.

Примечание: компания Oracle приобрела Sun Microsystems — изначального разработчика Java. JRE и JVM часто используются как синонимы для ссылок на платформу, запускающую приложения Java.

Описание на русском Файл класса Java
Описание на английском Java Class File
Разработчик Oracle
HEX: CA FE BA BE
ASCII: ѕ

Расширение файла .class представляет собой файл класса Java. Данный файл может быть открыт с помощью следующих программ: Oracle Java Runtime Environment, Eclipse IDE for Java Developers с подключаемым модулем JD-Eclipse, dirtyJOE, JD-GUI.

Источник

Оцените статью