Module openj9.dtfj
Package com.ibm.j9ddr

Class J9DDRClassLoader


public class J9DDRClassLoader extends SecureClassLoader
This ClassLoader serves two purposes. 1) Based on partitioning rules and package namespaces it ensures that certain classes are loaded once per runtime invocation while others are loaded once per CORE file being inspected. 2) Generate bytecode at runtime based on the data in the core file (or structure metadata file) for the J9 structure constants and offsets; as well as pointer classes. These classes are explicitly loaded on a per CORE file basis. The isolation is accomplished by removing the Application Class Loader from the class load delegation chain AND setting this class loader's classpath to be equal to the Application class loader's classpath. While the user may replace the application class loader with their own implementation, the application class loader MUST be a subclass of URLClassLoader.