摘要: 1、继承Thread类实现多线程 继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个 阅读全文
posted @ 2017-08-11 18:34 五岁i 阅读(3493) 评论(0) 推荐(0) 编辑
摘要: 定义: 一个软件实体如类,模块和函数应该对扩展开放,对修改关闭。 什么是开闭原则 开闭原则明确的告诉我们:软件实现应该对扩展开放,对修改关闭,其含义是说一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化的。那什么是软件实体呢?软件实体包括以下几个部分: 项目或软件产品中按照一定的 阅读全文
posted @ 2017-08-11 08:54 五岁i 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 定义:一个对象应该对其他对象有最少的了解。 通俗的讲:一个类对自己需要耦合或调用的类知道的最少,你(被耦合或调用的类)的内部是如何复杂和我没有关系,我就知道你提供的public方法,我只调用这些方法,其它的我不关心。 迪米特原则的具体要求 迪米特原则还有一个解释:Only talk to your 阅读全文
posted @ 2017-08-11 08:51 五岁i 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 在讲接口隔离原则之前,我们先明确一下我们的主角,什么是接口,接口分为两种: 一种是实例接口 (Object Interface),在 Java 中声明一个类,然后用 new 关键字产生的一个实例,它是对一个类型的事 物描述,这是一种接口,比如你定义个 Person 这个类,然后使用 Person z 阅读全文
posted @ 2017-08-11 08:48 五岁i 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 里氏替换原则: 面向对象有三大特性:封装、继承、多态。所以我们在实际开发过程中,子类在继承父类后,根据多态的特性,可能是图一时方便,经常任意重写父类的方法,那么这种方式会大大增加代码出问题的几率。比如下面场景:类C实现了某项功能F1。现在需要对功能F1作修改扩展,将功能F1扩展为F,其中F由原有的功 阅读全文
posted @ 2017-08-11 08:35 五岁i 阅读(810) 评论(0) 推荐(0) 编辑
摘要: 定义: 该原则规定每个类都应该只有一个单一的功能,并且该功能应该由这个类完全封装起来。 何为职责? 既然是单一“职责”,那么职责即为被规定的因素。 概括:"功能(职责)"为改变的原因,一个类或者模块应该有且只有一个改变的原因。 概括:"功能(职责)"为改变的原因,一个类或者模块应该有且只有一个改变的 阅读全文
posted @ 2017-08-11 08:33 五岁i 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的 阅读全文
posted @ 2017-08-11 08:26 五岁i 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念 每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。 二、实现思路 三、代码实现 四、时间复杂度 简单选择排序的比较次数与序列的初始排序无关。 假设待排序的序列有 N 个元素,则比较次数总是N (N - 1) / 2。 而移动次数与序列的初始排 阅读全文
posted @ 2017-08-11 08:24 五岁i 阅读(782) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念 找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他n-1个元素也调整到排序后的正确位置。最后每个元素都是在排序后的正 确位 阅读全文
posted @ 2017-08-11 08:23 五岁i 阅读(5730) 评论(2) 推荐(0) 编辑
摘要: 一、算法原理 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 二、实现思路 阅读全文
posted @ 2017-08-11 08:18 五岁i 阅读(2952) 评论(1) 推荐(0) 编辑