- 博客(88)
- 资源 (12)
- 收藏
- 关注
原创 Java实现数据结构——红黑树删除
本文参考《算法导论(第三版)》和JDK1.8-HashMap源码回顾红黑树基本性质每个节点或是红色,或是黑色根节点是黑色每个叶节点是黑色如果一个节点是红色,那么它的两个子节点都是黑色对于每个节点,从该节点到其所有后代叶节点的简单路径上,包含相同数目的黑色节点删除节点节点的基本删除操作:二叉查找树-删除元素 《算法导论(第三版)》中的二叉查找树的删除操作原理是,...
2018-05-01 12:59:27
1513
原创 Java实现数据结构——红黑树
红黑树定义相比二叉查找树,红黑树中的节点多个颜色属性。通过颜色属性,确保了从根节点到每个叶子节点的简单路径,没有一条路径超过其他路径2倍,近似于平衡。 性质:每个节点或是红色,或是黑色根节点是黑色每个叶节点是黑色如果一个节点是红色,那么它的两个子节点都是黑色对于每个节点,从该节点到其所有后代叶节点的简单路径上,包含相同数目的黑色节点 Java代码实现中,性质3:每个叶节点为黑...
2018-04-19 00:01:05
2026
原创 fatal: Authentication failed could not read from remote repository
fatal: could not read from remote repositoryfatal: Authentication failed for
2017-08-31 18:51:29
10715
原创 Java实现数据结构——二叉查找树
二叉查找树二叉树是层次结构,要么是空集,要么是一个根(root)的元素和两颗不同的二叉树组成。空树的高度为0,非空树的高度是从根结点到它最远叶子结点的路劲长度+1。树的遍历访问树中每个结点一次且只有一次的过程
2017-04-25 11:23:42
641
原创 ECharts简单Demo
ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的 Canvas 类库 ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。
2017-02-12 21:27:22
15442
原创 SpringMVC+Swagger UI生成可视图的API文档(详细图解)
SpringMVC+Swagger生成文档详细图解,以及遇到的异常处理
2016-12-04 19:16:28
59357
原创 Transaction rolled back because it has been marked as rollback-only
Transaction rolled back because it has been marked as rollback-only
2016-09-30 19:32:08
1829
原创 Spring IoC(一)
BeanDefinition:对于IoC容器来说,就是对依赖反转模式中管理的对象依赖关系的数据抽象,也是容器实现依赖反转功能的核心数据结构。
2016-09-26 22:34:36
430
原创 FizzBuzz问题
FizzBuzz:百度说是一款英国学校学生经常玩的游戏,转成编程语言就是:编写一个程序从1到100.当遇到数字为3的倍数的时候,“Fizz”替代数字,5的倍数用“Buzz”代替,既是3的倍数又是5的倍数点击“FizzBuzz”
2016-08-31 19:04:02
686
原创 初识Java反射
一般情况下,需要创建一个类的实例对象,JVM会确认该类的Class对象是否加载完毕。未加载的话,JVM会根据类名查找.class文件,并载入内存,从而可以创建需要使用的类的对象。
2016-08-28 23:07:20
976
原创 JQuery学习笔记(三)——选择器2
4.属性过滤 5.子元素过滤 6.表单对象属性过滤选择器1. 点击所有的 p 节点, 能够弹出其对应的文本内容2. 使第一个 table 隔行变色3.点击 button, 弹出 checkbox 被选中的个数
2016-07-31 21:58:48
903
原创 JQuery学习笔记(一)
HelloWorld、全选和反选、JQuery对象和DOM对象转换(DOM对象的值:this.firstChild.nodeValue)
2016-07-31 21:32:20
374
原创 SVN:cleanup failed–previous operation has not finished; run cleanup if it was interrupted
cleanup出现错误处理方法
2016-05-19 23:50:51
739
原创 设计模式学习笔记——访问者模式
符合单一职责原则:适用访问者模式时,元素类中需要封装在访问者中的操作必定是与元素类本身关系不大且是易变的操作,使访问者模式一方面符合单一职责原则,另一方面,被封装的操作通常是易变的,所以发生变化时,可以在不改变元素类本身的前提下,实现变化部分扩展。扩展性好:元素可以通过接受不同的访问者来实现对不同操作的扩展。
2016-04-30 23:06:41
383
原创 设计模式学习笔记——解释器模式
优点,扩展性好,修改语法规则只需要修改相应的非终结符就可以了,扩展语法,即增加非终结类。缺点,每个语法都需要产生一个非终结符表达式,语法规则复杂,维护麻烦。使用了大量循环和递归,效率十分地低。
2016-04-30 22:09:09
394
原创 设计模式学习笔记——中介者模式
1.可以避免同事类之间的耦合过度,使同事类之间可以相互独立使用。(迪米特原则)2.一对多关联转变为一对一关联,对象关系容易理解和维护。3.使用中介者模式可以将对象的行为和协作进行抽象,灵活处理对象之间的作用。
2016-04-30 17:28:06
430
原创 设计模式学习笔记——责任链模式
优点:责任链模式与if ...else相比,耦合性相对较低一些,条件判断都分散到了各个处理类中。缺点:判定条件都要被执行一遍,当责任链较长时,性能问题严重。
2016-04-04 20:36:09
413
原创 设计模式学习笔记——命令模式
命令模式,将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。核心:把请求一个操作的对象与知道怎么执行一个操作的对象分割开。
2016-03-31 00:31:33
435
原创 设计模式学习笔记——桥接模式
桥接模式,将抽象部分与它的实现部分分离,使他们都可以独立地变化。桥接模式的“将抽象部分和它的实现部分分离”,指的是实现系统可能有多角度分类,每种分类都可能变化,那么就把这种多角度分离出来让它们独立变化,减少它们之间的耦合。
2016-03-29 23:55:01
493
原创 设计模式学习笔记——单例模式
1.在内存中只有一个对象,节省内存空间。2.避免频繁的创建销毁对象,可以提高性能。3.避免对共享资源的多重占用。4.可以全局访问。
2016-03-27 16:28:08
484
原创 设计模式学习笔记——迭代器模式
迭代器模式,提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。简化遍历方式,对于Hash表来说,遍历比较麻烦,使用迭代器遍历简单许多。提供多种遍历方式,对于有序列表,可以提供正序遍历,倒序遍历等。封装性好,用户只需要迭代器就可以遍历,对遍历算法不需要关心。
2016-03-27 14:39:27
491
原创 设计模式学习笔记——组合模式
组合模式,将对象组合合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。当需求中体现部分与整体层次结构是,并且需要忽略组合对象和单个对象的不同,统一地使用组合结构中的所有对象时,可以考虑使用组合模式。组合模式定义了基本对象和组合对象层次结构。基本对象可以被组合成更复杂的组合对象,而这个组合对象可以又被组合,递归传递。使用时,任何使用基本对象的地方都可以使用组合对象。
2016-03-26 21:32:36
888
原创 MySQL数据库的数据类型timestamp的自动更新
自动更新:1、列值没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。 2、列值没有明确地在一个UPDATE语句中指定且另外一些的列改变值。 (注意一个UPDATE设置一个列为它已经有的值, 这将不引起TIMESTAMP列被更新, 因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。) 3、你明确地设定TIMESTAMP列为NULL. 4、除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()
2016-03-23 00:21:45
2958
原创 设计模式学习笔记——适配器模式
适配器一词最早来自于电力行业中,如:每个国家的标准电压不同,有的是220V,有的是110V,这个时候就需要适配器从中转换一下。即两个类所做的事情相同或者相似,但具有不同的接口。
2016-03-22 23:31:03
510
原创 设计模式学习笔记——状态模式
当一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为,那么就可以使用状态模式了。状态模式通过把各种状态转移逻辑分布到State的子类之间,
2016-03-21 23:44:02
488
原创 设计模式学习笔记——抽象工厂模式
抽象工厂模式,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。使用工厂模式,只需要关心降低耦合的的目的是否达到
2016-03-21 00:30:18
380
原创 设计模式学习笔记——观察者模式
观察者与被观察者之间属于轻度的关联关系,并且是抽象耦合的,对于两者比较容易扩展。观察者模式是一种常用的触发机制,形成一条触发链,依次对各个观察者的方法进行处理。但是由于链式触发,当观察者比较多的时候,性能问题很难解决。并且链式结构容易出现循环引用错误,造成系统假死。
2016-03-17 11:31:56
492
原创 设计模式学习笔记——建造者模式
建造者模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。产品类Product:一个复杂的对象,换句话说该对象在创建的过程中比较复杂。可以是一个具体类,也可以是一个抽象类与它不同的实现组成。抽象建造者Builder:将建造Product的具体过程交给它的子类实现。容易扩展,至少包括两个方法,一个建造Product,一个返回建造的Product。具体建造者ConcreteBuilder:继承抽象建造者类,实现父类未实现的方法:组建产品,返回组建好的产品。指挥者Directo
2016-03-16 21:36:02
529
原创 设计模式学习笔记——外观模式
外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
2016-03-15 16:03:37
552
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人