前言
在前面的博客中,我写过一句话,叫做
Java世界里的一切东西都是在拼Java命令行参数
如果你使用IDEA,并且在运行 Java 代码时观察过 IDEA 帮我们拼出来的命令行参数,举个例子
D:\jdk8\jdk1.8.0_232\bin\java.exe "\"-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 201.4865.12\lib\idea_rt.jar=61840:C:\Program Files\JetBrains\IntelliJ IDEA 201.4865.12\bin\"" -Dfile.encoding=UTF-8 -classpath ( 省略一系列依赖Jar包 ) C:\Users\25959\Desktop\test\target\classes com.ayang818.test.Test |
这是我运行一个很简单的程序,IDEA 帮我们拼出来的命令行参数,其中 -Dfile.encoding 和 -classpath 我们都很熟悉,一个是指定编码方式,另一个是指定 classpath 路径。但是有一个我们可能很陌生的参数,叫做 -javaagent , agent 翻译成中文是代理的意思。于是我开始了一天的探究过程。