该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

JVM字节码的探索与实践应用

引言

做为一个多年的开发人员,你是否遇到过如下一些问题?

  • 线上虚拟机内存每隔一段时间就会OOM怎么办?
  • 线上代码出了Bug难以在线下复现怎么办?
  • 服务超时时,性能瓶颈到底在哪里?
  • 看不懂监控和故障定位工具的输出怎么办?

当然线上问题千奇百怪,并不是只有这些,但是对于一个普通的开发者来说,了解了排查工具的原理以及掌握基本问题的排查办法就已经能够解决好多问题了。希望通过headump社区 - https://heapdump.cn 的系列直播课让大家学到更多的性能分析和故障排查的手段,帮助大家进一步提高编程技能!

视频地址

在服务拓扑不清、服务依赖关系复杂的线上环境中,你是否掌握了快速排查性能问题、定位系统故障的技能?这一系列直播课程将带你玩转字节码,实现业务方零埋点、链接调用追踪、性能问题代码级别定位等各种功能,视频录播地址如下:

headump社区视频

B站

作者

作者马智,花名鸠摩,是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,字节码增强之Agent与框架实现监控]
  • [bytecode-example-5-01,字节码增强之Instrumentation.addTransformer()]
  • [bytecode-example-5-02,字节码增强之Instrumentation.redefineClasses(),load与attach方式加载Agent]
  • [bytecode-example-5-03,字节码增强之Instrumentation.retransformClasses()]
  • [bytecode-example-5-04,导出虚拟机加载的所有类名,导出类的内容,反编译类的内容]
  • [bytecode-example-6-01,从JMX中获取虚拟机运行时信息]
  • [bytecode-example-6-02,从PerfData中获取虚拟机运行时信息]
  • [bytecode-example-6-02,实现JVMAgent]

空文件

简介

取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化