`

JVM自动加载指定javaagent

    博客分类:
  • JVM
 
阅读更多

查资料时偶然查到的JVM启动时自动加载指定javaagent方法

核心是 JAVA_TOOL_OPTIONS 变量

Linux

export JAVA_TOOL_OPTIONS=-javaagent:/test.jar

Windows

set JAVA_TOOL_OPTIONS=-javaagent:D:/test.jar

推荐设置到环境变量, 配合 AspectJ, 可以构造大杀器.

JVM在启动时检测到有设置 JAVA_TOOL_OPTIONS 时, 会自动将 JAVA_TOOL_OPTIONS 的值加载为 JVM 启动参数

参考资料: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/envvars002.html

分享到:
评论

相关推荐

    java agent注册为windows服务

    5. **JSW配置**:在JSW的配置文件(如`wrapper.conf`)中,我们需要指定Java Agent的jar文件和参数。例如: ``` wrapper.java.additional.1=-javaagent:path/to/your/agent.jar ``` 6. **启动服务**:现在,当...

    javaAgent实现补丁不重出功能,通过attach实现程序运行时加载,同时通过shell脚本部署到容器内

    编写shell脚本可以自动化整个过程,包括获取容器的PID、将JavaAgent JAR文件复制到容器中,以及在容器内执行必要的命令来附加和加载JavaAgent。这通常涉及到`docker exec`命令来执行容器内的命令,以及可能的文件...

    JAVA热加载eclipse插件

    - 在启动应用服务器时,指定Spring Loaded的系统属性,例如`-XX:MaxPermSize=256m -javaagent:path/to/springloaded-x.x.x.jar`。 - 配置Eclipse项目,使其使用Spring Loaded进行编译和运行。 5. **DCEVM集成** ...

    基于java Instrumentation技术的数据采集探针验证.pdf

    5. 将构建的Agent打包成jar文件,并通过JVM参数-javaagent指定这个jar文件来启动JVM。 通过这种方式,开发者可以在不修改原有系统代码的情况下,动态地为应用程序增加监控功能。这种方式尤其适用于那些不希望或无法...

    基于Java的类重加载工具 JReloader.zip

    例如,`-javaagent:path/to/jreloader-0.4.jar`,这告诉JVM使用JReloader作为代理。 3. **设置监视目录**:指定JReloader需要监视的源代码目录。这通常是你的项目源代码目录,这样JReloader就能检测到任何修改并...

    BTrace实现原理

    通过`-javaagent`命令行参数,我们可以指定一个JAR文件作为代理,这个JAR文件包含了代理类。代理类需要实现`premain`方法,这个方法会在JVM初始化后且应用程序主类加载之前被调用。代理类可以接收命令行参数`...

    时代凌宇skywalking链路监控1

    - **Java Agent 原理**:SkyWalking 监控服务时,利用 `-javaagent` 参数指定 `skywalking-agent.jar`,Java Agent 在 JVM 启动时预处理目标类,实现无侵入式监控。这涉及到 `Premain-Class` 类的 `premain()` 方法...

    springloaded

    常见的设置包括`-javaagent`参数,例如`-javaagent:path/to/springloaded-1.2.5.RELEASE.jar`,确保指定了正确的jar路径。 3. **启动应用**:配置完成后,启动你的Java应用。SpringLoaded会在后台运行,监听代码变更...

    jdk 5 instrument学习

    通过在JVM启动参数中指定`-javaagent`,我们可以指定Agent的路径和初始化参数。例如: ```bash java -javaagent:/path/to/agent.jar=param1=value1,param2=value2 ... ``` 在`premain`方法中,我们可以获取到...

    Pid Agent for Java-开源

    - **启动时附加**:在启动Java应用时,通过`-javaagent`参数指定pidagent的路径,如`-javaagent:/path/to/pidagent-1.0_01.jar`。 - **运行时附加**:如果Java应用已经在运行,可以通过操作系统的命令行工具找到进程...

    Java JPA事务处理.pdf

    例如,EclipseLink等JPA提供商支持通过`-javaagent`参数指定优化后的字节码处理工具,以在运行时进一步提升性能。 4. 事务处理: 在Java EE环境下,JPA支持两种事务管理方式:容器管理的事务(CMT)和用户管理的...

    springloaded-1.2.4.RELEASE.zip

    - **命令行参数**:在启动JVM时添加`-javaagent`参数,指定SpringLoaded的jar路径,如`-javaagent:path/to/springloaded-1.2.4.RELEASE.jar`。 需要注意的是,虽然SpringLoaded大大简化了开发过程中的部署环节,但...

    修改java 不重启tomcat

    通常需要在IDE的运行配置中添加JRebel的启动参数,例如`-javaagent:path/to/jrebel.jar`,这里的`path/to/jrebel.jar`是JRebel代理的路径。 3. **生成JRebel配置文件**:JRebel会自动生成一个`.rebel.xml`配置文件...

    JConsole(观察分析Java程序的运行)

    启动后,JConsole会自动检测当前机器上正在运行的所有Java进程。如果需要连接特定的进程,可以通过双击该进程的方式实现。 #### 三、配置Java程序以允许JConsole连接 为了让JConsole能够连接并分析Java应用程序,...

    jrebel 不用重启,直接改直接用 ,可改java类和配置文件

    当开发者修改了某个Java类的源代码后,JRebel会自动重新加载这个类,无需重启应用。这样,开发者可以在开发过程中快速验证代码的修改效果,提高调试和优化的效率。 另一个标签“工具”表明JRebel是一个开发辅助工具...

    JDK6.0(Mustang)新特性

    在Java SE 5及其后续版本中,开发者可以通过`-javaagent`参数指定一个特定的jar文件(包含Instrumentation代理)来启动Instrumentation的代理程序。代理程序可以在类被加载到JVM之前对其进行预处理,例如插入代码、...

    jacoco代理

    - **代理模式(Agent Mode)**:在启动Tomcat时,通过Java命令行参数`-javaagent`指定JaCoCo的代理jar,如`-javaagent:/path/to/jacocoagent.jar=destfile=/path/to/jacoco.exec`。这样,JaCoCo会在Tomcat启动时自动...

    网易 · 郑文 网易 APM android 端 Hook方案探索 .pdf

    静态Agent通常是通过在JVM启动时,通过"-javaagent"参数指定agent.jar的方式来加载预先准备好的字节码增强工具。动态Agent则涉及到使用Instrumentation的API动态加载Agent,这为运行时的字节码增强提供了可能。 ...

    spring对AOP的支持(使用AspectJ进行AOP演示)

    而运行时 weaving 则是在 JVM 启动时通过指定 `-javaagent` 参数来加载 `aspectjweaver.jar`,在运行时动态织入切面。 在这个案例中,由于我们使用的是 Spring Boot,通常会选择运行时 weaving,因此需要在 `pom....

    instantreloader

    Java的`-javaagent`参数是JVM在启动时使用的一个选项,它允许我们在程序运行时插入一个Java代理(Java Agent),这种代理通常是一个包含预定义接口(如`Premain-Class`和`Agent-Class`)的JAR文件。Instant ...

Global site tag (gtag.js) - Google Analytics