- 浏览: 118841 次
- 性别:
- 来自: 济南
文章分类
最新评论
http://open.iteye.com/blog/179513
Class文件是什么?
Class文件是8bit的二进制流,数据项按顺序存储在class文件中,相邻项没有间隔,占据多个字节空间的项按照高位在前的顺序分为几个连续的字节存放。
class文件中,可变长度项的大小和长度位于实际数据之前,使得首先读出项的大小,然后读出项的数据
Class文件的内容:
magic:class文件的前4个字节,用于分辨class文件和非class文件
minor_version / major_version:魔数的后四位,表明不同的java版本号
constant_pool.count / constant_pool:版本号的后面是常量池,常量池存储文字字符串,final变量值,类名,方法名等。JVM把常量池组织为入口列表的形式
access_flag :2字节,表明类或者接口,以及是那种修饰符
this_class:对常量池的索引,此位置的常量池入口必须为constant_class_info表
supper_class:在此位置的常量池入口是一个指向超类的全限定名的constant_class_info入口
interfaces_count / interfaces:存储实现接口的数量以及接口
fields_count / fields:
metods_count / methods;从超类或者父接口继承的方法不被计入
attributes_count / attributes;
特殊字符串
全限定名:用斜线代替点
简单名称:一个指向类java/lang/Object所属方法String toString()的常量池入口有一个形如"toString"的方法名
描述符:
常量池
方法
常量池
属性
Class文件是什么?
Class文件是8bit的二进制流,数据项按顺序存储在class文件中,相邻项没有间隔,占据多个字节空间的项按照高位在前的顺序分为几个连续的字节存放。
class文件中,可变长度项的大小和长度位于实际数据之前,使得首先读出项的大小,然后读出项的数据
Class文件的内容:
magic:class文件的前4个字节,用于分辨class文件和非class文件
minor_version / major_version:魔数的后四位,表明不同的java版本号
constant_pool.count / constant_pool:版本号的后面是常量池,常量池存储文字字符串,final变量值,类名,方法名等。JVM把常量池组织为入口列表的形式
access_flag :2字节,表明类或者接口,以及是那种修饰符
this_class:对常量池的索引,此位置的常量池入口必须为constant_class_info表
supper_class:在此位置的常量池入口是一个指向超类的全限定名的constant_class_info入口
interfaces_count / interfaces:存储实现接口的数量以及接口
fields_count / fields:
metods_count / methods;从超类或者父接口继承的方法不被计入
attributes_count / attributes;
特殊字符串
全限定名:用斜线代替点
简单名称:一个指向类java/lang/Object所属方法String toString()的常量池入口有一个形如"toString"的方法名
描述符:
常量池
方法
常量池
属性
发表评论
-
二维码
2017-07-13 16:54 428使用jquery.qrcode生成二维码 http:// ... -
servlet的url-pattern匹配规则详细描述
2017-06-20 14:06 467http://www.cnblogs.com/51kata/p ... -
Spring com.sun.proxy.$Proxy6 cannot be cast to
2017-06-16 17:08 660转载:http://blog.csdn.net/psp000 ... -
Java中getResourceAsStream的用法
2017-05-16 15:48 327转载:http://riddickbryant.iteye. ... -
log4j的使用详细解析
2017-05-15 16:50 454http://www.jb51.net/article/4 ... -
log4jdbc记录全部SQL日志
2017-05-15 15:52 420转载:http://www.cnblogs.com/xdp- ... -
BufferedInputStream如何缓冲IO以及InputStream中的read(byte[] b) 是否具有缓冲功能?
2017-04-09 17:17 320装载: http://blog.csdn.ne ... -
常见面试题
2017-03-07 11:23 355hashCode()和equals()方法的作用。 htt ... -
Java多线程之this与Thread.currentThread()的区别——java多线程编程核心技术
2017-02-08 15:12 313http://www.cnblogs.com/huangyic ... -
class getClass()
2016-12-27 16:13 394http://www.cnblogs.com/feiyun1 ... -
认真学spring官网,很容易找到spring4的jar包下载位置
2016-12-26 13:12 484http://yanln.iteye.com/blog/219 ... -
spring 下载方法
2016-10-23 15:16 0http://www.cnblogs.com/yjmyzz/ ... -
快速排序
2016-10-11 19:47 0http://www.cnblogs.com/vanezk ... -
java中为什么byte的取值范围是-128到+127
2016-09-30 16:21 608java中为什么byte的取值范围是-128到+12 ... -
java io
2016-08-31 17:48 295先看一下 InputStream 部分子类的关系。 ... -
JAVA String
2016-08-25 08:47 325转载http://blog.sina.com.cn/s/b ... -
java 异常相关文章
2016-08-23 18:26 327http://blog.csdn.net/beidou321 ... -
Spring框架下的单元测试方法
2015-10-29 14:08 431转载:http://blog.csdn.net/bruce ... -
mybatis
2015-10-23 17:31 0转载 http://my.oschina.net/u/14 ... -
Lucene源码解析--Field类
2015-07-09 15:08 538转载http://blog.itpub.net/2 ...
相关推荐
在Java开发过程中,有时我们需要对已经打包好的JAR文件中的class文件进行修改,这通常是由于修复bug、更新功能或者优化代码等原因。本文将详细介绍如何在不重新编译整个项目的情况下,修改并替换JAR文件中的class...
2、可处理多个*.class文件,可以处理文件夹内的所有文件,甚至可以处理*.jar文件; 3、带有多页面文本编辑器,也可集成在资源管理器中,随时点击右键都可进行操作; 4、支持java语法的高亮显示; 使用说明: ======...
这个压缩包`class文件编译器.zip`很可能包含了关于如何将Java源代码编译成`.class`文件的相关工具和信息。`ReadMe.txt`可能是提供编译过程的说明或者编译器使用的指南。 1. **Java源代码与Class文件**: Java源...
在Java开发过程中,有时我们需要查看或理解某个JAR包中未提供源代码的Class文件的内部实现。本文详细介绍了如何在Eclipse环境中反编译Class文件,以便查看对应的源码。 首先,反编译Class文件是为了能理解那些无法...
Beyond BCompare4 解压可用 可解析class文件 Beyond Compare 是一款强大专业的文件和文件夹对比工具。使用它可以很方便地比较出两个文件或文件夹的差异,相差的每一个字节用颜色加以标识,让您查看方便,支持众多种...
Java反编译是将已编译的字节码(.class文件)转换回源代码(.java文件)的过程,这对于理解和学习已有的Java程序、逆向工程或调试都是很有用的。标题提到的"java反编译工具"是用于这个目的的软件,它能够帮助开发者...
“class文件反编译工具”是一种实用的开发辅助工具,它允许开发者查看和理解已编译的Java程序内部结构,这对于学习开源库、调试、逆向工程或者分析恶意软件的行为非常有帮助。其中,`jd-gui`是一个常见的开源Java反...
在Java编程语言中,"class文件反编译"是一个关键概念,它涉及到程序的可执行代码与源代码之间的转换。Java程序首先由开发者编写成.java源文件,然后通过Java编译器(javac)编译成.class文件,这是Java虚拟机(JVM)...
在某些情况下,我们可能需要查看或理解这些二进制文件的原始Java代码,这时就需要用到"Class文件反编译工具"。 "Class文件反编译工具"是一种专门用来将`.class`和`.jar`文件转换回可读的Java源代码格式的软件。这种...
### Java反编译工具:将.class文件转换为.java文件 #### 概述 在软件开发领域,有时我们可能需要分析第三方库或者开源项目的内部结构,这时就需要借助于反编译工具来帮助我们阅读和理解其源码。Java作为一种广泛...
标题中的“快速导出class文件插件 集合svn”指的是一个专门针对开发者设计的工具,它结合了快速导出Java编译后的class文件功能和版本控制系统Subversion(SVN)的集成。这个插件旨在提高开发者的效率,允许他们便捷...
在Java应用开发中,源代码的保护至关重要,因为Java的字节码(class文件)是可被反编译的,这可能导致源代码泄露、恶意篡改等安全风险。ClassFinal通过特定的加密算法和混淆技术,对Java类文件进行处理,使得未经...
Java Class文件是Java程序编译后的二进制格式,它包含了类和接口的定义、方法体、常量池等信息,但这些信息是以机器可读的字节码形式存在,对于人类来说不易理解。为了查看和理解Class文件内部的源代码,我们就需要...
### Class文件结构浅析 #### 一、引言 在深入了解Class文件的结构之前,我们需要明确Class文件在Java生态系统中的重要地位。Java程序被编译器编译后生成的`.class`文件,实际上是字节码文件,它们是Java虚拟机...
Java Class文件是Java源代码经过编译器处理后的二进制形式,它们包含了程序的结构信息,如类、接口、变量、方法等定义。在Java开发过程中,有时我们需要查看或分析这些Class文件,以理解程序运行原理、调试或逆向...
《深入解析Java Class文件查看器》 在Java编程领域,理解class文件的内部结构对于开发者来说至关重要,因为它是Java程序运行的基础。今天我们将探讨一款名为"class文件查看器"的工具,它是一个跨平台的实用程序,专...
它允许用户查看并理解已编译的.class文件的内容,因为Java的源代码(.java文件)通常不会随可执行文件一起发布。`JavaDecompiler`这个标题暗示我们将探讨如何使用Java反编译器来打开和解析.class文件。 Java类文件是...
下面将详细介绍.class 文件反编译到.java 文件的过程,包括反编译工具的使用和反编译后的修改、再编译等步骤。 一、反编译工具的选择 在反编译.class 文件时,需要使用专门的反编译工具。目前有多种反编译工具可供...
Java Class文件是Java程序经过编译后的二进制表示形式,它是Java虚拟机(JVM)执行的基础。本文将深入探讨Java类文件的结构、编译过程以及如何使用提供的工具进行查看。 一、Java类文件结构 Java源代码(.java文件...
- target/classes:编译后的class文件,包括目标接口和实现类的class文件,以及由Proxy生成的代理类class文件 - 测试代码:展示如何使用Proxy创建代理对象并调用方法 2. CGLib代理项目: - src/main/java:包含...