E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
agentmain
Java Agent Premain &
Agentmain
概念premain是在jvm启动的时候类加载到虚拟机之前执行的
agentmain
是可以在jvm启动后类已经加载到jvm中了,才去转换类。这种方式会转换会有一些限制,比如不能增加或移除字段。
Kingairy
·
2024-02-01 17:25
JAVA
java
开发语言
java 探针两种模式实战
分为两种程序运行前的agent:premain程序运行中的agent:
agentmain
在程序运行前的agentjavaagent是java命令的一个参数,所以需要通过-javaagent来指定一个jar
荼白z
·
2024-01-14 11:35
java
开发语言
java agent 01.搭建agent
RELEASEprovidednet.bytebuddybyte-buddy1.10.19org.slf4jslf4j-api1.7.30providedStep2书写Agent的入口处agent有两个入口函数,分别是premain和
agentmain
ShootHzj
·
2023-04-20 06:50
从零开始的Java RASP实现(一)
目录0从零开始的JavaRASP实现(一)1javaagent1.1Main方法启动前概念介绍:如何使用创建agent创建main1.2JVM启动后attach机制启动一个长时间运行的jvm打包一个
agentmain
bitterz
·
2021-07-30 16:00
Arthas redefine原理
studyidea.cn的博客前言arthas可以热部署已经被虚拟机加载的类,这其实是借助Instrumentation的redefineClasses能力实现的,Instrumentation可以借助preMain和
agentMain
tinysakurac
·
2020-08-11 22:33
java
agent
Instrumentation的
agentmain
模式
创建代理程序项目地址publicstaticvoidagentmain(StringagentArgs,Instrumentationinst){inst.addTransformer(newSimClassFileTransformer(),true);try{inst.retransformClasses(Class.forName("sim.com.AgentTargetSample"));
sim-uu
·
2020-08-04 06:23
Instrumentation
#AgentmainAgent
JDK
【Java】Instrumentation热更新 premain
agentmain
需要提供一个
agentmain
方法。大致原理是使用agentattachapi附到待更新的jvm上,然后动态加载agent,agent与
绝世好阿狸
·
2020-08-04 02:05
java
JAVA
AgentMain
开发示例
agentmain
方式premain是JavaSE5开始就提供的代理方式,给了开发者诸多惊喜,不过也有些须不便,由于其必须在命令行指定代理jar,并且代理类必须在main方法前启动。
Kuzury
·
2020-08-04 01:50
APM
JAVA
构建自己的监测器【6】-
agentmain
方式
构建自己的监测器【6】-
agentmain
方式博客分类:编程开发性能监控我的源码在前面的一些例子中,已经用到了jdk5中premain和instrumentation的一些基本用法,给了我们很多惊喜,相当的给力
donnyxia1128
·
2020-08-04 01:11
Java
java agent + java assist
javaagent可以在main方法前添加一个拦截器,即premain方法,可以在该方法内执行一些逻辑,需注意在meta-inf/manifest文件中注明;1.6之后,提供了在JVM运行时,进行代理的方法,即
agentMain
零零sy零零
·
2020-08-04 01:06
Agent
agentmain
+ASM记录方法运行时参数信息
agentmain
提供了运行时修改指定进程中字节码的能力,配合ASM框架,达到随时修改字节码的效果。
ljz2016
·
2020-08-03 19:49
字节码
Agent
agentmain
-运行期恢复类修改,热替换
前文讲过运行期修改类,但是有的时候想去除以前的修改,比如曾经添加了类监控,但是现在不想监控了,希望恢复成原生代码。使用以下代码,重新从源码文件中读取类信息,然后加载到jvm中。这既可以擦除原来的修改,也可以实现热替换功能。这里只贴出了关键代码,其它部分和前文一致。publicclassRestoreTransformerimplementsClassFileTransformer{publicby
ljz2016
·
2020-08-03 19:49
字节码
JavaAgent实验
具体场景:监控,热部署,运行pojie程序比较agent的使用(参考探秘-Java-热部署三(Java-agent-
agentmain
)):premain:优点:可以在启动的时候,通过参数指定,在类加载前进行操作缺点
Vencent Kim
·
2020-08-03 18:43
java
探秘 Java 热部署三(Java agent
agentmain
)
前言让我们继续探秘Java热部署。在前文探秘Java热部署二(Javaagentpremain)中,我们介绍了Javaagentpremain。通过在main方法之前通过类似AOP的方式添加premain方法,我们可以在类加载之前做修改字节码的操作,无论是第一次加载,还是每次新的ClassLoader加载,都会经过ClassFileTransformer的transform方法,也就是说,都可以在
weixin_34122604
·
2020-08-03 11:27
java.lang.instrument解析
JVMTIClassFileLoadHookagent函数(Agent_OnLoad、Agent_OnAttach、Agent_OnUnload)2.2Instrument的实现2.2.1premain启动时加载2.2.2
agentmain
舞动的痞老板
·
2020-08-03 11:51
监控
Java Instrument (六) 动态重定义Class
raintungli/article/details/51646556)中提到了在on_attach的方式上如何重新定义class,里面也提到了最后attach时候会调用我们自定义的agentclass的
agentmain
raintungli
·
2020-08-03 11:50
JVM
源码分析
JVM
源码分析
比较详细的java热更新
agentmain
的使用
首先单独开一个工程,里边就写一个包含
agentmain
方法的类比如我的JavaAgent类下面是这个工程得到截
猪哥亮0
·
2020-08-03 11:48
JDK1.6“新“特性Instrumentation之JavaAgent
"新"特性Instrumentation之JavaAgent简介JavaAgent的作用Agent给我们程序带来的影响.jpg使用Agent-premain方法影响的程序效果图.jpg使用Agent-
agentmain
大火yzs
·
2020-08-03 10:30
JavaAgent
java
agentmain
使用过程中的坑,看看你有没有遇到
com.sun.tools.attach.AttachNotSupportedException:noprovidersinstalled我出现这个报错,是因为我引的包有问题,本地装了jdk的话,可以这样引用tools.jarcom.suntools1.5.0systemD:/ProgramFiles/Java/jdk1.8.0_192/lib/tools.jarsystemPath标签用来指定本
Vencent Kim
·
2020-07-13 06:15
java
热更新Demo:java底层及
agentmain
()三种实现方式
一、热更新入门级Demo,原文:[探秘Java热部署](https://www.jianshu.com/p/731bc8293365)代码编写:1)新建一个类AccountMain.java,执行替换ClassLoader的操作。它的main()方法是一个间隔20秒的死循环,为什么间隔20秒呢?因为我们要在启动之后,修改类,并重新编译,因此需要20秒时间。代码解析:创建一个自定义的ClassLoa
FromNowOnUntilTheEnd
·
2020-07-09 23:15
Java相关
热部署
探秘 Java 热部署三(Java agent
agentmain
)
前言让我们继续探秘Java热部署。在前文探秘Java热部署二(Javaagentpremain)中,我们介绍了Javaagentpremain。通过在main方法之前通过类似AOP的方式添加premain方法,我们可以在类加载之前做修改字节码的操作,无论是第一次加载,还是每次新的ClassLoader加载,都会经过ClassFileTransformer的transform方法,也就是说,都可以在
莫那一鲁道
·
2020-03-11 09:15
Java Agent实例
实现javaagent有两种方式,premain和
agentmain
。
binecy
·
2018-11-18 17:51
ASM(动态增强)
例如一个进程正在运行着,这个时候我们需要在业务无感知的情况下进行打印日志,或者计算接口的操作时间这种操作,这个时候我们就需要动态的去操作JVM中的字节码文件了动态操作字节码动态操作字节码的方式,其实还是主要使用
agentmain
龚小炎
·
2018-05-08 13:47
Java Instrument (六) 动态重定义Class
raintungli/article/details/51646556)中提到了在on_attach的方式上如何重新定义class,里面也提到了最后attach时候会调用我们自定义的agentclass的
agentmain
raintungli
·
2016-06-13 23:00
动态重定义Class
JVM的动态agent机制:在main函数启动之后运行agent
为解决运行时启动代理类的问题,JavaSE6开始提供了在应用程序的VM启动后在动态添加代理的方式,即
agentmain
方式。与Permain类似,agent方式同样
aitangyong
·
2014-09-02 22:06
java高级话题
JVM的动态agent机制:在main函数启动之后运行agent
为解决运行时启动代理类的问题,JavaSE6开始提供了在应用程序的VM启动后在动态添加代理的方式,即
agentmain
方式。 与Permain类似,agent方式同
aitangyong
·
2014-09-02 22:00
动态agent
agentmain
构建自己的监测器【6】-
agentmain
方式
在前面的一些例子中,已经用到了jdk5中premain和instrumentation的一些基本用法,给了我们很多惊喜,相当的给力。不过也有一些不方便的地方,由于其必须在命令行指定代理jar,并且代理类必须在main方法前启动。因此,要求开发者在应用前就必须确认代理的处理逻辑和参数内容等等,在有些场合下,这是比较困难的。比如正常的生产环境下,一般不会开启代理功能,但是在发生问题时,我们不希望停止应
qyongkang
·
2012-07-29 21:00
agent
构建自己的监测器【6】-
agentmain
方式
在前面的一些例子中,已经用到了jdk5中premain和instrumentation的一些基本用法,给了我们很多惊喜,相当的给力。不过也有一些不方便的地方,由于其必须在命令行指定代理jar,并且代理类必须在main方法前启动。因此,要求开发者在应用前就必须确认代理的处理逻辑和参数内容等等,在有些场合下,这是比较困难的。比如正常的生产环境下,一般不会开启代理功能,但是在发生问题时,我们不希望停止应
qyongkang
·
2012-07-29 21:00
jdk
thread
String
jar
Class
文档
性能mock问题记录
在jar包中指定Agent-Class,并在这个class中实现
agentmain
方法来对jvm做一些操作(使用实现了ClassFileTransformer的类进行字节码替换工作)。对依赖外部调用
zhangren07
·
2011-12-13 10:00
maven
jboss
jar
velocity
System
Class
EV_AGENT[9699]: Agent Main --Estream construct failed. Err: RWSockErr:
在操作系统日志中出现:EV_AGENT[9699]:
AgentMain
--Estreamconstructfailed.Err:RWSockErr:inRWSocket::getpeername:BADF
vito.huang
·
2011-11-07 14:15
休闲
EV_AGENT
Agent
Main
Linux
EV_AGENT[9699]: Agent Main --Estream construct failed. Err: RWSockErr:
在操作系统日志中出现:EV_AGENT[9699]:
AgentMain
--Estreamconstructfailed.Err:RWSockErr:inRWSocket::getpeername:BADF
vito.huang
·
2011-11-07 14:15
main
agent
休闲
高IO
EV_AGENT
navisphere
看一看btrace
执行步骤:1.btrace解析script,并生成相应的agent包2.attach到jvm,并将相关agent包load进行,执行preMain或者
agentMain
方法,传入参数包括instrument3
wanyanxgf
·
2011-05-11 18:00
jvm
String
Class
initialization
methods
variables
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他