随笔分类 -  JavaSE18_类加载和反射

摘要:参考连接:https://blog.csdn.net/qiaolovemath/article/details/50454400?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5&utm_s 阅读全文
posted @ 2020-04-04 15:26 奋斗的少年WH 阅读(176) 评论(0) 推荐(0)
摘要:参考链接:https://blog.csdn.net/sam_linux/article/details/12918797 import java.lang.reflect.*; import java.util.ArrayList; public class TestGetClass { publ 阅读全文
posted @ 2020-04-04 14:48 奋斗的少年WH 阅读(283) 评论(0) 推荐(0)
摘要:参考来源:http://blog.csdn.net/heyutao007/article/details/49738887 AOP的拦截功能是由java中的动态代理来实现的。说白了,就是在目标类的基础上增加切面逻辑,生成增强的目标类(该切面逻辑或者在目标类函数执行之前,或者目标类函数执行之后,或者在 阅读全文
posted @ 2017-08-14 23:25 奋斗的少年WH 阅读(287) 评论(0) 推荐(0)
摘要:----此处是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... 阅读全文
posted @ 2017-08-14 23:12 奋斗的少年WH 阅读(172) 评论(0) 推荐(0)
摘要:package d18_5_1; public interface Person { void walk(); void sayHello(String name); } package d18_5_1; /** * proxy提供了两个方法来创建动态代理类和动态代理实例 * static Class getProxyClass(ClassLoader loader,C... 阅读全文
posted @ 2017-08-14 23:09 奋斗的少年WH 阅读(251) 评论(0) 推荐(0)
摘要:package d18_4_2; import java.lang.reflect.Array; /** * 常用方法 * static Object newInstance(Class componentType,int.. length) * 创建一个具有指定元素类型,指定维度的新数组 * * static xxx getXxx(Object array,int index)... 阅读全文
posted @ 2017-08-14 23:08 奋斗的少年WH 阅读(160) 评论(0) 推荐(0)
摘要:package d18_4_2; /** * 一般情况下,我们并不能对类的私有字段进行操作,利用反射也不例外, * 但有的时候,例如要序列化的时候,我们又必须有能力去处理这些字段, * 这时候,我们就需要调用AccessibleObject上的setAccessible()方法来允许这种访问, * 而由于反射类中的Field,Method和Constructor继承自Accessible... 阅读全文
posted @ 2017-08-14 23:07 奋斗的少年WH 阅读(212) 评论(0) 推荐(0)
摘要:package d18_4_2; import java.lang.reflect.Field; /** * Field * getXxx(Object obj):获取obj对象的F属性值, * setXxx(Object obj,Xxx val):将obj对象的该Field设置成val值 * 注意 阅读全文
posted @ 2017-08-14 23:07 奋斗的少年WH 阅读(171) 评论(0) 推荐(0)
摘要: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... 阅读全文
posted @ 2017-08-14 23:05 奋斗的少年WH 阅读(145) 评论(0) 推荐(0)
摘要:内部类 接口、枚举、注释类型 阅读全文
posted @ 2017-08-14 12:33 奋斗的少年WH 阅读(174) 评论(0) 推荐(0)
摘要:package d18_3_1; /** * Class类上所包含的注解 * * getAnnotation(Class annotationClass) 获取该元素上指定的类型的注解 * getAnnotations():返回此元素上存在的所有注解 * getDeclaredAnnotations():返回直接存在于此元素上的所有注解 */ import java.lang.an... 阅读全文
posted @ 2017-08-14 12:28 奋斗的少年WH 阅读(532) 评论(0) 推荐(0)
摘要: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... 阅读全文
posted @ 2017-08-14 12:27 奋斗的少年WH 阅读(198) 评论(0) 推荐(0)
摘要: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, ... 阅读全文
posted @ 2017-08-14 12:27 奋斗的少年WH 阅读(273) 评论(0) 推荐(0)
摘要:获取构造器信息 阅读全文
posted @ 2017-08-14 12:26 奋斗的少年WH 阅读(200) 评论(0) 推荐(0)
摘要:package d18_3_1; /** * Java中的java.lang.Class,简单理解就是为每个java对象的类型标识的类, * 虚拟机使用运行时类型信息选择正确的执行方法,用来保存这些运行时类型信息的就是Class类。 * 虚拟机为每种类型管理一个独一无二的对象,即Class对象, * 当类被加载时,对应的Class类型对象会通过调用类加载器中的 defineClass方... 阅读全文
posted @ 2017-08-14 12:24 奋斗的少年WH 阅读(182) 评论(0) 推荐(0)
摘要:为什么要把ClassLoader.loadClass(String name)和Class.forName(String name)进行比较呢,因为他们都能在运行时对任意一个类,都能够知道该类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性。 在比较它俩之前需先了解一下java类装载 阅读全文
posted @ 2017-08-13 11:04 奋斗的少年WH 阅读(560) 评论(0) 推荐(0)
摘要: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( 阅读全文
posted @ 2016-11-02 13:14 奋斗的少年WH 阅读(176) 评论(0) 推荐(0)