- 博客(4)
- 收藏
- 关注
原创 策略模式
一、什么是策略模式以及策略模式功能 1.1 为什么需要策略模式? 1)完成一项任务,往往可以有多种不同的方式,每一种方式称为一个策略,我们可以根据环境或者条件的不同选择不同的策略来完成该项任务。 2)在软件系统中,很多算法可以实现某一功能,比如查找、排序。这里以查找算法为例说明,如果我们需要提供多种查找算法,可以将这些算法写在一个类中,在该类中提供多个方法,每一个方法对应一个具体的查找算法;当...
2019-03-18 23:55:27 243
原创 装饰者、JDK动态代理和CGLIB动态代理 三种设计模式 教你实现AOP
定义一个普通dao类和daoImpl类来模式实现三种aop,对dao类中的方法进行增强日志功能 定义一个DAO接口: public interface Dao { void insert(); void query(); void update(); } DAO接口实现类: public class DaoImpl implements Dao { @O...
2019-03-11 22:50:23 199
原创 ArrayList源码分析(JDK1.8)
一、数据结构 ArrayList的数据结构是Object类型的数组,可以存放所有数据类型,我们对ArrayList的所有操作都是基于数组的 二、ArrayList源码分析 2.1 类的属性 public class ArrayList<E> extends AbstractList<E> implements List<E>, Ran...
2019-03-10 16:04:55 212
原创 HashMap源码分析 --- JDK1.8,JDK1.7源码对比
一 、前言 JDK1.8相对于1.7,变化最大的地方就在于将数组+链表拆分为数组+链表+红黑树的组合,其目的就在于解决 hash冲突增加随之链表长度增加后,存储效率降低的问题,因为存储都需要遍历链表;其次将存放key-value的Entry类换成了Node类,功能是一样的,只不过换了个名字而已。 HashMap的精髓就在于用key计算的hash值来散列插入的位置,这样既能解决key-v...
2019-03-09 23:51:35 167
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人