Converts an array of bytes into an instance of class Class. Before the Class can be used it must be resolved.
This method assigns a default ProtectionDomain to the newly defined class. The
ProtectionDomain is effectively granted the same set of
permissions returned when java.security.Policy.getPermissions(java.security.CodeSource)
is invoked. The default domain is created on the first invocation of
defineClass,
and re-used on subsequent invocations.
To assign a specific ProtectionDomain to the class, use
the defineClass method that takes a
ProtectionDomain as one of its arguments.
name
| The expected binary name of the class, or null if not known | |
b
| The bytes that make up the class data. The bytes in positions off through off+len-1 should have the format of a valid class file as defined by The Java™ Virtual Machine Specification. | |
off
| The start offset in b of the class data | |
len
| The length of the class data |
ClassFormatError
| If the data did not contain a valid class | |
IndexOutOfBoundsException
| If either off or len is negative, or if off+len is greater than b.length. | |
SecurityException
| If an attempt is made to add this class to a package that contains classes that were signed by a different set of certificates than this class (which is unsigned), or if name begins with "java.". |
loadClass(String, boolean), resolveClass(Class), java.security.CodeSource, java.security.SecureClassLoader
Diagram: ClassLoader