个人简介

Echo Blog


江湖无名 安心练剑
  • javassist
    javassist javassist (Java编程助手)使Java字节码操作变得简单。 它是Java中编辑字节码的类库;它允许Java程序在运行时定义新类,并在JVM加载类文件时修改类文件。 与其他类似的字节码编辑器不同,Javassist提供了两个级别的API:源级和字节码级。 如果用户使用源代码级API,他们可以编辑类文件,而不需要了解Java字节码的规范。 整个API只使...
    2018-07-23 07:11:33 | Java
  • CGLIB
    CGLIB CGLIB is a powerful, high performance and quality Code Generation Library, It is used to extend JAVA classes and implements interfaces at runtime. cglib-missing-manual CGLIB and Java ...
    2018-07-23 00:57:50 | Java
  • ASM-22-Tree 向后兼容能力
    介绍 与核心API一样,ASM 4.0的树API中也引入了一种新机制,以确保在将来的ASM版本中向后兼容。 但是,这里再次不能单独通过ASM来确保此属性。 要求用户在编写自己的文章时遵循一些简单的准则 码。 本章的目的是介绍这些准则,并给出ASM树API中使用的内部机制的概念,以确保向后兼容。 指导方针 本节介绍了使用ASM树API时必须遵循的准则,以确保您的代码在以后的任何AS...
    2018-07-20 05:43:31 | Java
  • ASM-21-Metadata Generic Annotation Debug
    元数据 本章介绍了用于已编译Java类元数据(例如注解)的树API。 之所以很短,是因为这些元数据已经在第4章中介绍过,并且因为一旦知道了相应的 core API,树API就很简单。 泛型 树API不提供对泛型类型的任何支持! 确实,它代表了带有签名的泛型类型,就像在核心API中一样,但是没有提供与SignatureVisitor对应的SignatureNode类,尽管这是可能的(...
    2018-07-20 05:43:31 | Java
  • ASM-19-Method 分析接口与组件
    接口和组件 用于代码分析的ASM API在 org.objectweb.asm.tree.analysis 软件包中。 就像包名称所暗示的那样,它基于树API。 实际上,该程序包提供了进行正向数据流分析的框架。 为了能够使用或多或少的精确值集执行各种数据流分析,数据流分析算法分为两部分: 一个是固定的,由框架提供,另一个是可变的,由用户提供。 更确切地说: 在Analyzer和...
    2018-07-20 05:43:31 | Java
  • ASM-19-Method 分析介绍
    方法分析 本章介绍基于树API的ASM API,用于分析方法代码。 首先介绍代码分析算法,然后提供相应的ASM API和一些示例。 介绍 代码分析是一个非常大的主题,并且存在许多用于分析代码的算法。 在这里不可能全部展示它们,这超出了本文的范围。 实际上,本部分的目的只是概述ASM中使用的算法。 在有关编译器的书中可以找到关于此主题的更好的介绍。 下一节将介绍两种重要的代码分...
    2018-07-20 05:43:31 | Java
  • ASM-18-Method 组件组成
    成分组成 到目前为止,我们只看到了如何创建和转换MethodNode对象,但是还没有看到与类的字节数组表示形式相关的链接。 像对于类一样,此链接是通过组合核心API和树API组件来完成的,如本节所述。 介绍 除了图7.1中所示的字段外,MethodNode类还扩展了MethodVisitor类,并且还提供了两个接受方法,它们将MethodVisitor或ClassVisitor作为参...
    2018-07-20 05:43:31 | Java
  • ASM-17-接口与组件
    方法 本章介绍如何使用ASM树API生成和转换方法。 它从仅提供树API的介绍开始,并提供一些说明性示例,然后介绍如何与核心API组合。 下一章介绍了用于泛型和注解的树形API。 Interfaces and components 说明 MethodNode 用于生成和转换方法的ASM树API基于MethodNode类(请参见图7.1)。 Figure 7.1.: The...
    2018-07-20 05:43:31 | Java