240 发简信
IP属地:北京
  • 120
    希尔排序

    希尔排序(Shell's Sort)是D.L.Shell 于1959年提出的,它是一种基于插入排序的快速的排序算法。对于大规模乱序数组直接插入排序很慢,因为它只会交换相邻的元...

  • 120
    归并排序

    1. 自顶向下的归并排序 1.1 排序过程 自顶向下的归并排序是"分治思想"的典型应用。排序过程中,不断将大数组分割成小数组,将小数组排序,再归并到大数组中。 1.2 代码实...

  • 适配器模式

    1. 适配器模式简介 适配器模式的主要目的是解决接口不兼容问题,适配器模式会将需要适配的类的调用接口转换成调用者能够使用的目标接口。适配器模式中涉及的角色有: 目标接口(Ta...

  • 单例模式

    1. 单例模式简介 单例模式是一种比较常见的设计模式,但在Java中用好单例模式并不简单。在整个系统中,单例类只能有一个实例对象,且需自行完成实例化,并始终对外提供同一实例对...

  • 工厂方法模式

    1. 工厂方法模式简介 在工厂方法模式中,一个工厂类对应一个产品类,该工厂类负责创建该产品类,对外部隐藏了创建的细节。工厂方法模式的类图如图所示: 工厂方法模式的角色: 工厂...

  • 120
    装饰器模式

    1. 装饰器模式简介 装饰器模式实现了将复杂的功能切分成一个个独立的装饰器,通过多个独立装饰器的动态组合,形成所需的功能组件,以满足相应的需求。它的类图如下: 装饰器模式的角...

  • 120
    组合模式

    1. 组合模式简介 组合模式是将多个对象组合成树形结构,使得调用者可以像处理一个简单对象一样处理复杂对象,调用者无需了解复杂元素的内部结构。组合模式的类图如图所示: 组合模式...

  • 120
    插入排序

    1. 排序过程 trip 1:将第二个元素与第一个元素作比较,并根据条件决定是否进行交换,内循环结束后前两个元素有序trip 2:从后往前将第三个元素与前两个已经有序的元素逐...

  • 120
    LinkedList源码分析

    1. LinkedList的继承关系介绍 1.1 LinkedList继承关系图 1.2 LinkedList的父类及接口介绍 (1)Iterable:实现该接口后可使用迭代...

  • 120
    选择排序

    1. 排序过程 trip 1:找出数组中最小的那个元素,将它与数组第一个元素进行交换trip 2:在数组第一个之后的所有元素中找出最小的那个元素,将它与数组第二个元素进行交换...

  • JDK动态代理源码分析

    1. Java中的引用类型 在介绍JDK动态代理之前,先对Java中的4种引用类型和WeakCache类进行介绍。JDK1.2之后,定义了4种强度的引用,分别是强引用(Str...

  • 120
    ArrayList源码分析

    1. ArrayList继承关系介绍 1.1 ArrayList继承关系图 1.2 ArrayList的父类及接口介绍 (1)Iterable:实现该接口后可使用迭代器和增强...