由于JDK一般是向下兼容的,所以有时候本地的JDK版本比类库的版本低,往往会抛出
java.lang.UnsupportedClassVersionError: Bad version number in .class file。
有时候需要确认到底是哪个类的版本低。所以需要确认类的编译JDK的版本。
可用二进制编辑工具(例如EmEditor)打开类文件,会有以下的显示:
CA FE BA BE 00 00 00 32.....
而上面的32是编译这个类的JDK版本,
32表示是50,是JDK1.6;31表示49,是JDK1.5;30表示48,是JDK1.4......依次类推。
如编译上面的类的JDK为JDK1.6。所以你在环境是JDK1.6以下的引用这个类,就会抛出版本不对的异常。
- 大小: 209 KB
分享到:
相关推荐
在 JDK 1.8 版本中,开发者们有时需要查看已编译的`.class`文件的源代码,以便理解其内部工作原理或进行调试。这时,就需要用到反编译工具。反编译是从已编译的字节码文件(.class文件)还原出类似源代码的形式,...
1. **支持jdk1.2 jdk1.3 jdk1.4 jdk1.5 jdk1.6**:这表明这个工具可以处理这些版本的Java编译后的字节码,意味着它可以打开并反编译这些版本的.class文件,帮助开发者查看对应时期的Java源代码。 2. **支持目录对...
其中,"class反编译查看工具"是专门用于查看和理解Java字节码(.class文件)的工具,这类工具能够将Java的编译结果转换回源代码的形式,便于分析和学习。本文将详细介绍JD-GUI这款强大的Java类反编译工具及其功能。 ...
描述中提到的"用于反编译class文件,直接打开里面的exe文件运行打开class文件即可实现反编译",指的是JD-GUI这款工具。JD-GUI是一个图形用户界面的应用程序,它允许用户直接查看单个Java类的源代码,而无需进行任何...
在Java编程语言中,`.class`文件是Java字节码的载体,它是源代码经过编译后的结果。这些字节码文件通常不直接可读,因为它们是机器不可理解的二进制格式。然而,开发者有时需要查看这些字节码背后的源代码,这就要...
为了理解class文件内部的代码逻辑,开发者常常会使用反编译工具,jad 就是其中之一。jad 是一个流行的Java字节码反编译器,它能够将.class文件转换为可读的Java源代码。 jad 的主要功能和特点包括: 1. **反编译...
因本人使用的JDK1.8,测试可用,高版本JDK暂未测试。 使用步骤:beyond compare的菜单--工具(tools)--- 导入设置(import ...将jar包或class文件拖放对比的时候,在对比窗口上选择编译方式为Java Class to source。
使用过程中,需要注意版本兼容性,确保所使用的反编译工具能够正确处理目标Class文件的版本,因为随着Java版本的更新,字节码的格式也会有所变化。 总的来说,Java反编译工具是Java开发者的得力助手,它们能帮助...
要将`.java`文件编译成`.class`文件,我们需要使用Java的JDK(Java Development Kit)中的`javac`编译器。 以下是一般的编译步骤: 1. 安装JDK:首先,你需要在计算机上安装适合你操作系统的JDK版本。例如,对于...
在描述中提到的“class编译工具windows.zip”是一个免安装的Java开发工具包,可能包含了一个精简版的JDK或者专门用于编译Java源码的工具。这样的工具包方便那些不希望安装完整JDK但又需要编译Java代码的用户。使用...
Java 类文件(.class)是Java程序编译后的二进制形式,它们包含了机器可执行的指令和数据结构。然而,这些文件对于人类阅读来说并不友好,因为它们使用的是字节码,而不是源代码的形式。这时,Java 反编译工具就显得...
具体切换在双击打开class文件对比的时候选择编译方式为Java Class to source。一般会自动识别。 本工具不光能反编译java class文件,还有其他如office文件,不过实测效果不是很好,具体看导入时候的列表。
闲暇时写的小东西,路过的可以看看.查看class文件编译时使用的jdk版本.没技术含量,纯粹为了查看方便,使用UltraEdit一样可以看16进制来换算.
JDK自带了一个简单的反编译工具——`javap`,它主要用于查看类文件的元数据,如方法签名、常量池等。但`javap`并不提供完整的源代码反编译功能,对于想要阅读类库源代码的开发者来说,它的能力有限。因此,我们需要...
`jd-gui`是一个图形用户界面的应用程序,它允许开发者直接打开`.class`文件并实时查看反编译后的源代码。它不需要任何安装过程,只需解压下载的压缩包,然后运行相应的可执行文件,就能立即开始使用。这对于快速查看...
标题中的“jdk双版本.zip”表明这是一个包含两个不同平台版本的Java Development Kit(JDK)的压缩文件。JDK是Java编程语言的核心组件,它提供了编译、调试和运行Java应用程序所需的所有工具和库。 首先,我们来看...
标题提到的是一个针对 JDK 1.8 版本的 Java 反编译工具,这表明该工具兼容 Java 8 的字节码,能够在不拥有源代码的情况下查看和理解类文件的实现细节。描述中提到了作者在寻找可用的工具过程中遇到困难,最终找到并...
Java反编译是将已编译的Java字节码(.class文件)转换回源代码的过程,以便开发者能够查看和理解这些编译后的代码。JAD(Java Decompiler)是一款著名的开源Java反编译工具,它能帮助程序员分析、理解和重构已编译的...
ProGuard支持JDK 1.8意味着它可以正确处理这些新的语言特性,不会因为混淆而导致编译或运行时错误。 - **Lambda表达式**:ProGuard会保留Lambda表达式的元数据,确保它们在混淆后仍然能够正确运行。 - **Stream ...
Java的`.class`文件格式具有一定的版本兼容性,使得新的Java版本可以运行旧版本编译的`.class`文件,但可能无法利用新版本的特性。 9. **模块系统与ClassPath**: 自Java 9引入模块系统后,`.class`文件的查找和...