由Java源文件.java文件编译成JVM可解释执行的Java字节文件.class,编译方式不同产生的大小也不同。
通过降低.class文件的大小,不但可以降低系统内存的开销,而且还可以节省网络开销。特别在开发Applet应用时如此,Applet应用都是靠网络分布式传输由客户端装载运行的,如果类文件较大,无疑将会加大网络开销,降低传输速度无法满足用户的要求,而且如果类文件较大无疑也会消耗客户端内存资源。
1. 默认编译方式: javac A.java
2. 调试编译方式: javac -g A.java
3. 代码编译方式: javac -g: A.java
通过上面三种方式编译后的类文件的大小分别为:
1. 496字节。
2. 637字节。
3. 395字节。
呵呵,看到上面的结果,是不是有点惊讶,这是因为在.class文件中包含多个不同的部分或属性。
Code属性:包含实际的方法字节码。
SourceFile Information: 包含用于生成.class的源文件名称。
LineNumberTable: 用来映射源文件中的代码行序号与字节码文件中的序号偏移。
正是由于上面三种编译方式生成的类文件所包含的信息不同,才导致了类文件的大小差异较大。。。
相关推荐
在这种需求下,出现了专门用于反编译Java字节码的工具,例如XJad,它是一个古老的类反编译器,可以将`.class`文件转换回`.java`源代码格式。 首先,我们需要理解Java的编译过程。当开发者编写完`.java`源代码后,会...
当要看别人的源码时,由于类包层次有时太多,分别反编译每个类文件,很费事,此软件只要你指明要反编译的类包和要输出的目标路径,就可以按照类包的层次一一对应地反编译成java文件。内置 反编译器是jad1.5.8g.
Java类class反编译工具是开发者在理解和学习Java字节码或者进行逆向工程时必不可少的辅助工具。这些工具能够将已经编译过的.class文件转换回可读性强的.java源代码,帮助我们查看和理解已有的Java类结构,尤其是在...
JD-GUI提供了一种直观的方式来查看和分析Java字节码,这对于调试、学习或逆向工程来说非常有用。 使用JD-GUI,用户可以选择打开一个JAR文件或单独的class文件,然后它会尝试反编译并显示源代码。虽然生成的代码可能...
JAVA 修改类文件编译不生效的解决方案 在 Java 编程中,我们经常会定义一个常量类来管理项目中的常量值,例如: ```java public class AppConst { public static final String STR_CONST_1 = "String1"; public ...
小颖JAVA源代码反编译专家V1.4终极版是个很好的工具,但是只能对JDK1.4.2和之前的版本编译的程序反编译,而JDK5.0后的就无能为力了,但是可以下载JAD.EXE来逐个反编译 CLASS文件,不过如果碰到有几十个或几百个...
JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA...
java Class类反编译工具
JAVA类反编译软件-绿色版 javaJAVA类反编译软件-绿色版JAVA类反编译软件-绿色版
Java类反编译工具是开发过程中非常实用的辅助软件,它们能够将已编译的`.class`文件转换回源代码的`.java`文件形式。这种工具对于开发者来说尤其有价值,因为它们可以用来查看已编译库的内部实现,或者在丢失源代码...
常用的Java反编译工具有jad、FernFlower、Cfr等,而jd-gui.exe是其中一种图形界面的反编译工具,它提供了一个直观的方式来查看和分析.class文件。 jd-gui.exe的使用步骤如下: 1. **下载与安装**:首先,你需要从...
Java Class反编译工具是程序员在处理已编译的字节码文件时不可或缺的辅助工具。这类工具的主要功能是将`.class`文件转换回可读性强的`.java`源代码,帮助开发者理解或修改已有的Java程序,尤其在没有源代码的情况下...
这篇博客“Java类动态加载(一)——java源文件动态编译为class文件”可能主要探讨了如何在运行时将Java源代码(.java)编译成对应的字节码文件(.class),并将其加载到Java虚拟机(JVM)中。以下是对这个主题的详细解析...
4. **学习目的**:对于开源项目,如果源代码库丢失,反编译可以作为学习代码结构和编程技巧的一种方式。 然而,需要注意的是,反编译可能存在法律问题。除非拥有适当的授权或版权许可,否则反编译商业软件可能会...
标题中的“jd_gui.exe”就是一种常用的Java反编译工具,名为JadGUI。 JadGUI是Jad的图形用户界面版本,Jad是一个开源的Java反编译器,能够将.class文件还原为可读的Java源代码。JadGUI提供了一个简单易用的界面,...
经过该工具反汇编后得到的结果并不是源代码,但是使用javap进行反编译的Java类文件可以得到成员变量、方法、行号以及局部变量名等信息。 代码混淆 代码混淆是保护Java程序的一种方法,即将源代码混淆,使其难以被...
### 命令行编译和运行Java类 ...这种方法对于初学者来说非常有用,可以帮助他们更好地理解Java编译和运行的基本流程。此外,在某些特定的开发环境中,比如自动化构建或者部署脚本中,这种方式也非常常见。
Java反编译工具是开发者用来查看Java字节码(.class文件)源代码的一种实用程序。这类工具能够将已经编译过的Java类文件转换回其原始的Java源代码形式,以便于理解、学习或者调试。在Java编程环境中,源代码通常被...
Java字节码是一种中间语言,由JVM(Java虚拟机)执行,而反编译就是尝试将这种二进制形式还原成人类可读的代码。 2. **Java反编译的用途**: - **代码理解**:当没有源代码时,反编译可以帮助理解第三方库的内部...
在Java编程中,"包"(Package)是一种组织和管理类的方式,它使得代码更加有条理,并且能够避免命名冲突。本篇文章将详细介绍如何编译含有包的Java类,我们将使用标准的JDK(Java Development Kit)以及一个简单的...