jvm双亲委派机制有哪些优缺点

avatar
作者
猴君
阅读量:7

JVM双亲委派机制的优点:

  1. 提高了类加载的安全性:双亲委派机制可以确保类的加载是从上往下进行的,首先加载的是最顶层的类,然后逐级向下加载。这样可以防止恶意的类替换或者篡改已经存在的类。

  2. 提高了类加载的效率:通过双亲委派机制,避免了重复加载已经存在的类。当一个类被加载后,它就会保存在内存中,下次再加载该类时,就直接从内存中获取,避免了重复加载的时间和空间消耗。

  3. 简化了类加载器的实现:双亲委派机制将不同类加载器的职责划分明确,每个类加载器只需要关注自己的加载范围,不需要关注其他类加载器的加载过程,简化了类加载器的实现和维护。

JVM双亲委派机制的缺点:

  1. 限制了类加载器的灵活性:双亲委派机制规定了类加载器必须按照从上到下的顺序进行加载,这样就限制了类加载器的灵活性。有时候,我们可能需要自定义的类加载器加载一些特殊的类,但是由于双亲委派机制的限制,可能无法实现。

  2. 无法实现对类的自定义修改:双亲委派机制会优先加载系统内部的类,如果我们想对某个类进行修改或者增强,往往无法实现。因为在加载该类时,会直接从系统内部加载,而不会加载我们修改后的类。

  3. 可能导致类加载器内存泄漏:双亲委派机制中,每个类加载器都有一个父类加载器,当父类加载器无法加载某个类时,才会由子类加载器加载。这样会导致父类加载器无法回收,可能导致类加载器内存泄漏的问题。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!