08 2023 档案

摘要:# 1 示例 ``` public ReturnType function() { try { Object[] args = new Object[]{}; Ret beforeRet = callOnBefore(args...); // 返回对象 if (beforeRet.state == 阅读全文
posted @ 2023-08-23 14:54 Geraltz'Rivia 阅读(15) 评论(0) 推荐(0) 编辑
摘要:往线程池提交死循环任务,消耗cpu ```java @Controller public class TestController { private static final Logger logger = LoggerFactory.getLogger(TestController.class) 阅读全文
posted @ 2023-08-23 14:40 Geraltz'Rivia 阅读(75) 评论(0) 推荐(0) 编辑
摘要:希望启动一个脚本,能够指定占用的cpu核数 ``` #! /bin/bash # filename killcpu.sh endless_loop() { echo -ne "i=0; while true do i=i+100; i=100 done" | /bin/bash & } if [ $ 阅读全文
posted @ 2023-08-22 19:40 Geraltz'Rivia 阅读(206) 评论(0) 推荐(0) 编辑
摘要:# Agent项目 ## AtmTransformer.java ``` import java.io.IOException; import java.lang.instrument.ClassFileTransformer; import java.lang.instrument.Illegal 阅读全文
posted @ 2023-08-22 17:23 Geraltz'Rivia 阅读(49) 评论(0) 推荐(0) 编辑
摘要:将nil的某个实现类型的变量赋给了接口变量 如果将一个值为nil的某个实现类型的变量赋给了接口变量,那么在这个接口变量上仍然可以调用该接口的方法。但需要注意以下几点: 1. 调用接口方法时,接口变量必须是非nil的。如果接口变量为nil,则调用接口方法会导致空指针引用错误。 2. 虽然接口变量的值为 阅读全文
posted @ 2023-08-22 00:12 Geraltz'Rivia 阅读(20) 评论(0) 推荐(0) 编辑
摘要:一些链接 [go语言规范](https://go.dev/ref/spec) [go命令](https://hyper0x.github.io/go_command_tutorial/#/) [go的坑](https://mp.weixin.qq.com/s/XHbfPtUzkUTGF06Ao4jQ 阅读全文
posted @ 2023-08-22 00:09 Geraltz'Rivia 阅读(16) 评论(0) 推荐(0) 编辑
摘要:JProfiler是一个分析运行时JVM的专业工具,根据官网的介绍,应用主要有以下几个功能: * 方法调用:通常被称为"CPU分析"。方法调用可以通过不同的方式进行测量和可视化, 分析方法调用可以帮助了解你的应用程序正在做什么,并找到提高其性能的方法。 * 分配:分析堆上对象的分配、引用链和垃圾回收 阅读全文
posted @ 2023-08-21 21:12 Geraltz'Rivia 阅读(350) 评论(0) 推荐(0) 编辑
摘要:来自GPT翻译,主要是找一些跟jvm指令与字节码相关的部分,来源:https://docs.oracle.com/javase/specs/jvms/se8/html/index.html 2.5. Run-Time Data Areas Java虚拟机定义了各种运行时数据区,这些数据区在程序执行期 阅读全文
posted @ 2023-08-21 21:03 Geraltz'Rivia 阅读(323) 评论(0) 推荐(0) 编辑
摘要:# 运行时内存结构 在了解jvm指令之前,需要先了解java虚拟机运行时内存的结构,根据[jvm规范](https://km.sankuai.com/collabpage/1809624878)(java se8),运行时数据区给每个线程分配了不同的区域,比如PC寄存器、JVM栈,本地方法栈,线程共 阅读全文
posted @ 2023-08-21 21:02 Geraltz'Rivia 阅读(37) 评论(0) 推荐(0) 编辑
摘要:http://ifeve.com/logging-stop-the-world-pauses-in-jvm/ https://blog.csdn.net/ligeforrent/article/details/80834154 阅读全文
posted @ 2023-08-21 20:58 Geraltz'Rivia 阅读(17) 评论(0) 推荐(0) 编辑
摘要:http://ifeve.com/hotspot-jit/ https://www.infoq.cn/article/OpenJDK-HotSpot-What-the-JIT https://www.baeldung.com/graal-java-jit-compiler https://devel 阅读全文
posted @ 2023-08-21 20:58 Geraltz'Rivia 阅读(9) 评论(0) 推荐(0) 编辑
摘要:[arthas/agent/src/main/java/com/taobao/arthas/agent/ArthasClassloader.java at master · alibaba/arthas](https://github.com/alibaba/arthas/blob/master/a 阅读全文
posted @ 2023-08-21 20:57 Geraltz'Rivia 阅读(16) 评论(0) 推荐(0) 编辑
摘要:在java 8的实现中,注释是这么描述ThreadLocal类的 > This class provides thread-local variables. These variables differ from their normal counterparts in that each thre 阅读全文
posted @ 2023-08-02 22:06 Geraltz'Rivia 阅读(11) 评论(0) 推荐(0) 编辑
摘要:rasp的技术重点之一是java-agent技术,通过agent可以获取到Instrumentation接口的实现,通过这个inst变量对字节码进行修改。 javaagent可以在jvm启动时使用 -agentjar 参数启动,也可以在运行时通过attach相应进程,并且指明需要加载的jar包,就可 阅读全文
posted @ 2023-08-02 21:47 Geraltz'Rivia 阅读(366) 评论(0) 推荐(0) 编辑
摘要:Arthas是一款线上jvm诊断工具,能够查看java应用到资源使用信息、函数调用统计等,同时还能在不停止jvm运行的情况下,修改运行时代码,查看方法的调用、入参、返回值等。 Arthas的关键技术有两方面:java-agent机制与字节码修改(与rasp相同) Arthas采用命令行的方式与用户交 阅读全文
posted @ 2023-08-02 21:28 Geraltz'Rivia 阅读(64) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示