# bytecode-examples **Repository Path**: lialzm/bytecode-examples ## Basic Information - **Project Name**: bytecode-examples - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 17 - **Created**: 2022-04-24 - **Last Updated**: 2022-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JVM字节码的探索与实践应用 ## 引言 做为一个多年的开发人员,你是否遇到过如下一些问题? * 线上虚拟机内存每隔一段时间就会OOM怎么办? * 线上代码出了Bug难以在线下复现怎么办? * 服务超时时,性能瓶颈到底在哪里? * 看不懂监控和故障定位工具的输出怎么办? 当然线上问题千奇百怪,并不是只有这些,但是对于一个普通的开发者来说,了解了排查工具的原理以及掌握基本问题的排查办法就已经能够解决好多问题了。希望通过[headump社区 - `https://heapdump.cn`](https://heapdump.cn) 的系列直播课让大家学到更多的性能分析和故障排查的手段,帮助大家进一步提高编程技能! ## 视频地址 在服务拓扑不清、服务依赖关系复杂的线上环境中,你是否掌握了快速排查性能问题、定位系统故障的技能?这一系列直播课程将带你玩转字节码,实现业务方零埋点、链接调用追踪、性能问题代码级别定位等各种功能,视频录播地址如下: [headump社区视频](https://www.heapdump.cn/course/2608464/list) [B站](https://search.bilibili.com/all?keyword=perfma&from_source=webtop_search&spm_id_from=333.851) ## 作者 作者马智,花名鸠摩,是PerfMa的一位虚拟机研发工程师,著有《深入解析Java编译器:源码剖析与实例详细》、《深入剖析Java虚拟机:源码剖析与实例详解(基础卷)》和《深入剖析Java虚拟机:源码剖析与实例详解(运行时卷)》(待上市)系列书籍。 ## 项目结构 - [`bytecode-example-1-01,初识JVM字节码`] - [`bytecode-example-2-01,注解的原理与应用`] - [`bytecode-example-3-01,面向切面编程`] - [`bytecode-example-3-02,面向切面编程之AspectJ框架,这是一个AspectJ项目`] - [`bytecode-example-4-01,字节码增强框架ASM`] - [`bytecode-example-4-02,字节码增强框架Javassist`] - [`bytecode-example-4-03,字节码增强框架ByteBuddy`] - [`bytecode-example-4-04,静态Java Agent监控方法耗时`] - [`bytecode-example-5-01,字节码增强之addTransformer()和redefineClasses()方法,load与attach方式加载Agent`] - [`bytecode-example-5-02,字节码增强之redefineClasses(),load与attach方式加载Agent`] - [`bytecode-example-5-03,字节码增强之retransformClasses()`] - [`bytecode-example-5-04,导出虚拟机加载的所有类名,导出类的内容,反编译类的内容`] - [`bytecode-example-6-01,从JMX中获取虚拟机运行时信息`] - [`bytecode-example-6-02,从PerfData中获取虚拟机运行时信息`] - [`bytecode-example-6-02,实现JVMAgent`]