`
alvinqq
  • 浏览: 185390 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

asm操作Java(一)

    博客分类:
  • java
阅读更多
1.流程控制:
a)说明:JVM提供了基本的流程控制结构,这些结构都是基于Label而实现的。这些跳转指令,包括基于比较结果的有条件跳转和无条件的GOTO指令。另外,JVM也提供了实现switch结构的LOOKUPSWITCH和TABLESWITCH指令,其中LOOKUPSWITCH是基于键比较的,而TABLESWITCH则是基于键索引的,因此后者的匹配速度更快。
2.   接口声明:
ClassWriter cw = new ClassWriter(false);
cw.visit(V1_5, ACC_PUBLIC + ACC_ABSTRACT + ACC_INTERFACE, "asm/IA", null, 
"java/lang/Object", null);
cw.visitSource("IA.java", null);
cw.visitEnd();


等价于:
public interface IA{}


3.类声明:
a)抽象类:
ClassWriter cw = new ClassWriter(false);
cw.visit(V1_5, ACC_PUBLIC + ACC_SUPER + ACC_ABSTRACT, "asm/A", null, "java/lang/Object", null);
cw.visitSource("A.java", null);


等价于:
public abstract class A{}


b)具体类:
ClassWriter cw = new ClassWriter(false);
cw.visit(V1_5, ACC_PUBLIC + ACC_SUPER, "asm/A", null, "java/lang/Object", null);
cw.visitSource("A.java", null);
cw.visitEnd();


等价于:
public class A{}

分享到:
评论

相关推荐

    asm_java.rar_asm_java

    ASM库在Java中通常用于创建字节码级别的操作,例如代码分析、转换和生成,这在构建复杂系统如ASM股市模拟器时可能很有用。 总的来说,这个`asm_java.rar_asm_java`压缩包提供了一个完整的ASM模型的Java实现,包括了...

    ASM操作字节码,动态生成Java类class文件

    ASM是一个开源的Java字节码操控和分析框架,它能够用来动态生成类或者增强已有类的功能。ASM可以被用来创建Java代理、实现元编程、甚至深入到Java虚拟机(JVM)层面进行性能优化。在Java开发中,ASM库允许我们直接...

    asm操作指南(中文)

    ### asm操作指南(中文)知识点总结 #### 一、ASM框架简介 - **定义与功能**:ASM是一个Java字节码操纵框架,主要用于动态生成类或增强现有类的功能。通过直接生成二进制`.class`文件,ASM能够在类被加载到Java...

    Java字节码和asm入门资料

    ASM是一个开源的Java字节码操控和分析框架,它可以直接用来生成和修改Java类文件,是Java动态代理和字节码增强技术的重要工具。在深入学习Java字节码和ASM之前,我们需要先理解Java编译和运行的基本过程。 1. **...

    ASM 帮助文档(java字节码操作)

    ASM 帮助文档(java字节码操作) 对字节码进行操作的jar包。

    ASM Java字节码操作框架

    ASM Java字节码操作框架PPT,结合已有AOP实现方法,对比所有对Java字节码操作方法做比较

    Mixin,MIXIN是使用ASM的Java的特性/混合框架.zip

    通过ASM,Mixin能够精确地定位并修改Java类的字节码,实现对目标类的精细操作。 Mixin框架的设计理念是基于面向切面编程(AOP)思想,但与传统的AOP实现不同,如Spring AOP,Mixin不使用代理模式。它直接将混入...

    cglib和asm

    ASM提供了一套直接操作Java字节码的底层API,允许开发者在运行时对类进行深度定制。ASM的强大之处在于其灵活性,但同时也要求使用者对Java虚拟机的内部结构有较深入的理解。ASM通常被用于编译器、代码分析工具或动态...

    ASM4手册中文版.pdf.zip

    ASM4是中国Java开发者常用的一款字节码操作框架ASM的第四个主要版本,它主要用于动态生成和分析Java字节码。ASM是一个低级别的库,可以直接操作和生成类的字节码,这在创建编译器、代码分析工具以及运行时代码修改等...

    asm_java人工股市.zip_股市

    1. ASM框架:ASM是一个开源库,它允许对Java字节码进行低级别的操作,如生成、修改和分析。ASM的核心是ClassWriter和ClassReader类,它们分别用于创建新的字节码和解析现有的字节码。在人工股市项目中,ASM可能被...

    ASM使用指南-中文版

    ASM是一个强大的Java字节码操控和分析框架,它允许开发者...总之,ASM是一个强大的工具,适合于需要对Java字节码进行深度操作的场景。通过深入学习和实践,开发者可以充分利用ASM的潜力,提升代码的灵活性和扩展性。

    基于ASM的Java作业辅助批阅工具的实现.zip

    ASM提供了一组API,允许开发者直接操作字节码,这对于理解类的内部结构、进行动态代理、代码混淆、性能分析等任务非常有用。 二、ASM在作业批阅工具中的应用 在Java作业辅助批阅工具中,ASM主要负责以下任务: 1....

    基于ASM的Java作业辅助批阅工具的实现.pdf

    1. **代码自动修改**:通过ASM,工具可以直接操作Java字节码,对类文件进行无侵入式的修改,以适应批阅需求。 2. **关键类库使用分析**:监控和记录学生代码中对重要API的使用,提供详细的使用报告。 3. **调用频率...

    java asm 3.3.1

    1. **字节码操作**:ASM提供了一种低级别的接口,允许程序员直接操作Java字节码。它将类文件解析为一棵抽象语法树(AST),用户可以通过遍历和修改这棵树来生成或修改字节码。 2. **类访问器和方法访问器**:ASM...

    asm4开发手册-英文原版

    标题中提到的"asm4开发手册-英文原版"指的是ASM库的第四个主要版本的手册。ASM(Java Bytecode Engineering Library)是由Eric ...对于那些希望深入理解并操作Java字节码的开发者来说, ASM手册是一个宝贵的参考资料。

    Java ASM,learn-java-asm-main.zip

    Java ASM 是一个强大的字节码操控和分析框架,它允许你在运行时动态生成类和接口,或者修改已存在的类。ASM 提供了低级别的访问,让你可以深入到 Java 类的内部结构,这对于创建代码生成器、编译器、性能监视工具等...

    ASM字节码操作简单实例

    ASM字节码库是Java字节码操作的强大工具,它允许程序员在运行时动态生成类或者增强已有类的功能。在本实例中,我们将探讨如何利用ASM实现简单的面向切面编程(AOP)功能,这是一种在不修改源代码的情况下,添加额外...

    asm-2.2.3.jar,asm-commons-2.2.3.jar,asm-util-2.2.3.jar

    ASM是一个强大的Java字节码操控和分析框架,它可以直接生成和修改Java类和注解的字节码。这个框架主要用于动态代理、代码分析以及优化等场景。在Java开发中,当我们需要在运行时生成或者修改类的行为时,ASM提供了一...

    cglib-2.2.jar asm-tree.jar asm-commons.jar asm.jar

    ASM-Tree.jar包含了解析和操作Java类结构所需的类,使开发者能以树状结构来理解和修改类的结构。 这些库在Java开发中扮演着重要角色,特别是在以下场景中: 1. **动态代理**:通过CGlib,可以在运行时动态地创建...

    java-asm:java asm原始解析

    总之,Java ASM提供了一种底层的方式来操作Java字节码,它强大而灵活,但使用起来也需要一定的学习成本。在理解和掌握了ASM的基本原理和API后,我们可以构建出功能强大的工具和框架,以满足各种高级编程需求。

Global site tag (gtag.js) - Google Analytics