Board logo

标题: Eclipse OpenJ9 中的类共享(6) [打印本页]

作者: look_w    时间: 2018-12-7 19:28     标题: Eclipse OpenJ9 中的类共享(6)

使用 Helper APIOpenJ9 提供了共享类 Helper API,使开发人员能够将类共享支持集成到自定义类加载器中。只有未扩展                                        java.net.URLClassLoader 的类加载器才需要 Helper                                API,因为这些类加载器会自动继承类共享支持。
对 Helper API 的全面介绍超出了本文的讨论范围,但我们仍会大体介绍一下。如果想了解更多细节,可以在   上找到 Helper API 实现。
Helper API:概述所有 Helper API 类都包含在                                  包中。每个希望共享类的类加载器都必须从 SharedClassHelperFactory 获取一个                                        SharedClassHelper 对象。创建                                        SharedClassHelper                                        之后,它就属于请求它的类加载器,只能存储这个类加载器定义的类。SharedClassHelper                                为该类加载器提供了一个简单 API,用于在共享缓存中查找和存储类。如果对这个类加载器进行垃圾收集,也会对它的                                        SharedClassHelper 进行垃圾收集。
使用 SharedClassHelperFactorySharedClassHelperFactory 是一个单例对象,可以使用静态方法                                        com.ibm.oti.shared.Shared.getSharedClassHelperFactory()                                获取它;如果在 JVM 中启用了类共享,那么该方法会返回一个工厂,否则它会返回 null。
使用 SharedClassHelper该工厂可以返回 3 种不同类型的 SharedClassHelper。每种帮助器可供一种不同类型的类加载器使用:
每个 SharedClassHelper 都有两个基本方法,对于不同的帮助器类型,这两个方法的参数稍有不同:





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0