17.12.13,web学习第二十五天,还有一年,努力吧青年动态代理
2017-12-13 20:12
423 查看
类加载器,注解,动态代理
1. 类加载器:BootStrap :引导类加载器。 JRE下面的rt.jar。运行时环境。
ExtClassLoader 扩展类加载器。加载基础的文件。
AppClassLoader AppclassLoader。三方jar包和自己写的java文 件。
ClassLoader可以获得classes(src)下的所有资源。
String path=classLoader.getResource(“相对 classes(src)path”).getPath();
//classLoader.getResourceAsStream()获得流;
ClassLoader和Properties配合使用加载配置文件。
2. 注解:@xxx
给程序员看,给jvm看。
主流作用:代替xml配置文件。
两者的优缺点:
注解:开发效率高,耦合度高
配置文件:开发效率低,耦合度低
Jdk5提供的注解:
@override:告知编译器此方法是重写父类的。
@Deprecated :标注过时。
@SuppressWarnings:压制警告 如list泛型
不同的注解只能在不同的位置上使用。
自定义注解:(了解)会使用即可!!!
框架帮我们编写,解析注解,我们只会用即可!
3. 动态代理proxy
InvocationHandler接口中invoke方法的三个参数:
proxy:代表动态代理对象
method:代表正在执行的方法
args:代表调用目标方法时传入的实参
目标对象必须有接口 没有接口不能实现jdk版动态代理。
invocationHandler的invoke()方法,代理类每一个方法执行时都会 调用一次invoke()方法。
4000
public class Proxys {
@Test
public void dail() {
Proxys proxys = new Proxys();
//newPro是代理对象,根据参数确定是谁的代理对象
//在运行中,动态的为JBdemo创建一个虚拟的代理对象
//与目标对象相同的类加载器
//
AAA newPro = (AAA) Proxy.newProxyInstance(JBdemo.class.getClassLoader(), JBdemo.class.getInterfaces(), new InvocationHandler() {
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
if (method.getName().equals("sleep")) {
System.out.println("sleep");
}
return method.invoke(new JBdemo(), args);
//执行目标对象的方法
}
});
newProxyInstance.sleep();
}
}
相关文章推荐
- 18.01.06,web学习第三十八天,还有一年,努力吧青年 hibernate第四天 HQL,Criteria,离线对象,查询策略
- 17.11.12,web学习第二天,还有一年,努力吧青年!
- 17.12.19,web学习第二十九天,还有一年,努力吧青年ajax,cookie,分类分页显示
- 17.11.26,web学习第十二天,还有一年,努力吧青年HTTp协议和TomCat服务器
- 17.12.22,web学习第三十一天,还有一年,努力吧青年 商城项目第四天订单提交在线支付
- 17.11.22,web学习第九天,还有一年,努力吧青年
- 17.11.28,web学习第十四天,还有一年,努力吧青年HttpServletResponse
- 17.11.15,web学习第四天,还有一年,努力吧青年!
- 17.11.13,web学习第三天,还有一年,努力吧青年!
- 17.11.14,web学习第四天,还有一年,努力吧青年!
- 17.11.18,web学习第六天,还有一年,努力吧青年
- 17.12.26,web学习第三十三天,还有一年,努力吧青年 商城项目第六天 ajax,文件上传
- 17.12.06,web学习第二十天,还有一年,努力吧青年商城增删改查记忆
- 17.12.17,web学习第二十八天,还有一年,努力吧青年shop
- 17.12.14,web学习第二十六天,还有一年,努力吧青年 Linux入门
- 17.12.25,web学习第三十二天,还有一年,努力吧青年 商城项目第五天 我的订单回显和文件上传
- 18.01.04,web学习第三十七天,还有一年,努力吧青年 hibernate第三天 一对多,多对多
- 17.12.03,web学习第十七天,还有一年,努力吧青年JSP
- 18.01.08,web学习第三十九天,还有一年,努力吧青年 struts2第一天 搭建框架
- 17.12.11,web学习第二十三天,还有一年,努力吧青年Listener