随笔分类 -  jvm扩展

javassist改类
摘要:package agent; import javassist.CannotCompileException; import javassist.ClassPool; import javassist.CtBehavior; import javassist.CtClass; import java 阅读全文

posted @ 2023-09-20 17:06 silyvin 阅读(207) 评论(0) 推荐(0) 编辑

javassist 运行期改类
摘要:https://www.cnblogs.com/baiqiantao/p/10235049.html https://www.cnblogs.com/xiaofuge/p/12868742.html 结论: 1 加载前可以直接替换,加载(new,loadclass,forname)后要hotspot 阅读全文

posted @ 2020-07-29 21:45 silyvin 阅读(770) 评论(0) 推荐(0) 编辑

jdk动态代理源码底层(jdk生成字节码及5种字节码生产方式比较)
摘要:在前两篇文章中 java 的三种代理模式 jdk动态代理与cglib优势劣势以及jdk动态代理为什么要interface (警惕动态代理导致的Metaspace内存泄漏问题,警惕动态代理导致的Metaspace内存泄漏问题) 讨论了jdk的动态代理 本文从源码级别了解一下,在源代码的基础上,加上 S 阅读全文

posted @ 2019-12-13 01:09 silyvin 阅读(764) 评论(0) 推荐(0) 编辑

javac jar java
摘要:javac 可以将java源文件编译为class字节码文件如 javac HelloWorld.java运行javac命令后,如果成功编译没有错误的话,会出现一个HelloWorld.class的文件。java 可以运行class字节码文件如 java HelloWorld注意java命令后面不要加 阅读全文

posted @ 2019-09-17 23:08 silyvin 阅读(604) 评论(0) 推荐(0) 编辑

java agent 运行期织入【yetdone】(javassist)
摘要:https://www.cnblogs.com/silyvin/p/11260965.html, 此前对javaagent的使用是在类加载期,需要重启应用才能织入,本次实践java agent运行期织入 premain是静态修改,在类加载之前修改; attach是动态修改,在类加载后修改 要使pre 阅读全文

posted @ 2019-08-11 21:11 silyvin 阅读(531) 评论(0) 推荐(0) 编辑

java agent 加载器织入——java.lang.instrument包 AOP,使用javassist
摘要:https://mp.weixin.qq.com/s?__biz=MzUzMTA2NTU2Ng==&mid=2247487368&idx=1&sn=408c385d26083803e1a2a742bd301531&chksm=fa497039cd3ef92fcb8274f47130a90c3f9cf 阅读全文

posted @ 2019-07-28 21:19 silyvin 阅读(969) 评论(0) 推荐(0) 编辑

spring aop 内部方法与aspectJ
摘要:1)spring aop与aspectJ AspectJ 本身是不支持运行期织入的(编译时、编译后、加载时,Spring是运行期,https://www.cnblogs.com/silyvin/p/11260965.html是加载时),日常使用时候,我们经常回听说,spring 使用aspectJ实 阅读全文

posted @ 2019-07-28 19:49 silyvin 阅读(734) 评论(0) 推荐(0) 编辑

两个看java 字节码和汇编的工具
摘要:https://mp.weixin.qq.com/s?__biz=MzIwMzY1OTU1NQ==&mid=2247485439&idx=1&sn=c5081faa273439ebfb3880452ec3fdf7&chksm=96cd47b3a1bacea59a8dbc8faebc3438eba1a 阅读全文

posted @ 2019-02-23 22:47 silyvin 阅读(828) 评论(0) 推荐(1) 编辑

jmx mbean 与java监控
摘要:一 jmx joncole 连接 2种方式: 方式一: 方式二: 之后jconsole可以 (当然也可以自己写client获取jmx connector,并展示HelloMBean的一些信息,属性,及调用其方法,并通过jmx通知感应属性的变更,结合后可做可视化配置中心): 访问属性值 给属性赋值 调 阅读全文

posted @ 2019-02-12 10:55 silyvin 阅读(599) 评论(0) 推荐(0) 编辑

rmi
摘要:java的jmr有两种注册发,1 代码注册 2 另起进程 第2种方式太麻烦,本文仅讨论第一种方式的最佳实践 http://blog.51cto.com/6221123/1112619 按此链接构建demo , server client 报: Java RMI:rmi Connection refu 阅读全文

posted @ 2019-01-23 14:50 silyvin 阅读(224) 评论(0) 推荐(0) 编辑

jms rmi jmx
摘要:jms https://www.cnblogs.com/chenpi/p/5559349.html Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建、发送、读取消息等,用于支持JAVA应用程序开发。在J2EE中,当两个应用程序使用JM 阅读全文

posted @ 2019-01-10 16:38 silyvin 阅读(322) 评论(0) 推荐(0) 编辑

使用rmi jmx JCONSOLE远程监控JVM
摘要:https://www.cnblogs.com/Dhouse/p/7827175.html 1) -Dcom.sun.management.jmxremote.port=8288 报错 2) sudo cp jmxremote.password.template jmxremote.password 阅读全文

posted @ 2019-01-09 21:08 silyvin 阅读(1068) 评论(0) 推荐(0) 编辑

深入分析JVM中线程的创建和运行原理 || JIT(future)
摘要:https://blog.csdn.net/J080624/article/details/86020746 在JVM中除了应用线程,还有其他的一些线程用于支持JVM的运行,这些线程可以被划分为以下几类: VM Thread:负责JVM在安全点内的各种操作,这些操作(诸如自动内存管理、取消偏向锁、线 阅读全文

posted @ 2019-01-06 11:59 silyvin 阅读(1537) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

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