# 6.0 本章简介

Java Agent这个技术,对于大多数同学来说都比较陌生,像个黑盒子。 但是多多少少又接触过,实际上,我们平时用的很多工具,都是基于Java Agent实现的, 例如常见的热部署JRebel,各种线上诊断工具(btrace, greys),还有阿里开源的arthas。 其实Java Agent一点都不神秘,也是一个Jar包,只是启动方式和普通Jar包有所不同, 对于普通的Jar包,通过指定类的main函数进行启动, 但是Java Agent并不能单独启动,必须依附在一个Java应用程序运行。 本章先实现一个简单的Java Agent,然后对Java Agent的初始化源码做分析。