内容列表

  • 2020-01-07 0 738
    Java Agent入门实战(三)-JVM Attach原理与使用

    之前的permain方法只能在java程序启动之前执行,并不能程序启动之后再执行,但是在实际的很多的情况下,我们没有办法在虚拟机启动之时就为其设定代理,这样实际上限制了instrument的应用。而Java SE 6的新特性改变了这种情况,可以通过Java Tool API中的attach方式来达到这种程序启动之后设置代理的效果。 Attach API 不是 Java 的标准 API,而是 Sun...

  • 2020-01-06 0 616
    Java Agent入门实战(二)-Instrumentation源码概述

    Instrumentation接口设计初衷是为了收集Java程序运行时的数据,用于监控运行程序状态,记录日志,分析代码用的。接下来从源码的流程来介绍一下 实现类InstrumentationImpl的void addTransformer(ClassFileTransformer transformer, boolean canRetransform); 从这段代码知道,转换器ClassFileT...

  • 2019-12-31 0 893
    Java Agent入门实战(一)-Instrumentation介绍与使用

    学会Java Agent你能做什么? 自动添加getter/setter方法的工具lombok就使用了这一技术 btrace、Arthas和housemd等动态诊断工具也是用了instrument技术 Intellij idea 的 HotSwap、Jrebel 等也是该技术的实现之一 pinpoint、skywalking、newrelic、听云的 APM 产品等都基于 Instrumentat...

  • 2020-07-19 0 943
    ☆技术问答集锦(13)Java Instrument原理

    1 Java Instrument能做什么?最大的作用? 使开发者可以构建一个独立于应用程序的代理程序Agent,用来监控和协助运行在JVM上的程序,更重要的是能够替换和修改某些类的定义; 最大的作用:可以实现一种虚拟机级别支持的AOP实现方式; 2 在JDK 1.5 、1.6中,Java Instrument做了哪些变动支持? JDK 1.5:支持静态Instrument,就是在JVM启动前静态...

  • 2020-07-19 0 1,206
    ☆基于Java Instrument的Agent实现

    0 介绍 使用 Instrumentation,使得开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在 JVM 上的程序,甚至能够替换和修改某些类的定义。有了这样的功能,开发者就可以实现更为灵活的运行时虚拟机监控和 Java 类操作了,这样的特性实际上提供了 一种虚拟机级别支持的 AOP 实现方式,使得开发者无需对 JDK 做任何升级和改动,就可以实现某些 AOP 的功...