收藏 分享(赏)

18_动态代理_类加载器.ppt

上传人:hwpkd79526 文档编号:9418397 上传时间:2019-08-06 格式:PPT 页数:16 大小:330.50KB
下载 相关 举报
18_动态代理_类加载器.ppt_第1页
第1页 / 共16页
18_动态代理_类加载器.ppt_第2页
第2页 / 共16页
18_动态代理_类加载器.ppt_第3页
第3页 / 共16页
18_动态代理_类加载器.ppt_第4页
第4页 / 共16页
18_动态代理_类加载器.ppt_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、北京传智播客教育 ,动态代理,王健,北京传智播客教育 ,动态代理:,明确以下概念: 代理人是谁? Proxy ,InvocationHandler 要代理谁? Object 代理了以后做什么?拦截Object的方法。,北京传智播客教育 ,使用动态代理开的步骤1:,北京传智播客教育 ,动态代理2代理任意类:,北京传智播客教育 ,使用范型:,北京传智播客教育 ,动态代理Request对像实现编码转换:,北京传智播客教育 ,使用动态代理实现压缩的输出流:,北京传智播客教育 ,用动态代理管理我们的连接池:,北京传智播客教育 ,类加载器了解:,类加载器负责将.class文件加载到内存中,并负责为之生成对

2、应的Class对像。 JVM在启动时,会形成由三个类加载器组合而成的初始类加载器层将结构。,北京传智播客教育 ,类加载器层次图:,BootStrap,ExtClassLoader,AppClassLoader,JAVA_HOME/jre/lib/rt.jar,JAVA_HOME/jre/lib/ext/*.jar,项目CLASSPATH中的jar,自定义类装载器实现ClassLoader,北京传智播客教育 ,北京传智播客教育 ,BootStrap ClassLoader,此类负责加载JVM的核心类,通常被称之为引导或原始类装载器。 这个类非常特殊,它实际是不是ClassLoader的子类。而是

3、由SUN公司自己定制的专用类。 可以通过以下方法查看BootStrap加载了哪些类(包),北京传智播客教育 ,ExtClassLoader类:,此类被称为扩展类加载器。 它负责加载jre/lib/ext目录下的所有类。 所以,当有扩展类需要加入到JVM时,建议将扩展类放到ext目录下,JVM会自动为你加载它们。,北京传智播客教育 ,AppClassLoader:,此类负责加载用户项目CLASSPATH中的类。 也称之为系统类,或应用类加载器。 可以通过以下方法直接获取此类: ClassLoader.getSystemClassLoader(),北京传智播客教育 ,类加载器的父类委托机制:,类加

4、载器,使用父类委托机制。 父类委托机制是指,先由parent(父)类装载器去装载需要加载的类,如果父类找不到再由子类的装载器加载。类装载器还使用了Cache(缓存)机制,如果缓存中有这个Class则直接返回它,如果没有,则从文件中读取并转换成Class对像,同时再将它Cache起来。这样做的目的是保证Class对像只被装载一次。这也就是为什么在修改了Java代码后,必须重新启动才会生效的原因。,北京传智播客教育 ,类加载器的父类委托机制-的实验步骤:,第一步:在你的项目下书一个类,如Demo.java。重写toString方法。 第二步:将此类打包后放到jre/lib/ext目录下。 第三步:在你的项目中,保存原有的Demo.java。并修改toString方法的返回值。 第四步:书写一个新类,在此类的main方法中,实例化Demo类。 第五步:查看它的类装载器是谁,调用它的toString方法,看输出的结果是什么?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报