- 博客(3)
- 收藏
- 关注
原创 JAVA动态代理的原理及应用
1、静态代理 使用静态代理,可以降低代码的耦合度,当在现有代码的基础之上实现扩展,例如事务控制,日志记录等功能时可以通过代理类灵活的实现需要的功能。以Struts的Action为例实现简单的静态代理。其类图如下: 可以在不改变原有代码的结构上进行功能的扩展。 代码:Action.java package wangwch.dynamic.proxy.detail; publi
2013-09-22 23:39:46 686
原创 HashMap源代码实现及性能优化
一、Hash算法 使用哈希算法与线性存储和树结构存储相比能够实现快速的读取操作,根据计算的Hash值可以确定存放的位置 读取时直接到相应位置读取即可,因此读取效率更高。 在Hash算法中如何实现既能兼顾效率又能平均计算存放的位置减少冲突也是其中最重要的一个挑战 二、HashMap结构 JDK是使用数组,并且数据的每个位置使用链表以避免冲突的方式存储数据,结构如下: 三、
2013-09-15 15:51:35 845
原创 LinkedList源码分析:双向循环链表实现
java以面向对象思想实现双向循环链表 public class LinkedList { private transient Entry header = new Entry(null, null, null); private transient int size = 0; /** * 构造方法:初始化LinkedList时为header结点分
2013-08-08 15:07:27 980
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人