通常Java有三种编译方式,编译方式不同,那么得到的.class的大小也不同。
1)默认编译方式:javac A.java
2) 调试编译方式:javac -g A.java
3) 代码编译方式:javac -g:none A.java
案例如下:类A
public class A{
public static void main(String args[]){
for(int i=0;i<100000;i++){
A a = new A();
}
}
}
|
通过上面这三种编译方式,得到的.class文件大小分别为:
默认编译方式:322字节
调试编译方式:453字节
代码编译方式:238字节
三种编译方式对应的.class文件的内容,分别如下:
默认编译方式:代码(Code)、源文件信息(SourceFile Infomation)、代码行序列表(LineNumberTable)。
调试编译方式:代码(Code)、源文件信息(SourceFile Infomation)、代码行序列表(LineNumberTable)、本地变量表(LocalVariableTable)。
代码编译方式:代码(Code)。
由于javac -g:none A.java这种方式编译的内容最少,所以.class占用的空间也就最小。
由于javac -g A.java这种方式编译的内容最多,所以.class占用的空间也就最大。
而javac A.java这种方式编译的内容居中,所以.class占用的空间也就居中。
相关推荐
JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA...
1. **逆向工程**:当需要了解第三方库的工作原理,但没有源代码时,反编译工具可以帮助我们分析字节码。 2. **错误排查**:在没有源码的环境中,通过反编译定位问题,理解异常是如何产生的。 3. **学习研究**:分析...
总的来说,JD-GUI作为一款强大的Java反编译工具,为开发者提供了一种有效的方式来探索和学习已编译的Java代码,帮助他们解决问题、提高代码理解力,从而提升开发效率。无论你是初学者还是经验丰富的开发者,JD-GUI都...
4. **学习目的**:对于开源项目,如果源代码库丢失,反编译可以作为学习代码结构和编程技巧的一种方式。 然而,需要注意的是,反编译可能存在法律问题。除非拥有适当的授权或版权许可,否则反编译商业软件可能会...
JAVA代码反编译工具,把class反编译成.java文件
Java反编译工具是程序员在开发和调试过程中经常会用到的一种实用软件,它能够将已编译的Java字节码(.class文件)转换回源代码格式,这对于查看和理解第三方库或者研究已有的二进制代码非常有帮助。本绿色版的Java反...
标题中的“jd_gui.exe”就是一种常用的Java反编译工具,名为JadGUI。 JadGUI是Jad的图形用户界面版本,Jad是一个开源的Java反编译器,能够将.class文件还原为可读的Java源代码。JadGUI提供了一个简单易用的界面,...
Java反编译工具是开发者在特定情况下非常有用的工具,它能够将已经编译好的.class文件转换回源代码的.java文件。这种技术对于软件维护、学习他人代码、逆向工程或者理解已有的二进制库的工作原理都至关重要。本文将...
JD-GUI提供了一种直观的方式来查看和分析Java字节码,这对于调试、学习或逆向工程来说非常有用。 使用JD-GUI,用户可以选择打开一个JAR文件或单独的class文件,然后它会尝试反编译并显示源代码。虽然生成的代码可能...
Java字节码是一种中间语言,由JVM(Java虚拟机)执行,而反编译就是尝试将这种二进制形式还原成人类可读的代码。 2. **Java反编译的用途**: - **代码理解**:当没有源代码时,反编译可以帮助理解第三方库的内部...
JavaDecompiler反编译是Java开发中的一种技术,主要用于将已编译的Java字节码(.class文件)转换回可读的源代码格式。这一过程对于开发者来说有着多种用途,比如逆向工程、学习库的内部实现或者调试已丢失源代码的类...
Java编译软件大全是针对Java源代码进行反编译的一系列工具集合,这些工具在软件开发、代码分析、逆向工程等领域中有着广泛的应用。在Java编程中,源代码通常是不可见的,因为它们被编译成字节码(.class文件),而...
常用的Java反编译工具有jad、FernFlower、Cfr等,而jd-gui.exe是其中一种图形界面的反编译工具,它提供了一个直观的方式来查看和分析.class文件。 jd-gui.exe的使用步骤如下: 1. **下载与安装**:首先,你需要从...
使用 JavaCompiler 接口来编译 Java 源程式是一种非常简单的方法。首先,我们可以通过 ToolProvider 类的静态方法 getSystemJavaCompiler 来得到一个 JavaCompiler 接口的实例。然后,我们可以使用 JavaCompiler 的 ...
Java批量反编译工具是一种高效实用的软件,它专门用于将已编译的.class文件转换回源代码形式的.java文件。在Java开发过程中,有时我们需要查看或理解已编译的类文件内部实现,这时反编译工具就显得尤为重要。本文将...
Java绿色反编译工具是一种专为Java开发者设计的实用程序,它无需安装,只需解压缩后即可直接使用,因此非常便捷。在编程领域,反编译是将已编译的字节码(.class文件)转换回源代码的过程,这对于理解和学习其他人的...
字节码是一种中间表示,它不依赖于特定的硬件平台,可以在任何支持Java的平台上运行,这是Java“一次编写,到处运行”特性的重要基础。 然而,`.class`文件是二进制格式,直接查看无法理解其内部结构和逻辑。这就...
总的来说,这款Java 8反编译工具Procyon,结合提供的脚本和说明文件,使得开发者可以更轻松地对Java 8的字节码进行反编译,从而理解已编译的代码,进行学习、调试或分析。它不仅支持基本的反编译功能,还具备良好的...
总的来说,jd-gui作为一款优秀的JAVA反编译工具,凭借其简洁的操作方式和高效的功能,成为了开发者手中不可或缺的利器。它不仅简化了反编译过程,还提升了工作效率,使得理解和修改已编译的Java代码变得更加容易。