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使用介绍

  • 相关阅读:
    stm32启动代码分析
    STM32固件库详解
    ARM GCC CodeSourcery EABI下载地址
    Linux/redhat 基本网络配置
    侧边栏导航
    div滚动,页面不滚动
    自定义滚动条样式
    placeholder自定义CSS
    浏览器判断
    初始化页面垂直居中
  • 原文地址:https://www.cnblogs.com/oldtrafford/p/6736675.html
Copyright © 2011-2022 走看看