摘要: SpringBoot事件监听 springBoot事件监听流程 1 自定义事件,一般是继承ApplicationEvent抽象类 2 自定义监听器,一般是实现ApplicationListen接口 3 发布事件 这就是SpringBoot中最简单的一个事件监听. 阅读全文
posted @ 2017-11-02 17:17 Will_Don 阅读(1143) 评论(0) 推荐(0) 编辑
摘要: 创建一个SpringBoot最简单的应用 注释@SpringBootApplication 标志着该类为项目入口,因为我引用了hibernateJPA ,所以要加上exclude ,使项目可以在没有数据库的环境下启动. @SpringBootApplication 由于大量项目都会在主要的配置类上添 阅读全文
posted @ 2017-10-30 18:26 Will_Don 阅读(1270) 评论(0) 推荐(0) 编辑
摘要: 贪心算法 贪心算法简介: 贪心算法是指:在每一步求解的步骤中,它要求“贪婪”的选择最佳操作,并希望通过一系列的最优选择,能够产生一个问题的(全局的)最优解。 贪心算法每一步必须满足一下条件: 1、可行的:即它必须满足问题的约束。 2、局部最优:他是当前步骤中所有可行选择中最佳的局部选择。 3、不可取 阅读全文
posted @ 2017-06-05 23:30 Will_Don 阅读(74091) 评论(2) 推荐(6) 编辑
摘要: 动态规划算法: 基本思想: 动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是 阅读全文
posted @ 2017-06-03 21:33 Will_Don 阅读(13093) 评论(1) 推荐(1) 编辑
摘要: 分治算法: 一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归 阅读全文
posted @ 2017-05-31 13:53 Will_Don 阅读(39024) 评论(0) 推荐(11) 编辑
摘要: Stack介绍: 堆栈(Stack)是一个元素序列。盾战中唯一能被删除、访问或修改的元素是最近插入的元素。这个元素就是位于堆栈顶部的那个元素。 举例来说,自助餐厅的盘子架就是一个由盘子构成的堆栈。增加和移除操作只能在顶部进行。为了把它重新摆放,刚刚放到架子上的盘子将在下一次被移动。这种堆栈属性的定义 阅读全文
posted @ 2017-05-30 14:59 Will_Don 阅读(458) 评论(0) 推荐(0) 编辑
摘要: Vector源码解析 在之前文章ArrayList源码解析中分析了一下 ArrayList的源码和一些重要方法,现在对比 ArrayList,总结一下 Vector和 ArrayList的不同。 1 Vector介绍 1 public class Vector<E> 2 extends Abstra 阅读全文
posted @ 2017-05-30 13:56 Will_Don 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 概要 前面,我们已经学习了ArrayList。这一章我们接着学习List的实现类——LinkedList。和学习ArrayList一样,接下来呢,我们先对LinkedList有个整体认识,然后再学习它的源码;最后再通过实例来学会使用LinkedList。内容包括 1、LinkedList介绍 1、L 阅读全文
posted @ 2017-05-29 09:59 Will_Don 阅读(264) 评论(0) 推荐(0) 编辑
摘要: ArrayList源码解析 ArrayList简介: ArrayList 是list接口的一个常用实现类。它的对象可以认为是一维数组的“类版本”。我们很快就可以看到,ArrayList 对象可以看做是一维数组的改良版本。类似于数组,ArrayList 对象支持元素的随机访问;也就是说,只要给出元素的 阅读全文
posted @ 2017-05-28 20:12 Will_Don 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 基本思想: 基数排序是另外一种比较有特色的排序方式,它不需要直接对元素进行相互比较,也不需要将元素相互交换,你需要做的就是对元素进行“分类”。它是怎么排序的呢? 基数排序(以整形为例),将整形10进制按每位拆分,然后从低位到高位依次比较各个位。主要分为两个过程: (1)分配,先从个位开始,根据位值( 阅读全文
posted @ 2017-05-26 16:44 Will_Don 阅读(375) 评论(0) 推荐(0) 编辑