摘要: /** * 二叉树优点:1.有序数组;2.链表。 * 数值大的在放右边,小的放左边 * */ public class TreeList { public static void main(String[] args){ TreeList tl = new TreeList(); tl.insert 阅读全文
posted @ 2016-10-17 15:42 hy_ag 阅读(105) 评论(0) 推荐(0) 编辑
摘要: * 双向链表 * 1. 双向链表只保存第一个节点和后一节点 以及大小(单向链表只保存第一个结点以及大小,通过链结点的next字段找其他结点) * 2. 通过第一节点可找到别的节点的数据 class LinkList{ Node head = new Node(); //头结点 Node tail = 阅读全文
posted @ 2016-10-17 15:40 hy_ag 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 队列: 先进先出,限定插入只在表的一端(对尾)进行,删除在表的另一端(对头)进行 LinkedList实现队列,入列(LinkedList.addLast()),出列(LinkedList.removeFirst) 阅读全文
posted @ 2016-10-17 15:39 hy_ag 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 栈: 后进先出,一种线性表,限定仅在表尾(栈顶)进行插入和删除,读取和操作只能在栈顶 LinkedList实现栈,入栈(LinkedList.addFirst()),出栈(LinkedList.removeFirst()),查看(LinkedList.getFirst()) 阅读全文
posted @ 2016-10-17 15:36 hy_ag 阅读(121) 评论(0) 推荐(0) 编辑
摘要: /** * java的指针: 栈中的变量指向堆中的对象。 * java内存泄露: 内存对象在不需要时,仍保留着这块内存和它的引用。严格上讲是指:一块内存不可达了。 * * java中有六个地方可以存放数据。 * 1. 寄存器 执行最快的区域 有编译器根据需求进行分配 无法直接控制。 * 2. 堆栈 阅读全文
posted @ 2016-10-17 15:16 hy_ag 阅读(203) 评论(0) 推荐(0) 编辑
摘要: /** * 适配器模式 * * 意图:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 * 如何解决:继承或依赖 * 主要解决:主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。 * 阅读全文
posted @ 2016-10-17 15:12 hy_ag 阅读(188) 评论(0) 推荐(0) 编辑
摘要: /** * 工厂模式 * * hibernate 换数据库只需换方言和驱动 * */public interface FactoryPattern { /** * 定义一个创建对象的接口,让子类决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行 * 何时使用:我们明确地计划不同条件下创建不同 阅读全文
posted @ 2016-10-17 15:09 hy_ag 阅读(170) 评论(0) 推荐(0) 编辑
摘要: /** * 迭代器模式 * * 意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。 * 应用实例:JAVA 中的 iterator。 * */public class IteratorPattern { } // 叙述导航方法接口interface Iterator 阅读全文
posted @ 2016-10-17 15:08 hy_ag 阅读(144) 评论(0) 推荐(0) 编辑
摘要: /** * 观察者模式 * * 意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 * 何时使用:一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。 * 关键代码:在抽象类里有一个 ArrayLis 阅读全文
posted @ 2016-10-17 15:07 hy_ag 阅读(101) 评论(0) 推荐(0) 编辑
摘要: /** * 代理模式 * * 应用实例:1、spring aop。 * 意图:为其他对象提供一种代理以控制对这个对象的访问。 * * 何时使用:想在访问一个类时做一些控制。 * 如何解决:增加中间层。 * 关键代码:实现与被代理类组合。 * * 通过创建一个代理类,在代理类中在使用到具体方法时才创建 阅读全文
posted @ 2016-10-17 15:06 hy_ag 阅读(106) 评论(0) 推荐(0) 编辑
摘要: /** * 单例模式 * * 使用场景: * 1、要求生产唯一序列号。 * 2、WEB 中的计数器,不用每次刷新都在数据库里加一次,用单例先缓存起来。 * 3、创建的一个对象需要消耗的资源过多,比如 I/O 与数据库的连接等。 * 注意事项:getInstance() 方法中需要使用同步锁 sync 阅读全文
posted @ 2016-10-17 15:05 hy_ag 阅读(123) 评论(0) 推荐(0) 编辑