随笔分类 - JavaSE18_类加载和反射
摘要:参考连接:https://blog.csdn.net/qiaolovemath/article/details/50454400?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5&utm_s
阅读全文
摘要:参考链接:https://blog.csdn.net/sam_linux/article/details/12918797 import java.lang.reflect.*; import java.util.ArrayList; public class TestGetClass { publ
阅读全文
摘要:参考来源:http://blog.csdn.net/heyutao007/article/details/49738887 AOP的拦截功能是由java中的动态代理来实现的。说白了,就是在目标类的基础上增加切面逻辑,生成增强的目标类(该切面逻辑或者在目标类函数执行之前,或者目标类函数执行之后,或者在
阅读全文
摘要:----此处是JDK动态代理----package d18_5_2; public interface IDog { void info(); void run(); } package d18_5_2; public class GunDog implements IDog { @Override public void info() { System.out.pr...
阅读全文
摘要:package d18_5_1; public interface Person { void walk(); void sayHello(String name); } package d18_5_1; /** * proxy提供了两个方法来创建动态代理类和动态代理实例 * static Class getProxyClass(ClassLoader loader,C...
阅读全文
摘要:package d18_4_2; import java.lang.reflect.Array; /** * 常用方法 * static Object newInstance(Class componentType,int.. length) * 创建一个具有指定元素类型,指定维度的新数组 * * static xxx getXxx(Object array,int index)...
阅读全文
摘要:package d18_4_2; /** * 一般情况下,我们并不能对类的私有字段进行操作,利用反射也不例外, * 但有的时候,例如要序列化的时候,我们又必须有能力去处理这些字段, * 这时候,我们就需要调用AccessibleObject上的setAccessible()方法来允许这种访问, * 而由于反射类中的Field,Method和Constructor继承自Accessible...
阅读全文
摘要:package d18_4_2; import java.lang.reflect.Field; /** * Field * getXxx(Object obj):获取obj对象的F属性值, * setXxx(Object obj,Xxx val):将obj对象的该Field设置成val值 * 注意
阅读全文
摘要:package d18_4_1; /** * 创建对象1 */ import java.io.FileInputStream; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Properties; public class ObjectPoolFact...
阅读全文
摘要:内部类 接口、枚举、注释类型
阅读全文
摘要:package d18_3_1; /** * Class类上所包含的注解 * * getAnnotation(Class annotationClass) 获取该元素上指定的类型的注解 * getAnnotations():返回此元素上存在的所有注解 * getDeclaredAnnotations():返回直接存在于此元素上的所有注解 */ import java.lang.an...
阅读全文
摘要:package d18_3_1; import java.lang.reflect.Method; import java.util.Arrays; /** * 获取Class对应类所包含的方法的四个方法 * * 运行结果 * [public void d18_3_1.Test3.setAge(int), public int d18_3_1.Test3.getAge(), pro...
阅读全文
摘要:package d18_3_1; import java.lang.reflect.Field; import java.util.Arrays; /** * 获取Class对应类所包含的属性的四个方法 * * 运行结果 * [private java.lang.String d18_3_1.Test4.name, protected int d18_3_1.Test4.age, ...
阅读全文
摘要:package d18_3_1; /** * Java中的java.lang.Class,简单理解就是为每个java对象的类型标识的类, * 虚拟机使用运行时类型信息选择正确的执行方法,用来保存这些运行时类型信息的就是Class类。 * 虚拟机为每种类型管理一个独一无二的对象,即Class对象, * 当类被加载时,对应的Class类型对象会通过调用类加载器中的 defineClass方...
阅读全文
摘要:为什么要把ClassLoader.loadClass(String name)和Class.forName(String name)进行比较呢,因为他们都能在运行时对任意一个类,都能够知道该类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性。 在比较它俩之前需先了解一下java类装载
阅读全文
摘要:1 package cn.wh; 2 /** 3 * java.lang.Class 4 * @author 王恒 5 * @time 2016年11月2日 上午10:39:25 6 */ 7 public class RedlectTest { 8 public static void main(
阅读全文

浙公网安备 33010602011771号