一、class
ReflectUtil
sun.reflect.misc.ReflectUtil1
ReflectUtil.forName("java.lang.String")
BytecodeDescriptor
1 | sun.invoke.util.BytecodeDescriptor.parseMethod("(Ljava/lang/String;)V", null).get(0); |
Class.forName
1 | Class.forName("java.lang.String"); |
ClassLoader.loadClass
1 | Thread.currentThread().getContextClassLoader().loadClass("java.lang.String"); |
二、method
MethodUtil
sun.reflect.misc.MethodUtil1
MethodUtil.getMethod(String.class, "valueOf", new Class[]{int.class});
三、field
FieldUtil
sun.reflect.misc.FieldUtil1
FieldUtil.getField(String.class, "a");
四、Constructor
ConstructorUtil
sun.reflect.misc.ConstructorUtil1
sun.reflect.misc.ConstructorUtil#getConstructor