ClassLoader used to "inject" optimized accessor classes
into the VM.
Its parent class loader needs to be set to the one that can see the user class.
| Modifier and Type | Field and Description |
|---|---|
| private final Map | classes
Injected classes keyed by their names. |
| private static Method | |
| private static Method | |
| private static final Map | |
| private static final Lock | |
| private static final ReentrantReadWriteLock | irwl
|
| private static final Lock | |
| private final boolean | loadable
True if this injector is capable of injecting accessors. |
| private static final Logger | |
| private final ClassLoader | |
| private final Lock | |
| private static Method | |
| private final ReentrantReadWriteLock | |
| private static Object | |
| private final Lock |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| private static Class | |
| pack-priv static Class | |
| private Class | |
| private static Injector | |
| private static Method | |
| pack-priv static Class | Returns: null if it fails to inject.Injects a new class into the given class loader. |
| private Class |
| classes | back to summary |
|---|---|
| private final Map<String, Class<T>> classes Injected classes keyed by their names. | |
| defineClass | back to summary |
|---|---|
| private static Method defineClass | |
| findLoadedClass | back to summary |
|---|---|
| private static Method findLoadedClass | |
| injectors | back to summary |
|---|---|
| private static final Map<ClassLoader, WeakReference<Injector>> injectors | |
| ir | back to summary |
|---|---|
| private static final Lock ir | |
| irwl | back to summary |
|---|---|
| private static final ReentrantReadWriteLock irwl
| |
| iw | back to summary |
|---|---|
| private static final Lock iw | |
| loadable | back to summary |
|---|---|
| private final boolean loadable True if this injector is capable of injecting accessors.
False otherwise, which happens if this classloader can't see | |
| logger | back to summary |
|---|---|
| private static final Logger logger | |
| parent | back to summary |
|---|---|
| private final ClassLoader parent | |
| r | back to summary |
|---|---|
| private final Lock r | |
| resolveClass | back to summary |
|---|---|
| private static Method resolveClass | |
| rwl | back to summary |
|---|---|
| private final ReentrantReadWriteLock rwl | |
| U | back to summary |
|---|---|
| private static Object U | |
| w | back to summary |
|---|---|
| private final Lock w | |
| Injector | back to summary |
|---|---|
| private Injector(ClassLoader parent) | |
| classForNames | back to summary |
|---|---|
| private static Class | |
| find | back to summary |
|---|---|
| pack-priv static Class Returns the already injected class, or null. | |
| find | back to summary |
|---|---|
| private Class | |
| get | back to summary |
|---|---|
| private static Injector get(ClassLoader cl) Gets or creates an for the given class loader.
| |
| getMethod | back to summary |
|---|---|
| private static Method getMethod(final Class<?> c, final String methodname, final Class<?>... params) | |
| inject | back to summary |
|---|---|
| pack-priv static Class Injects a new class into the given class loader.
| |
| inject | back to summary |
|---|---|
private Class
| |