转自:
http://www.cnblogs.com/gladto/archive/2011/03/12/1982247.html
import java.io.FileInputStream;
public class CheckClassVersion {
private static final String str = "D:/temp/sky/GongNeng.class";
// 版本号对应:
// 1.3
// 版本号(version):45.3
// 1.4
// 版本号(version):46.0
// 5.0
// 版本号(version):49.0
// 6.0
// 版本号(version):50.0
public static void main(String args[]) {
try {
// 读取文件数据,文件是当前目录下的First.class
FileInputStream fis = new FileInputStream(str);
int length = fis.available();
// 文件数据
byte[] data = new byte[length];
// 读取文件到字节数组
fis.read(data);
// 关闭文件
fis.close();
// 解析文件数据
parseFile(data);
} catch (Exception e) {
System.out.println(e);
}
}
private static void parseFile(byte[] data) {
// 输出魔数
System.out.print("魔数(magic):0x");
System.out.print(Integer.toHexString(data[0]).substring(6).toUpperCase());
System.out.print(Integer.toHexString(data[1]).substring(6).toUpperCase());
System.out.print(Integer.toHexString(data[2]).substring(6).toUpperCase());
System.out.println(Integer.toHexString(data[3]).substring(6).toUpperCase());
// 主版本号和次版本号码
int minor_version = (((int) data[4]) << 8) + data[5];
int major_version = (((int) data[6]) << 8) + data[7];
System.out.println("版本号(version):" + major_version + "." + minor_version);
}
}
分享到:
相关推荐
在 JDK 1.8 版本中,开发者们有时需要查看已编译的`.class`文件的源代码,以便理解其内部工作原理或进行调试。这时,就需要用到反编译工具。反编译是从已编译的字节码文件(.class文件)还原出类似源代码的形式,...
其中,"class反编译查看工具"是专门用于查看和理解Java字节码(.class文件)的工具,这类工具能够将Java的编译结果转换回源代码的形式,便于分析和学习。本文将详细介绍JD-GUI这款强大的Java类反编译工具及其功能。 ...
1. **支持jdk1.2 jdk1.3 jdk1.4 jdk1.5 jdk1.6**:这表明这个工具可以处理这些版本的Java编译后的字节码,意味着它可以打开并反编译这些版本的.class文件,帮助开发者查看对应时期的Java源代码。 2. **支持目录对...
Java反编译是Java开发中一个重要的辅助工具,它允许开发者查看和理解已编译的Class文件中的字节码,因为Java源代码在编译后会被转换为这种不可读的二进制格式。标题提到的"jdk反编译软件"正是针对这个需求而设计的,...
本文将深入探讨"jdk反编译工具"这一主题,帮助你了解如何借助此类工具解决无法查看源代码的问题。 首先,让我们了解什么是反编译。反编译是将已编译的计算机程序(通常为字节码或机器码)转换回接近原始源代码的...
在Java编程环境中,源代码会被编译成字节码(.class文件),这些字节码是机器不可读的,但是可以由Java虚拟机(JVM)执行。然而,有时我们需要查看或分析这些编译后的类文件,这时候就需要借助反编译工具。 标题中...
`jd-gui`是一个图形用户界面的应用程序,它允许开发者直接打开`.class`文件并实时查看反编译后的源代码。它不需要任何安装过程,只需解压下载的压缩包,然后运行相应的可执行文件,就能立即开始使用。这对于快速查看...
标题提到的是一个针对 JDK 1.8 版本的 Java 反编译工具,这表明该工具兼容 Java 8 的字节码,能够在不拥有源代码的情况下查看和理解类文件的实现细节。描述中提到了作者在寻找可用的工具过程中遇到困难,最终找到并...
Java反编译是将已编译的Java字节码(.class文件)转换回源代码的过程,以便开发者能够查看和理解这些编译后的代码。JAD(Java Decompiler)是一款著名的开源Java反编译工具,它能帮助程序员分析、理解和重构已编译的...
5. **兼容性**:jad 支持多种版本的Java字节码,包括较旧的JDK版本,使得开发者可以处理各种历史项目。 6. **可扩展性**:jad 允许用户通过自定义插件来扩展其反编译能力,以处理特定的字节码模式或优化输出。 7. ...
有了Linux ARM版本的JDK,开发者可以使用`javac`命令编译源代码,生成字节码(.class文件)。然后,使用`java`命令执行这些字节码,运行Java应用程序。在嵌入式系统和物联网设备中,这特别有用,因为Java的“一次...
它不仅能够处理标准的Java字节码,还能够处理包含JDK5.0及以后版本的高级特性,如泛型和注解。JAD可以通过命令行界面或集成到其他开发环境中使用,为开发者提供方便的反编译功能。 2. **JD-GUI** JD-GUI是一个图形...
Java JDK 1.8是Java开发工具包的一个版本,它包含了Java编程语言的运行环境(JRE)和用于编译、调试以及管理Java应用程序的工具。这个版本的JDK引入了多个重要的新特性,比如Lambda表达式、Stream API、方法引用、...
因本人使用的JDK1.8,测试可用,高版本JDK暂未测试。 使用步骤:beyond compare的菜单--工具(tools)--- 导入设置(import settings)导入即可. 将jar包或class文件拖放对比的时候,在对比窗口上选择编译方式为Java...
Java开发工具包(Java Development Kit,简称JDK)是Java编程环境的基础,它包含了编写、编译、运行Java应用程序所需的所有工具和库。JDK1.8是Oracle公司发布的Java平台标准版的一个重要版本,其全称为Java SE(Java...
具体切换在双击打开class文件对比的时候选择编译方式为Java Class to source。一般会自动识别。 本工具不光能反编译java class文件,还有其他如office文件,不过实测效果不是很好,具体看导入时候的列表。
在描述中提到的“class编译工具windows.zip”是一个免安装的Java开发工具包,可能包含了一个精简版的JDK或者专门用于编译Java源码的工具。这样的工具包方便那些不希望安装完整JDK但又需要编译Java代码的用户。使用...
Java 类文件(.class)是Java程序编译后的二进制形式,它们包含了机器可执行的指令和数据结构。然而,这些文件对于人类阅读来说并不友好,因为它们使用的是字节码,而不是源代码的形式。这时,Java 反编译工具就显得...
1. `javac`:Java编译器,用于将源代码(.java)编译成字节码(.class)。其常见选项包括: - `-g`:控制生成调试信息。 - `-classpath`:指定类路径,用于寻找依赖的类文件。 - `-d`:指定输出编译后的类文件的目录...
标题中的“jdk双版本.zip”表明这是一个包含两个不同平台版本的Java Development Kit(JDK)的压缩文件。JDK是Java编程语言的核心组件,它提供了编译、调试和运行Java应用程序所需的所有工具和库。 首先,我们来看...