Java探针-Java Agent技术-阿里面试题 javaagent 动态字节码修改 skywalking -无侵入探针深入理解

2023-10-27

关注UAV MOF工作原理 - 同创和dynatrace探针如何重启preload注入的

Docker 动态修改容器中的环境变量???
动态修改 java $JAVA_OPTS???
linux进程启动拦截判断?? ?

0 好像说明白了一些:Java Agent(一)Instrumention及启动时加载agent
https://blog.csdn.net/sun_tantan/article/details/105277434

1 入门
https://www.cnblogs.com/aspirant/p/8796974.html
如何执行 MyProgram.jar ?我们通过 -javaagent 参数来指定我们的Java代理包,值得一说的是 -javaagent 这个参数的个数是不限的,如果指定了多个,则会按指定的先后执行,执行完各个 agent 后,才会执行主程序的 main 方法。

命令如下:

C:\WINDOWS\system32>java -javaagent:C:\Users\z003fe9c\Desktop\tessdata\agent\pre
_MyProgram.jar=Hello1 -javaagent:C:\Users\z003fe9c\Desktop\tessdata\agent\pre_My
Program.jar=Hello2 -jar C:\Users\z003fe9c\Desktop\tessdata\agent\MyProgram.jar

输出结果:

====premain 方法执行
Hello1
====premain 方法执行
Hello2
=====main方法执行

特别提醒:

(1)如果你把 -javaagent 放在 -jar 后面,则不会生效。也就是说,放在主程序后面的 agent 是无效的。

2 进阶 热加载
https://blog.csdn.net/catoop/article/details/51034778
二、使用 spring-loaded 实现 jar 包热部署
在项目开发中我们可以把一些重要但又可能会变更的逻辑封装到某个 logic.jar 中,当我们需要随时更新实现逻辑的时候,可以在不重启服务的情况下让修改后的 logic.jar 被重新加载生效。

spring-loaded是一个开源项目,项目地址:https://github.com/spring-projects/spring-loaded

使用方法:

在启动主程序之前指定参数
-javaagent:C:/springloaded-1.2.5.RELEASE.jar -noverify
1
2
3
如果你想让 Tomat 下面的应用自动热部署,只需要在 catalina.sh 中添加:

set JAVA_OPTS=-javaagent:springloaded-1.2.5.RELEASE.jar -noverify
————————————————
版权声明:本文为CSDN博主「catoop」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/catoop/article/details/51034778

3 付费
https://blog.csdn.net/u013378306/article/details/108789443

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java探针-Java Agent技术-阿里面试题 javaagent 动态字节码修改 skywalking -无侵入探针深入理解 的相关文章

