240 发简信
  • Rxjava2.1 线程切换原理解析

    一、前提说明 本文是在 Rxjava 2.1 的基础上进行的,目前只对 Rxjava 进行解析,未搭配 Retrofit 食用,如果想看 Rxj...

  • Rxjava 2.1 订阅流程源码解析

    一、前提说明 本文是在 Rxjava 2.1 的基础上进行的,目前只对 Rxjava 进行解析,未搭配 Retrofit 食用,如果想看 Rxj...

  • 滴滴插件化解析(一)

    我们这一节来分析一下滴滴插件化是如何启动插件的 Activity 的。 一、使用 1.配置宿主工程的 Module#build.gradle 2...

  • 设计模式(四)之 单例模式

    一、定义 确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 二、使用场景 1.确保某个类只有一个实例对象,避免产生多个对象消耗过...

  • 120
    设计模式(二)之 装饰者模式

    一、定义 装饰模式:动态地给一个被装饰者对象添加其他兄弟类一些额外的职责,但是不改变被装饰者类的功能。就增加功能来说,装饰模式相比生成子类更为灵...

  • 设计模式(一)之 策略模式

    一、定义 策略模式:官方一点的定义就是定义好一组算法簇,将每个算法(变化)都封装成一个类,并且使他们可以互相替换。 直白一点就是定义好一些会变化...

  • 多线程编程

    一、创建线程 1.继承 Thread 类,重写 run() 方法栗子:public class TestThread extends Threa...

  • 120
    数据结构算法(十二) 之 排序

    一、冒泡排序 冒泡排序是一种交换排序,基本思想就是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。 下面给出 3 种冒泡排序...

  • 数据结构算法(十一) 之 散列表查找(哈希表)

    一、散列函数构造方法 除留取余法 对于散列表长度为 m 的散列函数公式为: f(key)= key mod p (p <= m) mod 就是取...