Class PlainTextUnloadedClassLoader


  • public class PlainTextUnloadedClassLoader
    extends java.lang.Object
    Loads a map of field names -> byte arrays from a standard compiled Java class but uses a temporary ClassLoader so that its class may be immediately unloaded from the JVM and it's memory + constant pool can be used for other things.
    • Field Detail

      • className

        private final java.lang.String className
      • fields

        private final java.util.Map<java.lang.String,​byte[]> fields
    • Constructor Detail

      • PlainTextUnloadedClassLoader

        public PlainTextUnloadedClassLoader​(java.lang.String className,
                                            java.util.Map<java.lang.String,​byte[]> fieldNames)
    • Method Detail

      • tryGet

        public byte[] tryGet​(java.lang.String fieldName)
      • size

        public int size()
      • get

        public byte[] get​(java.lang.String fieldName)
                   throws java.lang.NoSuchFieldException
        Throws:
        java.lang.NoSuchFieldException
      • tryLoad

        @Deprecated
        public static PlainTextUnloadedClassLoader tryLoad​(java.lang.String classBinaryName,
                                                           java.lang.String charsetName)
        Deprecated.
      • tryLoad

        public static PlainTextUnloadedClassLoader tryLoad​(java.lang.ClassLoader sourceClassLoader,
                                                           java.lang.String classBinaryName,
                                                           java.lang.String charsetName)
      • load

        @Deprecated
        public static PlainTextUnloadedClassLoader load​(java.lang.String classBinaryName,
                                                        java.lang.String charsetName)
                                                 throws java.lang.ClassNotFoundException,
                                                        java.net.MalformedURLException,
                                                        java.lang.IllegalArgumentException,
                                                        java.io.UnsupportedEncodingException,
                                                        java.lang.IllegalAccessException
        Deprecated.
        Throws:
        java.lang.ClassNotFoundException
        java.net.MalformedURLException
        java.lang.IllegalArgumentException
        java.io.UnsupportedEncodingException
        java.lang.IllegalAccessException
      • load

        public static PlainTextUnloadedClassLoader load​(java.lang.ClassLoader sourceClassLoader,
                                                        java.lang.String classBinaryName,
                                                        java.lang.String charsetName)
                                                 throws java.lang.ClassNotFoundException,
                                                        java.net.MalformedURLException,
                                                        java.lang.IllegalArgumentException,
                                                        java.io.UnsupportedEncodingException,
                                                        java.lang.IllegalAccessException
        Throws:
        java.lang.ClassNotFoundException
        java.net.MalformedURLException
        java.lang.IllegalArgumentException
        java.io.UnsupportedEncodingException
        java.lang.IllegalAccessException