随机推荐

  • YOLO数据集实现数据增强的方法(裁剪、平移 、旋转、改变亮度、加噪声等)

    前言 最近我在做论文实验时从MSCOCO数据集中筛选了符合条件的1260张图片 但数据样本太少了 于是我就利用数据增强的方法实现了带标签的样本扩充 最后扩充为7560张图片 本文就来记录一下过程 有不懂的地方欢迎留言噢 目录 前言 一 什么
  • mix_transformer_demo

    代码 原代码为mix transformer 官方代码 我改了一些地方做适配 目的是做研究 并了解一下mix transformer 原来的代码的segformer head 的normalize那里的config的type是SyncBN
  • 为什么3D建模成为副业标配?

    其实在副业大时代的潮流下找到一份适合自己的副业兼职 改变现状 并不是一件很困难的事情 如果你喜欢游戏 喜欢动漫 对影视动画制作感兴趣 热爱画画 模型等等 3D建模是你副业兼职的最好选择 3D建模 通俗来讲是通过三维制作软件 构建出具有三维数
  • WSL1升级为WSL2

    首先需要启用组件 使用管理员打开Powershell并运行 Enable WindowsOptionalFeature Online FeatureName VirtualMachinePlatform 启用后会要求重启计算机 从https
  • Python全栈(七)Flask框架之4.Flask模板继承与案例练习

    Flask模板继承与案例练习 一 模版继承 二 配置静态资源文件 三 模板案例 一 模版继承 Flask中的模板可以继承 把模板中重复出现的元素抽取出来放在父模板中 子模板再根据自己的需要进行改写 通常 在父模板中定义公用的部分 通过定义b
  • Swift 变量

    变量是一种使用方便的占位符 用于引用计算机内存地址 Swift 每个变量都指定了特定的类型 该类型决定了变量占用内存的大小 不同的数据类型也决定可存储值的范围 上一章节我们已经为大家介绍了基本的数据类型 包括整形Int 浮点数Double和
  • WPF System.Windows.Data Error: 17 数据校验模板绑定错误

    错误定位 Path AdornedElement Validation Errors 0 ErrorContent 修改为 Path AdornedElement Validation Errors CurrentItem ErrorCon
  • linux下创建samba共享

    参考网上哪位大神的忘记了 用的是ubuntu 首先 sudo apt get install samba 安装好后在 etc samba 目录下面改一下smb conf文件 保存之前的 cd etc samba mv smb conf sm
  • Rust更适合经验较少的程序员?

    随着 Rust被亚马逊 谷歌等大厂青睐 越来越多的开发者加入学习大军 但接触之后 不少人纷纷嗟叹 Rust 太难了 在2020年Rust调查报告中 当被问及为什么会停止使用Rust时 有35 的开发者表示他们还没学会 可能是因为没有时间 也
  • 求平均成绩(C语言---AC)

    Problem Description 假设一个班有n n lt 50 个学生 每人考m m lt 5 门课 求每个学生的平均成绩和每门课的平均成绩 并输出各科成绩均大于等于平均成绩的学生数量 Input 输入数据有多个测试实例 每个测试实
  • vue 移动端H5微信支付和支付宝支付

    业务场景介绍 H5移动端支持微信支付 微信支付分为微信内支付 JSAPI支付官方API 和微信外支付 H5支付官方API 支付宝支付 手机网站支付转 APP 支付 官方API 订单生成逻辑 前端请求后端提交订单 后端去和微信或者支付宝对接生
  • CMAKE_INSTALL_PREFIX

    一 定义 CMAKE INSTALL PREFIX为cmake的内置变量 用于指定cmake执行install命令时 安装的路径前缀 Linux下的默认路径是 usr local Windows下默认路径是 C Program Files
  • Java使用Spire.Doc实现Word转换Pdf

    通过本文你将学到 Spire Doc是什么 如何在项目中引入Spire Doc依赖 项目中基于Spire Doc封装工具类实现实现Word转换Pdf 一 Spire Doc是什么 1 Spire Doc是成都冰蓝科技有限公司开发的一款简单易
  • 用计算机读取三菱PLC程序,电脑如何读取与保存三菱plc数据?

    电脑读取与保存三菱plc数据的方法 plc处理的一些数据要求能保存下来 可以以后查询 这样可以实现的的方式有在电脑中做一些界面和plc通讯 读取数据 这样做的方式比较费时 费力 不实用 可以选用三菱提供的两个小软件实现在电脑上读取保存plc
  • c语言float和char几个字节,C语言当中int,float,double,char这四个有什么区别?

    区别在以下方面 一 定义方面 1 int为整数型 用于定义整数类型的数据 2 float为单精度浮点型 能准确到小数点后六位 3 double为双精度浮点型 能准确到小数点都十二位 4 char为字符型 用于定义字符类型的数据 二 内存占据
  • 【Linux驱动开发】DM9051NP的linux版本驱动

    对于没有内置EMAC的处理器 如全志F1C100S等 如果需要连接有线网 一般只有2种办法 SPI接口扩展 DM9051NP 和USB接口扩展 本文提供SPI接口的DM9051的驱动 以及官方的驱动问题修正 环境 处理器 F1C100S 软
  • 关于炸金花小游戏的代码组成

    分析 炸金花的主要流程 创建一副牌 打乱这副牌 发牌 比较 得出各玩家的最终点数 创建牌 通过两个数组创建一个混编数组 洗牌 利用Math random函数 打乱数组 加上sort函数进行打乱 sort function a b retur
  • 【已解决】戴尔笔记本电脑的卡顿问题.

    问题说明 戴尔笔记本电脑有个毛病 就是时不时的会卡一下 有的时候几天都不卡顿一次 有的时候几分钟就卡顿一次 这个问题让人很不舒服 也很困惑 怎么才能解决这个问题呢 本文给出了答案 查找原因 根据任务管理器详细信息选项卡 卡顿检测程序和录屏软
  • 手风琴效果

  • Java探针-Java Agent技术-阿里面试题 javaagent 动态字节码修改 skywalking -无侵入探针深入理解

    关注UAV MOF工作原理 同创和dynatrace探针如何重启preload注入的 Docker 动态修改容器中的环境变量 动态修改 java JAVA OPTS linux进程启动拦截判断 0 好像说明白了一些 Java Agent 一