Back to Arthas

mc

site/docs/en/doc/mc.md

3.1.01.1 KB
Original Source

mc

mc-retransform online tutorial

Usage

::: tip Memory compiler, compiles .java files into .class files in memory. :::

bash
mc /tmp/Test.java

The classloader can be specified with the -c option:

bash
mc -c 327a647b /tmp/Test.java

You can also specify the ClassLoader with the --classLoaderClass option:

bash
$ mc --classLoaderClass org.springframework.boot.loader.LaunchedURLClassLoader /tmp/UserController.java -d /tmp
Memory compiler output:
/tmp/com/example/demo/arthas/user/UserController.class
Affect(row-cnt:1) cost in 346 ms

The output directory can be specified with the -d option:

bash
mc -d /tmp/output /tmp/ClassA.java /tmp/ClassB.java

After compiling the .class file, you can use the retransform command to re-define the loaded classes in JVM.

::: warning Note that the mc command may fail. If the compilation fails, the .class file can be compiled locally and uploaded to the server. Refer to the retransform command description for details. :::