摘要: 设计模式 创建型 工厂方法模式 定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行 使用场景: 创建对象需要大量重复的代码 客户端(应用层)不依赖于产品类实例如何被创建、实现等细节 一个类通过其子类来指定创建哪个对象 当明确地计划不同条件下创建 阅读全文
posted @ 2019-04-27 13:17 Horken 阅读(222) 评论(0) 推荐(0) 编辑
摘要: java集合 collection List 特点:线性结构,有序,可重复 LinkedList ​ 数据结构:双向链表 ​ 特点:非线程安全,查询慢,增删快,逻辑连续的空间内存(物理可不连续),内存利用率高 ​ 备注:可把LinkedList当做队列使用,额外实现了Queue接口(非直接实现,通过 阅读全文
posted @ 2019-04-06 17:40 Horken 阅读(158) 评论(0) 推荐(0) 编辑
摘要: Java的内存泄露 1、静态集合类引起内存泄漏 像HashMap、Vector等的使用最容易出现内存泄露,这些静态变量的生命周期和应用程序一致,他们所引用的所有的对象Object也不能被释放,因为他们也将一直被Vector等引用着。 2、当集合里面的对象属性被修改后,再调用remove()方法时不起 阅读全文
posted @ 2019-04-06 17:37 Horken 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 树BSTBinary Sort Tree:二叉查找树,或二叉搜索树,或二叉排序树性质:若左子树不空,则左子树上所有结点的值均小于它的根结点的值;若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;左、右子树也分别为二叉查找树;没有键值相等的节点。... 阅读全文
posted @ 2019-04-06 17:37 Horken 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 垃圾收集器与内存分配策略(第三章) 前言,众所周知,Java是由c++进化而来,c++在内存需自己申请,自己释放,于是就有了Java的动态内存分配。书的第三章开篇,有这样一句话描述的很妙——Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外的人想进去,墙内的人却想出来。 如 阅读全文
posted @ 2019-04-06 17:36 Horken 阅读(186) 评论(0) 推荐(0) 编辑
摘要: Jave并发的艺术 并发编程的挑战 上下文切换 CPU通过时间片分配算法来循环执行任务,当前时间片执行完之后会切换到下一个任务。但是,切换会保存上一个任务的状态,一遍下次切换回这个任务时,可以再次加载这个状态。所以任务从保存到再加载的过程就是一次上下文切换。 如何减少上下文切换 减少上下文切换的方法 阅读全文
posted @ 2019-04-05 23:01 Horken 阅读(147) 评论(0) 推荐(0) 编辑
摘要: JAVA多线程与并发 进程与线程的区别 进程是资源分配的最小单位,线程是CPU调度的最小单位 所有与进程相关的资源,都被记录在PCB(进程控制块)中 进程是抢占处理机的调度单位;线程属于某个进程,共享其资源 线程只由堆栈寄存器、程序计数器和TCB(线程控制块)组成 总结: 线程不能看做独立应用,而进 阅读全文
posted @ 2019-03-25 11:24 Horken 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 参照和学习:https://www.cnblogs.com/AnnieKim/archive/2013/06/15/morristraversal.html解决的问题:如何使用空间复杂度O(1),来遍历二叉树。我们通常的办法:是递归或者利用栈的迭代,空间复杂度都为O(... 阅读全文
posted @ 2019-02-01 21:24 Horken 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 解决的问题:在一个数组中找到最小的k个数常规解法:1、排序,输出前k个数,时间复杂度O(n*log(n))。 2、利用一个大小为k的大根堆,遍历数组维持大根堆,最后返回大根堆就可以了,时间复杂度O(n*log(k))。BFPRT解法:... 阅读全文
posted @ 2019-01-31 21:05 Horken 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 文章参考:https://segmentfault.com/a/1190000008484167江湖人称:马拉车算法解决的问题:求一个字符串中的最长回文。暴力的方法:遍历字符串,以当前字符为中心,向两边扩展直至不是回文。时间复杂度O(n^2)Manacher算法:是记... 阅读全文
posted @ 2019-01-30 22:35 Horken 阅读(121) 评论(0) 推荐(0) 编辑