corejava第10版
This commit is contained in:
1 parent
2021c3c227
commit
6165543dd3
1088 files changed
+94411
No files matched your search
@@ -0,0 +1,28 @@
|
||||
package compiler;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* A class loader that loads classes from a map whose keys are class names and whose values are byte
|
||||
* code arrays.
|
||||
* @version 1.00 2007-11-02
|
||||
* @author Cay Horstmann
|
||||
*/
|
||||
public class MapClassLoader extends ClassLoader
|
||||
{
|
||||
private Map<String, byte[]> classes;
|
||||
|
||||
public MapClassLoader(Map<String, byte[]> classes)
|
||||
{
|
||||
this.classes = classes;
|
||||
}
|
||||
|
||||
protected Class<?> findClass(String name) throws ClassNotFoundException
|
||||
{
|
||||
byte[] classBytes = classes.get(name);
|
||||
if (classBytes == null) throw new ClassNotFoundException(name);
|
||||
Class<?> cl = defineClass(name, classBytes, 0, classBytes.length);
|
||||
if (cl == null) throw new ClassNotFoundException(name);
|
||||
return cl;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user