Package javassist.util.proxy
Class DefineClassHelper
- java.lang.Object
-
- javassist.util.proxy.DefineClassHelper
-
public class DefineClassHelper extends java.lang.Object
Helper class for invokingClassLoader.defineClass(String,byte[],int,int)
.- Since:
- 3.22
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Class<?>
toClass(java.lang.String className, java.lang.ClassLoader loader, java.security.ProtectionDomain domain, byte[] bcode)
Loads a class file by a given class loader.
-
-
-
Method Detail
-
toClass
public static java.lang.Class<?> toClass(java.lang.String className, java.lang.ClassLoader loader, java.security.ProtectionDomain domain, byte[] bcode) throws CannotCompileException
Loads a class file by a given class loader.This first tries to use
sun.misc.Unsafe
to load a class. Then it tries to use aprotected
method injava.lang.ClassLoader
viaPrivilegedAction
. Since the latter approach is not available any longer by default in Java 9 or later, the JVM argument--add-opens java.base/java.lang=ALL-UNNAMED
must be given to the JVM. If this JVM argument cannot be given,toPublicClass(String,byte[])
should be used instead.- Parameters:
domain
- if it is null, a default domain is used.- Throws:
CannotCompileException
- Since:
- 3.22
-
-