java基础加强(类加载器、代理,不是很懂)
来源:互联网 发布:access数据库恢复大师 编辑:程序博客网 时间:2024/06/05 10:13
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------
1. 类加载器的委托机制:
每一个类加载器加载类时,先委托其上一级类加载器进行加载,直到最顶级类加载器,然后再逐级往回退,当所有祖宗类加载器没有加载到类,回到发起者类加载器,还加载不了,则抛ClassNotFoundException。
这种先由上级进行加载的方式,保证了内存中只有一个字节码,如果各个类加载器各行其事,必然导致内存里的字节码混乱,这种统一管理的方式应该学习。
注:基于类加载器的委托机制,自己写的java.lang.System类一般是不能被被加载的,但是可以通过自定义类加载器劈开委托机制进行加载。
2.代理
这部分其实真的不是很懂,四五遍下来,代码都能顺利写出来,但是知其然不知其所以然的感觉很是不爽,但是时间有限,不理解的记录下来慢慢领悟吧。虽然对这里不是很理解,但是对很多东西总算有一个模糊的概念了,相信在以后的学习中会很顺利的。
2.1 如ArrayList作为target,得到的代理类不能直接强转为ArrayList,但是可以强转为List和Collection,这就限制了ArrayList的特有方法使用。这一点感觉不如使用CGLIB库好,因为CGLIB库可以动态生成一个类的子类,自然就得到了ArrayList的所有方法。
2.2 在AopFramework的部分,为什么会有一个ProxcyBeanFactory的类,直接通过配置文件反射得到target和advice岂不是更直接,还绕一大圈找代理?不过既然类似spring,而spring还是三大框架中的一个,必然有其优势吧。
2.3 调用调用代理对象的从Object类继承的hashCode, equals, 或toString这几个方法时,代理对象将调用请求转发给InvocationHandler对象,对于其他方法,则不转发调用请求。
这一点想了好一会才大概知道是什么意思,特别标记,加以注意吧。
2.4 张老师的错误教学法(老师自己取的名字)不错啊,好多地方没出错,自己听的时候感觉也还蛮简单,就直接过了,但是十天半月后自己突然来敲这部分代码居然好多地方不会。但是老师出错的地方自己会额外注意一点,这样印象又深一点。看来真的只有出错才能进步啊。
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------
- java基础加强(类加载器、代理,不是很懂)
- Java基础加强<三>_类加载器、代理
- 基础加强 类加载器 代理
- java基础加强(四)(类加载器和代理)
- java基础加强--代理类
- java基础加强(反射、内省、BeanUtils工具类、类加载器、动态代理)
- Java基础加强二注解、泛型、类加载器、代理类
- 黑马程序员-java基础加强_代理和类加载器
- 『黑马程序员』---java--基础加强--类加载器+代理
- 黑马程序员--Java基础加强--08内省、类加载器、动态代理
- Java基础加强_Eclipse、枚举、反射、注解、泛型、类加载器、动态代理
- java基础加强5--类加载器
- java基础加强--类加载器
- Java基础加强---ClassLoader(类加载器)
- JAVA--基础加强_类加载器
- java基础加强04 类加载器
- Java 基础加强 - 类加载器
- java基础加强_05_类加载器
- 打包system成HIT archive data格式刷机包
- Mysql批量插入数据sql语句
- 域名主机有关的小知识普及
- ArcGIS10地图切片总结
- 红谷滩
- java基础加强(类加载器、代理,不是很懂)
- 在Eclipse中用远程svn资源库创建项目并提交和更新
- (收藏)40多个关于人脸检测/识别的API、库和软件
- Android SDK Manager无法更新的解决
- spring security控制权限的几种方法
- 类的构造、析构、赋值构造、拷贝构造函数
- c# 语音朗读
- Spring 中的 RowMapper
- Android系统性能调优工具介绍