一、何为设计模式 设计模式不是一种方法和技术,而是一种思想。 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 设计模式和具体的语言无关,学习设计模式就是要建立…
分类:架构
Rx简单使用
RxJava最核心的是Observables(被观察者,事件源)和Subscribers(订阅者)以及Observer(观察者) 。三者关系,通过订阅者绑定,被观察者将信息发送给观察者。 RxAndroid是RxJava…
剑指offer第二版-11.旋转数组的最小数字(二分查找)
本系列导航:剑指offer(第二版)java实现导航帖 面试题11:旋转数组的最小数字 题目要求: 把一个数组最开始的若干个元素搬到末尾成为数组的旋转,如1,2,3,4,5=>3,4,5,1,2;0,1,1,1,1…
数据结构_知识点_栈
1. 栈的定义 只允许在一段进行插入和删除操作的线性表。 可以理解为只有一个口的窄瓶子,出入都只能通过一个口。同时,瓶内elem按线性排列。 由特性可知,其输入与输出顺序可以有多种不同的变化。因而,栈多用于需要输出顺序特…
getByClass函数进化史
对于js来说,我想每一个刚接触它的人都应该会抱怨:为什么没有一个通过class来获取元素的方法。尽管现在高版本的浏览器已经支持getElementsByClassName()方法,但是对于低版本浏览器来说,还是无法兼容,…
详解Lambda
详解Lambda Java8已经更新了好久了。变化很大,但感觉有用的不多。其中最广为人知的就是Lambda表达式。看起来比较蛋疼,感觉Java越来越C化了。 当初以为Lambda的作用就是为了简化匿名内部类的输写,最近看…
一些关于架构设计的思考
我们通过上述横向分块、纵向分层的方法将一个系统切成不同的小块,这些小块负责某一单一的职责,然后通过接口将块与块之间进行了间接性的连接,依赖的是接口而不是实例,以弱化这种模块间通信造成的耦合。当然,上述模型仅仅只是一个理想…
跟我一起刷leetCode算法题10之Contains Duplicate
217. Contains Duplicate 这是leetCode第217题 题目 Given an array of integers, find if the array contains any duplicat…
剑指offer第二版-16.数值的整数次方
本系列导航:剑指offer(第二版)java实现导航帖 面试题16:数值的整数次方 题目要求: 实现函数double power(double base,int exponent),求base的exponent次方。不能…
lintcode 最长公共子序列
给出两个字符串,找到最长公共子序列(LCS),返回LCS的长度。 说明 最长公共子序列的定义: 最长公共子序列问题是在一组序列(通常2个)中找到最长公共子序列(注意:不同于子串,LCS不需要是连续的子串)。该问题是典型的…
剑指offer第二版-41.数据流中的中位数
本系列导航:剑指offer(第二版)java实现导航帖 面试题41:数据流中的中位数 题目要求: 得到一个数据流中的中位数。 解题思路: 此题的关键在于“数据流”,即数字不是一次性给出,解题的关键在于重新写一个结构记录历…
桥接模式——七种结构型模式之一
1.前言 通过前面的学习,可以发现:当一个对象持有另一个对象时,其实可以理解为两个对象进行了关联。这种关系不像类的继承是静态的、不可变得,相反具有很高的灵活性,是常见的解耦方式。当耦合度低时,持有者和被持有者可以独立变化…