`
duantonghai
  • 浏览: 20348 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
简单看了下spring aop的代码,所以做个笔记,不对的地方还望指正 spring aop 是实现上基于 java动态代理和cglib, 类 JdkDynamicAopProxy, Cglib2AopProxy, 他们都实现了接口AopProxy 当要获得一个bean时, spring 会检查这个bean是普通bean了还是factoryBean,就返回factorybean 的 getObject方法,让客户端得到一个已经被增强的代理类。有了这个代理类,其他问题就好办了,你懂的。。。。 cglib example: import net.sf.cglib.pr ...
数据层 使用MySQL ,同时使用Tokyo Cabinet(Key-value的存储引擎,简称TC)做一个数据冗余,TC代替MySQL做存储,例如搜索结果页的用户资料,但Tokyo Cabinet没有网络处理能力,需要使用Tokyo Tyrant以提供网络接入能力,并调用Tokyo Cabinet的API进行持久化存储 Tokyo Tyrant其实也是Tokyo Cabinet的作者开发的,主要是支持Memcached传输协议的网络接口,可以理解为Tokyo Tyrant处理网络连接,协议解析,然后调用Tokyo Cabinet的API来完成持久化存储 服务端 Web Server : Ngi ...
3要素: 封装,继承,多态 5原则: 单一职责:对于一个类,应该仅有一个引起它变化的原因 开放封闭:软件实体可以扩展,但不能修改 Liskow替换原则:子类必须能够替换他们的基类型 依赖倒置:抽象不依赖与细节,细节应该依赖与抽象 接口隔离:多个专用接口优于一个通用接口 进程: 一个执行中程序的实例,  提供给程序2个关键抽象 1, 一个独立的逻辑控制流 2, 一个私有的地址空间 一个运行应用程序代码的进程初始化时应该实在用户模式,切换到内核模式的唯一办法是通过诸如中断,故障或者陷入系统调用(trapping system call)这样异常,异常出现时,控制传递到异常处理程 ...
in 和 exists区别 in 是把外表和内表作hash join,而exists是对外表作loop,每次loop再对内表进行查询。 一直以来认为exists比in效率高的说法是不准确的。 如果查询的两个表大小相当,那么用in和exists差别不大。 如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in: 例如:表A(小表),表B(大表) 1: select * from A where cc in (select cc from B) 效率低,用到了A表上cc列的索引; select * from A where exist ...
cglib 是一个很强大的动态字节增强库, 使用例子: cglib 官网:http://cglib.sourceforge.net/howto.html public class Dao { public void update(){ System.out.println("update"); } public void insert(){ System.out.println("insert"); } public void delete(){ System.out.println("delete" ...
Global site tag (gtag.js) - Google Analytics