关于javaagents的教程 [英] Tutorials about javaagents

查看:108
本文介绍了关于javaagents的教程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想学习一些关于javaagents的东西,但研究并不容易。大多数结果是指 JADE 。我知道java代理可能意味着两件事:

I'd like to learn something about javaagents, but researching is not easy. Most of result refers to JADE. I know java agent can mean two things:


  1. 用Java编程的代理是分布式系统的代理
    概念的化身。

  2. 用于增强JVM工作的低级软件组件,例如分析器,代码覆盖工具等

我发现类似的问题这里,但不幸的是它也指版本1.

I've found similar question here, but unfortunately it also refers to version 1.

你知道任何文章,初学者教程,关于版本2中javaagent的示例项目吗?
我在这里找到了一个这里,但我正在寻找更多。

Do you know any articles, tutorials for beginners, sample project about javaagent in version 2? I've found one here, but I'm looking for more.

推荐答案

第二个案例讨论 Java Instrumentation API - 此链接指向Javadoc这是相当具有描述性的。

The second case talks about Java Instrumentation API - this link points to a Javadoc which is rather descriptive.

这里是完整的指令和如何创建java检测代理的示例

主要概念是:


  1. 实施静态 premain (类似于 main )方法,如下所示:

  1. Implement a static premain (as an analogy to main) method, like this:

import java.lang.instrument.Instrumentation;

class Example {
    public static void premain(String args, Instrumentation inst) {
        ...
    }
}


  • 创建清单文件(例如, manifest.txt )将此类标记为主要执行前。其内容为:

  • Create a manifest file (say, manifest.txt) marking this class for pre-main execution. Its contents are:

    Premain-Class: Example
    


  • 编译类并将此类打包成 JAR 存档:

    javac Example.java
    jar cmf manifest.txt yourAwesomeAgent.jar *.class
    


  • 使用 -javaagent 参数执行您的JVM,如下所示:

  • Execute your JVM with -javaagent parameter, like this:

    java -javaagent:yourAwesomeAgent.jar -jar yourApp.jar
    


  • 这篇关于关于javaagents的教程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