- 博客(615)
- 资源 (73)
- 收藏
- 关注
原创 字节码编程之bytebuddy结合javaagent支持多种监控方式
打印方法执行耗时是监控,获取程序运行的JVM信息是监控,链路追踪也是监控。本文看下如何实现一个通用的监控解决方案。
2024-07-19 18:09:29
296
原创 字节码编程之bytebuddy结合javaagent实现单机版链路追踪
本文看下通过如何实现单机版的链路追踪,了解了单机版的链路追踪,对于分布式场景的链路最终其实也就会了一大半,分布式场景下的链路追踪其实就是多了一个微服务调用另一个微服务时将traceId带上的工作。如下:通过traceId就可以将整个调用链串起来了。本文先只来看下基于treadlocal的单机版链路追踪如何实现。
2024-07-19 10:56:24
351
原创 字节码编程之获取程序的内存消耗
本文通过Javaaagent的方式来启动一个定时程序,不断的获取并输出程序的jvm内存(堆和非堆)信息以及gc信息。
2024-07-17 09:35:45
309
原创 字节码编程bytebuddy之结合javaagent监控方法执行耗时
本文看下通过bytebuddy结合javaagent如何实现监控方法耗时功能。
2024-07-16 11:36:39
148
原创 字节码编程javassist之结合javaagent监控方法执行耗时
本文看下javassist如何结合javaagent来实现监控方法执行时长功能。
2024-07-12 17:04:38
377
原创 maven项目设置manifest清单文件插件配置
比如编写javaagent程序时,或者是生成可执行jar包时都需要配置manifest清单文件,本文看下通过maven插件如何来做。
2024-07-12 15:12:03
238
原创 字节码编程bytebuddy之helloworld
defineMethod("main", void.class, Modifier.PUBLIC + Modifier.STATIC) // 定义方法修饰符.withParameter(String[].class, "args") // 定义方法参数,要和defineMethod配套出现.intercept(FixedValue.value("say hi from byte buddy")) // 这会定义一个String变量,并赋常量值// 输出类字节码try {
2024-07-10 13:53:42
124
原创 字节码编程javassist之结合hotswap在运行期动态修改方法返回值
本文看下如何通过javassist结合hotswap在运行期动态修改方法的返回值。
2024-07-05 19:54:05
301
原创 字节码编程ASM之插桩方法调用记录
正式开始之前,先分享一个让人”悲伤“的真实的故事。那是一个风和日丽的周六的下午,俺正在开开心心的打着羽毛球,突然接到了来自于最不想联系的那个人。瞬间整个人都不好了啊。事后复盘导致bug出现的原因是测试场景覆盖的不够全导致,也就是导致出现问题的方法在测试环境压根就没有调用到过。而且因为这种原因导致的线上bug,已然不是第一次遇到了,所以我就在想,有没有什么办法能够规避这种问题的发生呢?测试用例每次都会投入大量的时间和测试同学一起评审啊!还是会出现场景覆盖不全的问题。
2024-07-03 17:22:44
753
原创 字节码编程ASM之两数之和
源码 。看下如何使用ASM来写如下的类:1:编码源码:写了非常详细的注释,看下吧,还有哪里不懂的可以留言告知。然后运行下:反编译看对应的Java代码:一个多么简单的加法函数,通过底层字节码方式来编写还是挺麻烦的,只能说底层还是很复杂的,但是想要进阶,不了解底层又是不行的。所以,在这winter already coming的行业环境下,加油吧!!!JVM 虚拟机字节码指令表 。
2024-06-27 13:51:43
303
原创 字节码编程ASM之idea插件asm bytecode outline的使用
直接用ASM来编写字节码程序难度其实还是蛮大的,为此,就有热心人事开发了相关的,其中比较优秀的一个是asm bytecode outline,本文就来一起看下如何使用。
2024-06-27 10:24:25
222
原创 数据结构之前缀树
思想:空间换时间,因为需要维护非常多的引用,所以比较占用空间,但能够快速定位所以时间较短时间复杂度:log特点:根节点不包含字符每一条路径所有节点的字符拼接在一起就对应一个字符串拥有相同前缀的多个字符串共享相同前缀。
2024-06-25 15:58:28
340
原创 idea插件开发之如何获取用户输入的变量名(类变量,局部变量等)
比如我们要开发一个变量名称补全功能的插件,此时就需要在用户输入时获取当前的最新输入内容,本文就来看下如何来做。
2024-06-21 17:51:36
308
原创 idea插件开发之一起来开发个打印方法入参和返回值的插件吧!
在开发过程中为了调试代码我们就可能就需要知道某个方法入参的值是什么,或者是返回值是什么。此时,我们的解决办法一般都是debug,但是debug的效率说实话其实是不高的,特别是不断的调试,不断的debug。所以为了解决(😅,彻底解决不用debug,不太可能,但肯定能在一定程度上缓解吧)这个痛点问题,我们就来尝试开发一个idea插件吧。
2024-06-21 11:43:22
819
原创 idea插件开发之一起来开发个map转对象的插件吧!
在实际工作中,经常有这样的场景,从map中获取值来赋值到某个对象上,这无疑是一个重复的劳动,本文来尝试通过编写一个这样的插件,让插件来帮我们写代码,不管是有1个属性,还是有30个属性,都能在瞬间完成,开始吧!
2024-06-18 16:15:26
434
原创 idea插件开发之实现设置信息持久化存储
在idea中设置的信息,我们重启idea后,这些信息还是在的,这其实是通过idea插件的持久化存储功能实现的,本文一起来看下如何实现。
2024-06-13 11:12:43
158
the-probe-plugin-1.0.zip
2024-06-21
map2obj-idea-plugin-1.0.zip
2024-06-18
javaio-appendfile1709014272558.json
2024-02-27
elasticsearch-analysis-ik-7.1.0.zip
2024-02-05
docker-compose (3).zip
2024-01-31
sentinel-降级熔断测试.jmx
2024-01-10
sentinel-链路流控测试.jmx
2024-01-09
sentinel-直接流控测试.jmx
2024-01-08
sentinel-182.zip
2024-01-08
JSONVue-master.zip JSONVue-master.zipJSONVue-master.zipJSONVue-m
2023-12-08
sftp.zipsftp.zipsftp.zip
2023-12-07
MicroSIP-3.19.22.exe
2023-11-07
nacos-server-2.0.0.zip
2023-10-11
Snipaste1.rar
2023-04-06
ingress.raringress.raringress.rar
2023-01-14
kube-scheduler.rar
2023-01-09
kube-controller-manager.rar
2023-01-09
kube-apiserver.rar
2023-01-09
coredns.tar
2023-01-09
redistimeseries.so redistimeseries.so
2022-11-09
redis-3.2.2.gem redis-3.2.2.gem redis-3.2.2.gem
2022-10-20
redis-linux-3.2.0.rar redis-linux-3.2.0.rar
2022-10-20
google-access-helper2022-main.zip
2022-09-23
MyFlash-master.zip
2022-08-23
MobaXterm_Installer_v22.0.zip
2022-06-20
percona-toolkit-3.2.0.tar.gz
2022-06-06
arthas-boot-1.jar
2022-04-20
java 测试jvm工具可执行加入
2022-03-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人