arthas
在[Arthas原理:理解ClassLoader](//yeas.fun/archives/arthas-classloader)一文中,我们首先介绍了代码隔离的概念,并讲解了代码隔离的基础:ClassLoader; 在[Arthas原理:如何做到与应用代码隔离?](//yeas.fun/archives/arthas-isolation)一文中,我们介绍了利用ClassLoader实现代码隔离的原理,并讲解了Arthas与应用之间的代码在代码隔离的基础上如何进行代码互调的。
代码隔离,也就是arthas所保证的:对业务代码无侵入,目标应用无需重启也无需感知arthas的存在。 那首先我们来讲下:arthas为什么要进行代码隔离? 我们都知道arthas是一个开源框架,它是在应用正在运行的时候,打通应用与arthas的连接通路。这就对arthas提出一个需求:arthas不能影响应用运行的代码,不能因为arthas的连接而导致业务逻辑的运行不正常。 同样的,应用里面的代码也不能影响arthas的正常工作。即:arthas的代码要和应用代码进行隔离,从机制上保证双方的互不干扰。