http://blog.csdn.net/qin123qq/article/details/6714264
javap -verbose classname
会输出一些信息,大致如下:
Compiled from "HtmlCrawer.java"
public class org.eagleeye.html.HtmlCrawer extends java.lang.Object
SourceFile: "HtmlCrawer.java"
minor version: 0
major version: 50
Constant pool:
const #1 = class #2; // org/eagleeye/html/HtmlCrawer
const #2 = Asciz org/eagleeye/html/HtmlCrawer;
const #3 = class #4; // java/lang/Object
const #4 = Asciz java/lang/Object;
const #5 = Asciz client;....
后面省略了,可以看到前面有两行:
minor version:
0major version: 50
JDK 编译器版本 |
target 参数 |
十六进制 minor.major |
十进制 minor.major |
jdk1.1.8 |
不能带 target 参数 |
00 03 00 2D |
45.3 |
jdk1.2.2 |
不带(默认为 -target 1.1) |
00 03 00 2D |
45.3 |
jdk1.2.2 |
-target 1.2 |
00 00 00 2E |
46.0 |
jdk1.3.1_19 |
不带(默认为 -target 1.1) |
00 03 00 2D |
45.3 |
jdk1.3.1_19 |
-target 1.3 |
00 00 00 2F |
47.0 |
j2sdk1.4.2_10 |
不带(默认为 -target 1.2) |
00 00 00 2E |
46.0 |
j2sdk1.4.2_10 |
-target 1.4 |
00 00 00 30 |
48.0 |
jdk1.5.0_11 |
不带(默认为 -target 1.5) |
00 00 00 31 |
49.0 |
jdk1.5.0_11 |
-target 1.4 -source 1.4 |
00 00 00 30 |
48.0 |
jdk1.6.0_01 |
不带(默认为 -target 1.6) |
00 00 00 32 |
50.0 |
jdk1.6.0_01 |
-target 1.5 |
00 00 00 31 |
49.0 |
jdk1.6.0_01 |
-target 1.4 -source 1.4 |
00 00 00 30 |
48.0 |
jdk1.7.0 |
不带(默认为 -target 1.6) |
00 00 00 32 |
50.0 |
jdk1.7.0 |
-target 1.7 |
00 00 00 33 |
51.0 |
jdk1.7.0 |
-target 1.4 -source 1.4 |
00 00 00 30 |
48.0 |
Apache Harmony 5.0M3 |
不带(默认为 -target 1.2) |
00 00 00 2E |
46.0 |
Apache Harmony 5.0M3 |
-target 1.4 |
00 00 00 30 |
48.0 |
分享到:
相关推荐
在 JDK 1.8 版本中,开发者们有时需要查看已编译的`.class`文件的源代码,以便理解其内部工作原理或进行调试。这时,就需要用到反编译工具。反编译是从已编译的字节码文件(.class文件)还原出类似源代码的形式,...
在描述中提到的“class编译工具windows.zip”是一个免安装的Java开发工具包,可能包含了一个精简版的JDK或者专门用于编译Java源码的工具。这样的工具包方便那些不希望安装完整JDK但又需要编译Java代码的用户。使用...
我将class文件FileSa.class和jad放在E盘根目录下; 打开“命令提示符”快捷键操作:WIN+R; 再依次如下几步: cmd 回车; cd /d E: 回车; jad -sjava FileSa.class 回车; 此时E盘目录下会生成一个FileSa....
本文将详细介绍JDK中的反编译工具以及如何使用它们。 一、JDK反编译工具:JAD JAD是Java Archive Disassembler的缩写,它是JDK自带的一个命令行工具,专门用于反编译Java字节码。通过JAD,开发者可以查看编译后的...
3.拖拽单个 *.java 文件到下面批处理,是把 java 文件编译为 class 文件。 【★★★java 编译为 class★★★】.cmd 4.拖拽单个 *.class 文件到下面批处理,是运行 class 程序。 【★★★ 运行 class 程序...
- 编译成功后,将会生成一个`MyServlet.class`文件,这就是编译后的Servlet字节码。 7. **部署Servlet**: - 将`MyServlet.class`文件和Web应用的其他资源(如HTML、CSS、JavaScript)打包到一个WAR文件,然后将...
在本篇中,我们将详细探讨JDK 1.8.0_331版本的安装步骤、配置环境变量以及如何开始编写和运行Java程序。 ### 一、下载与解压 1. **下载**: 首先,你需要从Oracle官方网站或可靠的第三方源下载JDK 1.8.0_331的...
- 输入`javac -version`命令查看javac编译器版本,正常情况下应该会显示已安装的JDK版本信息。 - 创建一个简单的Java程序,例如: ```java public class HelloWorld { public static void main(String[] args) { ...
2. 编译源码:在命令行中,进入源代码所在的目录,然后输入`javac HelloWorld.java`,这将生成一个"HelloWorld.class"字节码文件。 3. 运行程序:输入`java HelloWorld`,屏幕上将显示"Hello, World!",标志着你成功...
#### 六、JDK中的重要组件介绍 1. **JRE (Java Runtime Environment)**:包含Java虚拟机(JVM)和Java核心类库,是运行Java程序所必需的基本环境。 2. **JVM (Java Virtual Machine)**:负责执行Java字节码,管理内存...
- 确认当前目录下是否有同名的`.class`文件冲突。 3. **无法启动Java程序**: - 确认`PATH`环境变量是否包含`%JAVA_HOME%\bin`路径。 - 验证`JAVA_HOME`环境变量是否指向正确的JDK安装目录。 #### 五、小结 ...
- 在命令行中输入 `javac HelloWorld.java` 并回车,如果编译成功,则会在同一目录下生成 `HelloWorld.class` 文件。 - 接着输入 `java HelloWorld` 运行程序,如果能够正常输出 “Hello World!”,则说明配置成功...
- `javac Hello.java`:这将编译源代码生成`Hello.class`文件。 - `java Hello`:这将运行编译后的程序,如果配置正确,你应该看到输出"Hello world!"。 通过以上步骤,如果能成功运行Java程序,那么就表明在Win7...
- 打开命令提示符(CMD),切换到存放`Hello.java`文件的目录。 - 输入`javac Hello.java`,如果编译成功,则不会有任何输出。 - 输入`java Hello`,如果看到“Hello”输出,则表示JDK安装和配置成功。 #### 五...
在开发环境中,拥有正确的JDK版本是至关重要的,因为它直接影响到代码的编译和运行效率。对于Windows用户来说,JDK 11.0.1_windows-x64_bin是理想的开发和运行Java应用程序的选择。确保正确安装并配置JDK,可以让你...
5. **编译与运行Java程序**:通过JDK中的`javac`命令,可以将编写好的`.java`源代码编译成`.class`字节码文件。例如,`javac HelloWorld.java`会编译名为`HelloWorld.java`的源文件。之后,使用`java`命令运行编译后...
这将会生成一个对应的`.class`文件,即编译后的字节码文件。 3. **运行Java程序**:编译成功后,你可以使用`java`命令来运行程序。对于上述的例子,你应该输入`java HelloWorld`(不包括`.class`扩展名)。Java...