- 博客(32)
- 收藏
- 关注
原创 JAVA实现魔术师发牌问题
魔术师发牌问题: 问题名称:魔术师发牌问题 问题描述:魔术师手里一共有13张牌,全是黑桃,1~13. 魔术师需要实现一个魔术:这是十三张牌全部放在桌面上(正面向下), 第一次摸出第一张,是1,翻过来放在桌面上。 第二次摸出从上往下数第二张,是2,翻过来 放在桌面上,(第一张放在最下面去,等会儿再摸), 第三次摸出从上往下数第三张,是3,翻过来放在桌面上,(
2017-12-23 11:07:47
698
原创 一道腾讯链表面试题
题目:快速找到未知长度单链表的中间节点.普通方法:首先遍历一遍单链表以确定单链表的长度L.然后再次从头节点出发循环L/2次找到单链表的中间节点.算法复杂度:O(L+L/2)=O(3L/2)高级方法:利用快慢指针原理,设置两个指针*searh *mid都指向单链表的头节点.其中*search的移动速度是*mid的2倍.当*search指向末尾节点的时候,mid正好指向就
2017-12-21 10:33:23
330
原创 ArrayList和LinkedList中的get方法底层实现
1.ArrayList的get方法 因为底层是数组 直接通过下标获得2.LinkedList的get方法 因为底层是链表,链表没有下标,需要迭代遍历: if (index > 1)) { Node x = first; for (int i = 0; i < index; i++) x =
2017-12-21 10:29:59
4229
转载 关于eclipse部署项目后,在tomcat中的webapps文件夹下没有项目
一、发现问题在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并没有出现所建立的工程名字。二、验证很明显项目并没有自动部署到Tomcat的Webapps中而是部署在了别的容器中。在内置浏览器中输入http://localhost:8080/w
2017-12-14 14:29:33
2070
转载 经典算法---堆排序(Heapsort)
堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序的平均时间复杂度为Ο(nlogn) 。算法步骤:1. 创建一个堆H[0..n-1]2. 把堆首(最大值)和堆尾互换3. 把堆的尺寸缩小1,并调用shift_down(0),目的是把新的数组顶端数据调
2017-12-08 19:05:26
607
原创 关于HashTable和HashMap的区别
今天面试问到一个HashMap和HashTable的区别,这里来总结一下:首先哈希表由数组+链表组成,一个长度为16的数组中,每个元素存储的是一个链表的头结点.而HashMap和HashTable就是哈希表结构1.继承类不同:HashMap继承AbstractMapHashTable继承Dictionary2.:put方法对key和value的要求不同Has
2017-12-08 18:48:46
196
原创 解释器模式(Interpreter)----基于JAVA语言
解释器模式(Interpreter) 例子:解释器接口(这里的是专门解析数学运算表达式) public interface Expression { public int interpret(Context context); } //加法 public class Plus implements Expression
2017-12-05 22:46:11
294
原创 中介者模式(Mediator)-----基于JAVA语言
中介者模式也是用来降低类和类之间的耦合的,因为如果类和类之间有依赖关............
2017-12-04 16:35:00
231
原创 访问者模式(Visitor)-----基于JAVA语言
访问者模式把数据结构和作用于结构上的操作解耦合,使得对数据操作可相对自由地演化。访问者模式适用于数据结构相对稳定,算法又易变化的系统。因为访问者模式使得算法操作增加变得容......
2017-12-03 20:30:23
238
原创 状态模式(State)-----基于JAVA语言
状态模式(State) 核心思想就是:当对象的状态改变时,同时改变其行为,很好理解.............
2017-12-02 17:05:05
1515
原创 备忘录模式(Memento)-----基于JAVA语言
备忘录模式(Memento) 也可以叫备份模式,主要目的是保存一个对象的某个状态.......................
2017-12-01 11:12:19
177
原创 命令模式(Command)-----基于JAVA语言
命令模式很好理解,举个例子,司令员下令让士兵去干件事情,从整个事情的角度来考虑,司令员的作用是,发出口令......
2017-11-30 18:41:41
466
原创 责任链模式(Chain of Responsibility)-----基于JAVA语言
责任链模式,有多个对象,每个对象持有对下一个对象的引用........
2017-11-29 11:30:13
174
原创 模板方法模式(Template Method)-----基于JAVA语言
模板方法模式,就是指:一个抽象类中,有一个主方法,再定义1...n个方法,可以是......
2017-11-27 14:16:51
237
原创 桥接模式(Bridge)-----基于JAVA语言
桥接模式(也叫桥梁模式)就是将抽象部分和实现部分分离,使它们都可以独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据..........
2017-11-25 19:39:07
253
原创 外观模式(Facade)-----基于JAVA语言
外观模式也可以叫做门面模式 为子系统或者模块中的一组接口提供一个一致的访问方式,此模式定义了..............
2017-11-25 19:32:53
216
原创 代理模式(Proxy)------基于JAVA语言
代理模式的应用场景: 如果已有的方法在使用的时候需要对原有的方法进行改进,此时有两种办法: 1、修改原有的方法来适应。这样违反了“对扩展开放,对修改关闭”的原则。 2、就是采用一个代理类调用原有的方法,且对产生的结果进行控制。这种方法就是代理模式。.....
2017-11-24 15:03:28
348
原创 装饰模式(Decorator)-----基于JAVA语言
装饰模式(Decorator) 顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是【动态】的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例.这里的动态指的是用户可以根据自己的需求把之前定好的功能任意组合。........
2017-11-24 14:34:28
150
原创 错误笔记:写项目时用PreparedStatement向数据库中插入数据报游标不足错误
今天在写一个电信宽带运营支撑系统时,报了一个游标不足的错误,一脸蒙,代码是这样.................
2017-11-23 19:44:07
1200
原创 适配器模式(Adapter)-----基于JAVA语言
适配器模式(Adapter)适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。...
2017-11-23 19:15:00
352
原创 原型模式(Prototype)-----基于JAVA语言
原型模式(Prototype): 原型模式虽然是创建型的模式,但是与工程模式没有关系,从名字即可看出,该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。在Java中,复制对象是通过clone()实现的......
2017-11-23 19:00:40
183
原创 错误笔记:JDBC中Statement和PreparedStatement对于Date类型写入数据库问题
今天写JDBC使用Statement执行sql语句向oracle数据库中插入Date类型数据时,遇到了一些问题:........
2017-11-22 19:21:04
6481
原创 建造者模式(Builder)------基于JAVA语言
建造者模式很像工厂模式,工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理, 用来创建复合对象,所谓复合对象就是指某个类具有不同的属性。建造者模式主要用于“分步骤构建一个复杂的对象”........
2017-11-21 19:03:30
737
原创 工厂方法模式(Factory Method)和抽象工厂模式(Abstract Factory)-----基于JAVA语言
工厂方法模式分为三种:普通工厂模式 多个工厂方法模式 静态工厂方法模式......
2017-11-21 18:51:19
318
原创 映像租赁系统---SQL语言
映像租赁系统:在美国,由于知识产权得到了很好的保护,所以一般不会出现盗版的问题。美国人除去在电影院看电影之外就是在影像店租碟回家去看。在这种情况下,影相出租的店铺就比较多。在信息化的背景下,设计一套系统管理影像出租业务成了当务之急,于是通过和店铺经理沟通,获得如下业务信息:......
2017-11-20 14:37:20
1902
原创 迭代子模式(Iterator)分析---基于JAVA语言
迭代子模式(Iterator):顾名思义,迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,因此我通过一个小例子来研究迭代子模式,研究设计模式的同时,更好的掌握集合中的迭代器使用.
2017-11-19 20:23:09
185
原创 单例模式(Singleton)的分析----基于java语言
单例对象(Singleton) 是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处: 1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。 2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。 3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。 下面我们来试着解决这种问题.
2017-11-19 12:22:26
693
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人