ByteCode Instrumentation
Bytecode Instrumentation 定义
我们首先来看看,什么叫“Instrumentation”?Instrumentation这个词有很多意思,在维基百科中,它是这样解释的:
Instrumentation is the use of measuring instruments to monitor and control a process. It is the art and science of measurement and control of process variables within a production, laboratory, or manufacturing area.
似乎中文中没有一个合适的词来描述,意思就是“使用计量器具去监控和控制一个流程”就可以被叫做“Instrumentation”。比如下面这个很
直观的器具就被用来做Instrumentation了。
什么是ByteCode Instrumentation
这是我在网上[2](大专栏 ByteCode Instrumentationnoreferrer">http://www.ibm.com/developerworks/cn/java/j-rtm2/index.html)看到的一个定义,里面对“bytecode instrumentation”的翻译就是“字节码插装”,但是这里有个缺陷就是,针对字节码的插装,并不只限于Java语言,其他基于字节码的语言(比如.Net/Python)也是可以插装的。
而且可以进一步延伸的是,除了有字节码插装(bytecode instrumentation)之外,也有源代码级别的插装(sourcecode instrumentation)。他们的使用场景是不一样的,比如字节码插装主要发生在进程运行时,当然编译时也是可以字节码插装的。而源代码级别的插装主要是发生在编译时。
参考:
- http://www.ibm.com/developerworks/cn/java/j-rtm2/index.html
- https://technoga.wordpress.com/2012/12/01/what-is-bytecode-instrumentation/#2
- https://github.com/neuroo/equip
- http://security.coverity.com/blog/2014/Nov/understanding-python-bytecode.html
ByteCode Instrumentation的更多相关文章
- Living in the Matrix with Bytecode Manipulation--转
原文地址:https://www.infoq.com/articles/Living-Matrix-Bytecode-Manipulation You are probably all too fam ...
- java.lang.instrument.Instrumentation
java.lang.instrument.Instrumentation 看完文档之后,我们发现这么两个接口:redefineClasses和retransformClasses.一个是重新定义cla ...
- Java资源大全中文版(Awesome最新版)
Awesome系列的Java资源整理.awesome-java 就是akullpp发起维护的Java资源列表,内容包括:构建工具.数据库.框架.模板.安全.代码分析.日志.第三方库.书籍.Java 站 ...
- batch_size 和 fetch_size作用
hibernate抓取策略,,batch-szie在<class>上的应用 batch-size属性,可以批量加载实体类, hbm.xml classes.hbm.xml <?xml ...
- Hibernate-入门教程
首先了解hibernate的目录结构 . +lib antlr.jar cglib-full.jar asm.jar asm-attrs.jars commons-collections.jar co ...
- Hibernate 抓取策略fetch-2 (批量抓取batch-size以及hibernate.jdbc.fetch_size、hibernate.jdbc.batch_size)
类关系: User N~1 Group 测试代码: System.out.println("1"); List stuList = session.createQuery(&quo ...
- JavaPersistenceWithHibernate第二版笔记-第五章-Mapping value types-005控制类型映射(Nationalized、@LOB、@org.hibernate.annotations.Type)
一.简介 1. 2. 3. 4. to override this default mapping. The JPA specification has a convenient shortcut a ...
- Android 如何切换到 Transform API?
摘要: 如果你的 Android 构建中涉及到字节码插装(bytecode instrumentation),或者应用中提供了进行插装的插件,并希望它能支持 Instant Run,那么你必须切换到 ...
- awesome-java
Awesome Java A curated list of awesome Java frameworks, libraries and software. Awesome Java Ancient ...
随机推荐
- 使用connected-react-router使router与store同步
connected-react-router是一个绑定react-router到redux的组件,来实现双向绑定router的数据到redux store中,这么做的好处就是让应用更Redux化,可以 ...
- JNI传递修改自定义Java Class数组数据
声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 结合前面讲的2篇关于JNI的文章,这里直接把代码贴上,主要是要知道如果传递自定义Class Array的时 ...
- JOIN US | 京东云诚聘技术精英
清新的办公区域感受自然的气息,温馨的团队为你我放飞青春的理想 上有天文下有地理的阅读区域 各类图书提供借阅 绿植环绕生机勃勃的会客区域洋溢青春 [高级Java工程师] 职位描述: 参与云计算相关平台/ ...
- 吴裕雄--天生自然 JAVASCRIPT开发学习:prototype(原型对象)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- SQL基础教程(第2版)第3章 聚合与排序:练习题
存在以下 个错误. .使用了字符类型的列(product_name)作为 SUM 函数的参数. >> 解答 SUM 函数只能使用数值类型的列作为参数. . WHERE 子句写在了 GROU ...
- MySQL--数据导入
参考:http://blog.csdn.net/jyb2014/article/details/39294879?locationNum=13 可导入大文件. source 导入总是失败.
- 系统学习python第二天学习笔记
1.对day01所学内容的练习 """ 评分规则: A >=90 B >=80 C >=70 D 其他 用户输入成绩,根据成绩的不同显示不同的级别. & ...
- //使用PDO连接mysql数据库
<?php //使用PDO连接mysql数据库 class pdo_con{ var $dsn = 'mysql:dbname=test; host:127.0.0.1'; va ...
- DNS和hosts
https://zhidao.baidu.com/question/571487394.html 还有ip地址和域名 域名是唯一的 ip也是唯一的 但是一个域名可以对应多个ip(就好比百度只有一个域名 ...
- 注册登录页面修订-Python使用redis-手机验证接口-发送短信验证
登录页面修订 views.Login.vue <template> <div class="login box"> <img src="@/ ...