`
dr.han
  • 浏览: 46322 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JVM(四)JAVA CLASS 文件

阅读更多

 

Class文件是什么?

 

Class文件是8bit的二进制流,数据项按顺序存储在class文件中,相邻项没有间隔,占据多个字节空间的项按照高位在前的顺序分为几个连续的字节存放。

class文件中,可变长度项的大小和长度位于实际数据之前,使得首先读出项的大小,然后读出项的数据

 

Class文件的内容:

 

  1. magic:class文件的前4个字节,用于分辨class文件和非class文件
  2. minor_version / major_version:魔数的后四位,表明不同的java版本号
  3. constant_pool.count / constant_pool:版本号的后面是常量池,常量池存储文字字符串,final变量值,类名,方法名等。JVM把常量池组织为入口列表的形式
  4. access_flag :2字节,表明类或者接口,以及是那种修饰符
  5. this_class:对常量池的索引,此位置的常量池入口必须为constant_class_info表
  6. supper_class:在此位置的常量池入口是一个指向超类的全限定名的constant_class_info入口
  7. interfaces_count / interfaces:存储实现接口的数量以及接口
  8. fields_count / fields:
  9. metods_count / methods;从超类或者父接口继承的方法不被计入
  10. attributes_count / attributes;

特殊字符串

  1. 全限定名:用斜线代替点
  2. 简单名称:一个指向类java/lang/Object所属方法String toString()的常量池入口有一个形如"toString"的方法名
  3. 描述符:
  4. 常量池
  5. 方法
  6. 常量池
  7. 属性
分享到:
评论

相关推荐

    jvm 加载class文件

    #### 一、Java与JVM中的Class文件加载机制概述 Java作为一种动态性极强的解释型编程语言,在程序运行时,Java虚拟机(JVM)负责将编译生成的`.class`文件加载到内存中进行执行。在Java环境中,每个类(Class)以及...

    java class文件编译

    Java Class文件是Java程序经过编译后的二进制表示形式,它是Java虚拟机(JVM)执行的基础。本文将深入探讨Java类文件的结构、编译过程以及如何使用提供的工具进行查看。 一、Java类文件结构 Java源代码(.java文件...

    jvm解析编译过的class文件

    Java虚拟机(JVM)是Java程序运行的基础,它负责解析和执行编译后的.class文件。这个过程涉及多个阶段,包括加载、验证、准备、解析和初始化。在本篇文章中,我们将深入探讨JVM如何处理.class文件,以及相关工具如何...

    java class文件查看工具

    Java Class文件是Java源代码经过编译器处理后的二进制形式,...总之,"java class文件查看工具"是Java开发者的重要辅助工具,它使得开发者能深入到JVM层面理解代码,对提升开发效率和解决复杂问题有着不可忽视的作用。

    动态编译字符串成java,并且添加class到jvm

    在Java编程中,动态编译字符串成Java代码并将其加载到JVM(Java虚拟机)是一种高级技巧,常用于运行时代码生成、元编程或插件系统等场景。这一技术的核心在于利用Java的反射API和Java Compiler API。下面将详细阐述...

    java class文件查看器

    Java Class文件查看器是一款专为Java开发者设计的实用工具,它允许用户查看和分析.class文件,这是Java编译器将源代码编译后的二进制形式。了解如何使用这类工具对于理解和调试Java应用程序至关重要,尤其是在处理已...

    JavaClass文件的结构分析及其校验.pdf

    通过对JavaClass文件结构的理解,可以有效地实现一个JavaClass文件校验器,进而确保加载到JVM上的Class文件是安全可靠的。这对于Java开发者而言是一项重要的技能,有助于提高Java程序的质量和性能。

    JVM之用Java解析class文件共10页.pdf.zi

    我们主要关注的是标题所提及的"JVM之用Java解析class文件"这一主题,这涉及到Java程序编译后的二进制表示以及JVM的类加载机制。 首先,让我们了解class文件的结构。一个Java源文件被编译后会生成对应的class文件,...

    java class文件或jar文件反编译工具.rar

    Java class文件和jar文件是Java程序的二进制表示形式,它们包含了编译后的字节码,用于JVM(Java虚拟机)执行。在开发和调试过程中,有时我们需要查看源代码,但原始的.java源文件可能丢失或者不可用。这时,反编译...

    电脑java class文件查看与修改工具

    本篇文章将详细讲解如何使用指定的"电脑java class文件查看与修改工具"来查看和修改这些文件。 首先,我们要了解的是`jd-gui查看.exe`。这是一个名为JD-GUI的开源工具,它允许开发者直观地查看Java字节码(.class...

    Java反编译工具把.class文件转换为.java文件

    Java作为一种广泛使用的编程语言,其编写的程序通常会被编译成字节码(.class文件),这些文件可以在任何支持Java虚拟机(JVM)的平台上运行。然而,有时候我们需要查看或理解这些.class文件中的具体逻辑,这就需要...

    java class文件反编译工具

    Java Class文件反编译工具是开发者在处理已编译的.class文件时的一种实用工具,它能够将二进制的Class文件转换回可读性更强的源代码格式,这对于理解和调试已封装的库或分析未知的Java程序至关重要。本文将详细介绍...

    JavaDecompiler打开class文件

    它允许用户查看并理解已编译的.class文件的内容,因为Java的源代码(.java文件)通常不会随可执行文件一起发布。`JavaDecompiler`这个标题暗示我们将探讨如何使用Java反编译器来打开和解析.class文件。 Java类文件是...

    java class文件编辑器

    Java Class文件编辑器,如JD-GUI 0.3.3 绿色版,是一种用于查看和理解Java字节码的工具,对于开发者而言尤其重要,因为它提供了将已编译的`.class`文件反编译回源代码的能力。在深入讨论这个工具之前,我们先来了解...

    JAVA CLASS文件查看器

    **JAVA CLASS文件查看器** JAVA CLASS文件是Java字节码文件,它包含了Java源代码编译后的机器可读代码。这种文件格式对于开发者来说非常重要,因为它允许他们理解已编译的程序,尤其是在没有源代码的情况下。"JAVA ...

    java .class反编译成.java工具

    在Java编程中,程序员编写的是.java源代码文件,这些文件经过Java编译器(javac)编译后,会生成对应的.class文件,这是Java虚拟机(JVM)能够执行的二进制格式。然而,由于编译过程会丢弃源代码信息,.class文件...

    java解析class文件

    Java解析Class文件是Java开发中的一个重要环节,它涉及到对字节码的理解和处理。Class文件是Java编译器将源代码编译后的结果,包含了类的结构信息、方法定义、常量池等关键数据。理解并能解析Class文件,对于进行JVM...

    java class文件解析

    Java Class文件解析是Java开发中的一个重要概念,它涉及到Java虚拟机(JVM)如何理解和执行程序的核心机制。这篇博文的链接虽然无法直接访问,但从标题和标签我们可以推测,内容可能涵盖了对Java字节码的深入理解和...

    ClassFinal-java class文件安全加密工具

    处理后的class文件可以被正常的Java虚拟机(JVM)加载和执行,但对试图反编译或分析的人来说,会变得极其困难。此外,需要注意的是,加密和混淆虽然能增加安全性,但可能会影响程序的性能和调试便利性,因此在选择...

Global site tag (gtag.js) - Google Analytics