zoukankan      html  css  js  c++  java
  • Java字节码—ASM

    前言

    1. 官方介绍:ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify existing classes or dynamically generate classes, directly in binary form.
    2. ASM是一个多用途的Java字节码操作和分析框架。它可以被用来修改现有类或动态生成的类,直接以二进制形式
    3. ASM 应该是 Assembly缩写(官方没有缩写介绍,个人理解)

    哪些著名的框架使用了ASM

    • Languages and AOP tools: AspectWerkz | AspectJ | BeanShell | CGLIB | dynaop | Clojure | Groovy
    • Java ME: EclipseME | MicroEmulator Sun Java ME emulation for Java SE |
    • Tools and frameworks: Fractal | Dr. Garbage | Proactive | Retrotranslator | RIFE | R-OSGi | Terracotta
    • Persistence: EasyBeans | Ebean | JDBCPersistence | JPOX | OpenEJB | Oracle BerkleyDB
    • Monitoring: BEA WebLogic | BTrace | Byteman | JiP | ByCounter | Limpid Log
    • Testing and code analysis: Agitar | Cobertura | Eclipse | JCarder | SemmleCode | Structure101 | SonarJ

    ASM特点

    1. 短小精悍、快速、健壮
    2. 具有很好的文档,并且还有eclipseIdea插件
    3. 开源

    ASM Core框架


    ClassVisit接口实现


    ClassReader实现


    ClassWriter实现


    例子1:类生成


    jvm的命令行介绍

    	javap -verbose 查看类信息
    	javap -c 查看bytecode
    

    使用 ASM 实现 Java 语言的“多重继承”

    http://www.ibm.com/developerworks/cn/java/j-lo-asm/


    插件ByteCode Outline使用介绍

  • 相关阅读:
    sqlmap参数设置
    SQL注入
    SQL注入基本原理
    信息收集(shodan的使用)
    CDN
    2020软件工程个人作业06——软件工程实践总结作业
    问题清单
    2020软件工程作业05
    2020软件工程作业00——问题清单
    软件工程第三次作业
  • 原文地址:https://www.cnblogs.com/oldtrafford/p/6736675.html
Copyright © 2011-2022 走看看