-
@设计模式---代理模式简介与分类
代理模式:
为其他对象提供一种代理以控制对这个对象的访问。代理对象起到中介作用,可去掉功能服务或增加额外的服务。代理模式的分类:
1.远程代理模式:为不同地理的对象提供局域网代表对象(监控各个店铺)
2.虚拟代理:根据需要将资源消耗很大的对象进行延迟,真正需要的时候进行创建(图片的延时加载)
3.保护代理:控制用户的访问权限(网站页面的访问权限)
4.智能引用代理:提供对目标对象提供额外的服务(火车票代售处)查看全部 -
@设计模式---代理模式之 聚合方式做代理模式
1.聚合代理优于继承代理。在实现功能叠加的情况下,聚合代理通过相互代理可以实现功能重用,而继承代理必须写多个类来实现多功能叠加。
2.但静态代理只能代理一种类型的被代理类,换个类型的就不行了,这需要动态代理
查看全部 -
@设计模式---代理模式之 静态代理
静态代理:代理和被代理对象在【代理之前】都是【确定】的。他们都实现【相同的接口或者继承相同的抽象类】
代理实现方法:
1.继承法:代理类直接【继承】被代理类,实现其原有方法,并添加一些额外功能
2.聚合方法:代理类实现【相同的功能接口:很重要,事项相同接口,不同代理也可以进行相互代理】,并在内声明一个被代理类的对象(类似封装),通过内部对象实现其原有方法,并添加额外功能查看全部 -
@设计模式---代理模式简介与分类
代理模式:
为其他对象提供一种代理以控制对这个对象的访问。代理对象起到中介作用,可去掉功能服务或增加额外的服务。代理模式的分类:
1.远程代理模式:为不同地理的对象提供局域网代表对象(监控各个店铺)
2.虚拟代理:根据需要将资源消耗很大的对象进行延迟,真正需要的时候进行创建(图片的延时加载)
3.保护代理:控制用户的访问权限(网站页面的访问权限)
4.智能引用代理:提供对目标对象提供额外的服务(火车票代售处)查看全部 -
Proxy.newInstance(ClassLoader c,Class claz,InvocationHandler h),它是根据出入的claz被代理类或接口,通过反射以及字符串操作,拼接了一个实现被代理接口或继承被代理类的一个代理类的字符串,这个代理类中包含了与被代理类公有方法名一样的方法,同时在这些方法中都是调用的h处理类中的invoke方法,这样就达到了,实际调用被代理方法前做预处理工作。
InvocationHandler中invoke(Object 代理对象,Method 被代理对象最终要执行的方法,Object[] 方法所需参数)可以在最终方法执行前做一些方法前的预处理工作,如果在被代理类的方法执行前有多个InvocationHandler需要执行处理,那就在invoke方法中对InvocationHandler中的被代理对象做判断,如果被代理对象是InvocationHandler则继续执行invoke方法(类似拦截器原理),否则通过反射执行最终的被代理类的实现方法
查看全部 -
查看全部
-
查看全部
-
本节知识点:
获取当前文件路径的方法:System.getProperty("user.dir")
获取当前系统时间的方法:System.currentTimeMillis();
Navigate 视图的使用。
jre 和 jdk 环境的装换。
commons-io FileUtils 的使用
快捷键 ctrl + shift + o 调整文件缩进
查看全部 -
实战报错:
原因如下:导入包不全
报错分析:
NoClassDefFoundError发生在JVM在动态运行时,根据你提供的类名,在classpath中找到对应的类进行加载,但当它找不到这个类时,就发生了java.lang.NoClassDefFoundError的错误,而ClassNotFoundException是在编译的时候在classpath中找不到对应的类而发生的错误
查看全部 -
查看全部
-
查看全部
-
查看全部
-
查看全部
-
查看全部
-
查看全部
举报