0
点赞
收藏
分享

微信扫一扫

2022年新课程《Java Agent基础篇》增加知识魂环

sin信仰 2022-02-16 阅读 38

1. Java Agent是什么

Java Agent是JDK 1.5引入的技术,其通常表现形式是一个Jar文件,它的核心作用就是进行bytecode instrumentation。

那么,bytecode instrumentation是什么意思呢?就是对字节码(bytecode)进行修改(instrumentation),让原有的类增加一份额外的功能。

一般来说,Java Agent要配合着字节码类库(例如,ASM、ByteBuddy和Javassist)一起使用:

bytecode instrumentation = Java Agent + Java ASM等字节码类库

形象的来说,将一个运行的JVM想像成一个密闭的房子,房子里有各种各样的物品(正在加载的类、已经加载的类);
Java Agent就是为这个密闭的房子打开了一扇门,允许我们访问那些物品(正在加载的类、已经加载的类);
但是,真正修改物品(正在加载的类、已经加载的类)的操作是由Java ASM等操作字节码的类库来完成的。

那么,Java Agent有哪些具体的应用呢?
Java Agent是Arthas使用的技术,是Skywalking使用的技术,也是Crack Java软件过程要用到的技术。

因此,Java Agent是一项十分有用的技术。

2. 选题原因

在此之前,市面上并没有针对Java Agent进行系统介绍的课程。
通过搜索引擎查找,会发现与Java Agent相关的内容大多是个人知识总结分享的内容。
这些内容有如下特点:

  • 内容质量不一
  • 详略程度不一
  • 学习难度千差万别

总体上来说,学习者很难有一个整体认知、系统学习的过程。

3. 课程知识体系

《Java Agent基础篇》课程,现已经在51CTO发布,课程地址:https://edu.51cto.com/course/30137.html

在构思课程内容时,本课程带有以下目标:

  • 课程学习梯度:从简单到复杂,让学习者有一个循序渐进的理解过程。
  • 构造完整、统一的知识体系:不是零散的知识点堆砌,而是有一个统一的贯穿始终的知识框架。
  • 具有可操作性的代码示例,不只是讲概念,更注意于实践。

本课程通过四章内容对Java Agent相关知识进行讲解:

  • 第一章,介绍Agent Jar的三个组成部分:Manifest、Agent Class和ClassFileTransformer。
  • 第二章,介绍Agent Jar的两种启动方式:从命令行启动和使用Attach机制启动。
  • 第三章,介绍如何利用Instrumentation API来实现Agent Jar的功能。
  • 第四章,Java Agent的应用与技巧。

4. 讲师介绍

我叫刘森,南京师范大学研究生毕业,2015年获得信息系统项目管理师(高级),2014年获得系统集成项目管理工程师(中级)。

目前,我的课程都是围绕着“Java字节码”技术展开:

  • 《Java Agent基础篇》是在一个运行JVM当中提供修改字节码的机会
  • 《Java ASM系列》(免费课程)是一个操作字节码的类库
  • 《Java 8 ClassFile》专注于字节码的理论知识,入选为“51CTO数字化人才证书项目认证课程”

因此,大家想学习字节码的技术可以找我:字节码技术找刘森,轻松学习又省心~~~

5. 附赠资料

Java ASM课程的视频,我已经上传到网盘,有兴趣的同学可以自行下载:

JavaASM系列(百度网盘)

链接:https://pan.baidu.com/s/1P9_ja4VXYXw99cadRV97eg 
提取码:fsnf

JavaASM系列(阿里云盘)

链接:https://www.aliyundrive.com/s/HKGRaTSFV3N
提取码: dt64

另外,我用Java Agent写了一个mini-jn项目,有兴趣的同学可以看一下:

https://gitee.com/lsieun/mini-jn

6. 寻求合作

如果有想帮我推广课程的同学,可以通过51CTO私信联系我哟。

想购买课程的同学,也可以通过51CTO私信我,领取优惠券哟。

7. 结语

《Java Agent基础篇》是2022年刚出的课程,是一份“热乎乎”的课程,你是否打算“尝尝鲜”呢?

  • 学习Java Agent,是一份增值性的知识,何不趁着闲暇的时光为自己充充电,让自己的知识技能增加一个魂环!
  • 学会了Java Agent的知识之后,与不会Java Agent的小伙伴比起来,也就更具一份竞争优势!
  • 如果你担心学不会,大可放心;如果学习过程中,遇到任何问题,可以随时联系我;只要我看到消息,就会尽早回复的。

最后,感谢大家花费时间阅读这篇文章!

举报

相关推荐

0 条评论