解决什么问题,值不值得学
Java Agent 主要解决的是“在不改业务源码的前提下,动态介入程序运行”的问题。它常用于线上接口耗时排查、无侵入式链路追踪、热更新代码以及各类诊断工具的底层实现。很多开发者在排查偶发性线上故障时,往往只能靠看日志盲人摸象,或者必须改代码重新发版才能加探针。这门基础篇就是帮你弄懂这套机制,把“黑盒运行”的程序变成可被外部挂载、可观测的对象。如果你平时做的是纯业务增删改查,没碰过底层诊断或字节码插桩,学它相当于补齐 JVM 层面的运行时干预能力。这门课不讲虚的概念,而是从打包规则到代码编写,带你把一个 Agent Jar 实际跑起来,属于非常务实的底层基础。
适合什么基础,建议先看哪几块
这套资料不适合零基础转码者,你需要具备扎实的 Java 语法基础,能独立用构建工具配置工程依赖,且对 JVM 类加载机制有基本概念。资料编排遵循从概念到手工实操的递进逻辑,建议先看前几个讲概念的部分,搞清楚 Agent Jar 的三个组成部分,以及 Manifest 属性里各项配置的实际含义。之后重点跟练手工打包的几个示例,不要跳过。很多人用构建工具一键打包,却连里面包含什么文件都不清楚,一旦遇到打包报错或类找不到就完全无从下手。先手工打包再学自动化构建,能帮你建立对底层结构的直观认知,排查问题时定位会更准。
学完能做什么,资料怎么配合练
学完这门基础内容,你能独立写出一个最基础的 Agent 程序,完成打包并成功挂载到目标进程上,执行简单的类加载拦截或方法增强。在练习时,不要只用眼睛看视频,必须开着开发环境同步操作。建议自己建一个空的业务工程作为被挂载目标,再建一个 Agent 工程跟着资料一步步写。遇到手工打包部分,务必自己敲一遍打包指令,观察生成的清单文件内容。等手工流程彻底跑通,再去对照资料里的自动化构建配置,把手工步骤替换掉。这样学下来,你掌握的是一套能直接用到实际排障和监控组件开发的基础能力,而不是停留在概念层面。
从简单到复杂的讲解,具有可操作性的代码,构建完整Java Agent知识体系
课程目录
* 01 Agent Jar三个组成部分/
* 01 课程介绍.mp4 11:57
* 02 Java Agent是什么.mp4 04:35
* 03 Instrumentation分类.mp4 03:28
* 04 如何编写代码.mp4 05:12
* 05 启动JavaAgent.mp4 09:12
* 06 如何学习Java Agent.mp4 07:16
* 07 Agent Jar的三个组成部分.mp4 04:18
* 08 Manifest属性.mp4 14:50
* 09 Agent Class.mp4 07:16
* 10 手工打包示例一.mp4 23:42
* 11 手工打包示例二.mp4 27:11
* 12 手工打包示例三.mp4 20:30
* 13 使用Maven一.mp4 23:40
* 14 使用Maven二.mp4 26:23
* 15 第一章总结.mp4 06:51
* 02 Agent Jar两种启动方式/
* 01 Load-Time的agentArgs参数.mp4 20:30
* 02 Load-Time的inst参数.mp4 15:03
* 03 Dynamic Attach API.mp4 20:36
* 04 Dynamic Attach API示例.mp4 17:03
* 05 第二章总结.mp4 05:15
* 03 Instrumentation API/
* 01 Instrumentation API介绍.mp4 25:12
* 02 isXxxSupported.mp4 08:55
* 03 添加和移除Transformer.mp4 24:13
* 04 redefineClasses示例一.mp4 17:06
* 05 redefineClasses示例二.mp4 15:42
* 06 retransformClasses示例一.mp4 14:09
* 07 retransformClasses示例二.mp4 19:41
* 08 对比redefine和retransform.mp4 08:42
* 09 xxxClasses.mp4 22:16
* 10 getObjectSize.mp4 17:20
* 11 appendToXxxClassLoaderSearch一.mp4 20:55
* 12 appendToXxxClassLoaderSearch二.mp4 18:46
* 13 setNativeMethodPrefix.mp4 24:14
* 14 redefineModule.mp4 06:54
* 15 InstrumentationImpl.mp4 11:23
* 16 ClassFileTransformer一.mp4 24:45
* 17 ClassFileTransformer二.mp4 18:04
* 18 ClassFileTransformer三.mp4 17:34
* 19 多个代码示例.mp4 14:40
* 20 第三章总结.mp4 10:30
* 04 应用与技巧/
* 01 对比Load-Time和Dynamic.mp4 18:05
* 02 不修改字节码的Agent.mp4 08:28
* 03 多个Agent.mp4 24:01
* 04 检测Agent修改的内容.mp4 16:32
* 05 Self Attach.mp4 18:28
* 06 JMX Connector一.mp4 17:14
* 07 JMX Connector二.mp4 22:40
* 08 JMX management-agent.mp4 14:26
* 09 JMX和Instrumentation.mp4 24:20
* 10 ja-netfilter分析一.mp4 20:08
* 11 ja-netfilter分析二.mp4 17:09
* 05 结课考试/
* 01 结课考试






