![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 93
梦想着破蛹而出的毛毛虫
这个作者很懒,什么都没留下…
展开
-
⑧设计模式之适配器模式
⑧适配器模式适配器模式也很简单,你笔记本上的那个拖在外面的黑盒子就是个适配器,一般你在中国能用,在日本也能用,虽然两个国家的家庭电压不同,中国是220V,日本是110V,但是这个适配器能够把这些不同的电压转换为你需要的36V电压,保证你的笔记本能正常运行。在编程的世界里面,适配器模式也是这个意思。如果有一天,两个接口,你需要把一个接口转换成另外一个接口,怎么办?继承,能解决,但是比较傻,而且还违背了原创 2017-09-03 21:04:29 · 195 阅读 · 0 评论 -
Leetcode精选之ID33 搜索排序数组
leetcode 33:搜索旋转排序数组假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O(log n) 级别。示例 1: 输入...原创 2018-10-29 09:44:48 · 240 阅读 · 0 评论 -
Redis难点问题(未完成)
目录 Redis问题1. Redis有哪几种数据淘汰策略?2. redis事务redis事务并不能保证原子性:常用指令:1. MULTI2. EXEC3. DISCARD4. WATCH5. UNWATCH3. 一个字符串类型的值能存储最大容量是多少?4. Redis回收进程如何工作?5. Redis如何做内存优化?6. Redis如何做大量数据插入?7. 为什么要做Redis分区?8. 你知道有...原创 2018-10-16 16:38:03 · 862 阅读 · 0 评论 -
知识归纳之JAVA虚拟机
原创 2018-09-29 09:26:28 · 82 阅读 · 0 评论 -
知识归纳之redis
严禁转载,谢谢!原创 2018-09-17 11:19:31 · 95 阅读 · 0 评论 -
从"荷兰国旗问题"到"快排"
从”荷兰国旗问题”到”快排” 给定一个数组arr和一个数num,请把小于num的放在数组的左边,等于num的放在中间,大于的放在右边。要求额外空间复杂度为O(1),时间复杂度为O(N).从这道题我们可以很轻易联想到快排中的partition,但是经典快排的partition函数是没有处理”等于放在中间“这件事情的,所以我们需要用另外一个策略,实现partition。 @Test...原创 2018-09-09 23:32:57 · 408 阅读 · 1 评论 -
jdk源码阅读笔记(1.9版)非concurrent包的集合
jdk源码阅读笔记(1.9版,2018年2月12日)ArrayList容器默认大小为10,位置不够了自动扩增,每次增加当前长度的50%。数组容量扩增到Integer.MAX_VALUE-8的时候,就会开始限制数组扩充,超过Integer.MAX_VALUE,抛内存溢出异常。clone是浅拷贝,List中的引用指向的还是相同数据线程不安全迭代器中的exp...原创 2018-03-15 14:47:21 · 198 阅读 · 0 评论 -
⑦ 设计模式之门面模式【 Facade Pattern】
⑦ 门面模式【 Facade Pattern】好,我们继续讲课。大家都是高智商的人,都写过纸质的信件吧,比如给女朋友写情书什么的,写信 的过程大家都还记得吧,先写信的内容,然后写信封,然后把信放到信封中,封好,投递到信箱中进行邮 递,这个过程还是比较简单的,虽然简单,这四个步骤都是要跑的呀,信多了还是麻烦,比如到了情人节, 为了大海捞针,给十个女孩子发情书,都要这样跑一遍,你不要累死,更别说你原创 2017-09-03 16:27:04 · 232 阅读 · 0 评论 -
⑥设计模式之抽象工厂模式
⑥抽象工厂模式书接上一回,上回讲到女娲造人之后,忘记给人类定义性别了,那怎么办?由于先前的工作已经花费了很大的精力作为铺垫,也不想从头开始了,那先说人类(Product产品类)怎么改吧,好,有了,给每个人类都加一个性别,然后再重新制造,这个问题解决了,那八卦炉呢?只有一个呀,要么生产出的全部是男性,要么全是女性,那可不行,有了把已经有了一条生产线——八卦炉(工厂模式中的Concrete Factor原创 2017-09-03 15:22:01 · 172 阅读 · 0 评论 -
①设计模式之策略模式
①设计模式之策略模式背景在软件开发中常常遇到这种情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个具体的查找算法;当然也可以将这些查找算法封装在一个统一的方法中,通过if…els原创 2017-09-01 10:53:08 · 178 阅读 · 0 评论 -
④设计模式之多例模式
④设计模式之多例模式同一时期有两个皇帝的情况确实存在,就出现明朝。明英宗朱祁镇,对,就是那个在土木堡之变中被瓦刺俘虏的皇帝,被俘虏后,他弟弟朱祁钰当上了皇帝,就是明景帝,估计当上皇帝后乐疯了,忘记把老哥朱祁镇削为太上皇了,在中国的历史上就这个时期是有两个皇帝的,你说这期间的大臣多郁闷,两个皇帝耶。这个场景放到我们设计模式中就是叫有上限的多例模式(没有上限的多例模式太容易的,和你直接new一个对象没啥原创 2017-09-02 10:35:55 · 312 阅读 · 0 评论 -
③设计模式之单例模式
③单例模式这个模式是很有趣而且也比较简单的,但是我还是要说,因为它是以是如此的广泛,如此的有人员,单例就是单一、独苗的意思,那什么是独一份呢?我们举个比较难复制的对象:皇帝中国历史上很少出现两个皇帝并存的时期,是有,但不多,那我们就认为皇帝是个单例模式,在这个场景中,有皇帝,有大臣,大臣是天天要商超参见皇帝的,今天参拜的皇帝应该和昨天的、前天的一样,大臣磕完头,抬头一看,还是昨天那个皇帝,单例模式,原创 2017-09-01 18:05:11 · 176 阅读 · 0 评论 -
②设计模式之代理模式
②设计模式之代理模式什么是代理模式什么是代理模式呢?我很忙,忙得没空理你,那你要找我呢就先找我的代理人吧,那代理人总要知道被代理人能做哪些事情不能做哪些事情吧,那就是两个人具备一个接口,代理人虽然不能干活,但是被代理的人能干活啊。举例举了栗子,你去买房,通常来说都是先找中介,中介带你去看房,商量价钱,交易。看似全部东西都是你跟中介之间发生的,实际上是房主赋予中介的权力,让中介代理房主的职责。再比如西原创 2017-09-01 16:32:05 · 246 阅读 · 3 评论 -
⑨设计模式之模板模式(Template Module)
⑨设计模式之模板模式(Template Module)什么是模板模式?先给一个情景,现在我要设计一个车辆模型,一开始的类图如下然后程序写到这里,你就看到问题了,run方法的实现应该写在抽象类上,而不是实现类上写到这里读者可能会有疑问:为什么HummerModel的前四个基本方法都是protected修饰的呢?客户不需要关系启动、停止、鸣笛和引擎声音,他只要在run过程中听到或看到就成了,不需要暴露原创 2017-09-04 21:06:32 · 366 阅读 · 0 评论 -
⑤设计模式之工厂方法模式
⑤工厂方法模式前言:女娲补天的故事大家都听说过吧,今天不说这个,说女娲创造人的故事,可不是“造人”的工作,这个词被现代人滥用了。这个故事是说,女娲在补了天后,吓到凡间一看,哇塞,风景太又没了,天空是湛蓝的,水是清澈的,空气是清新的,太美丽了,然后待时间长了就感觉到有点寂寞,没有动物,这些看得到都是静态的东西,怎么办?别忘了是神仙呀,没有办不到的事情,预示女娲就架起了八卦炉(专业术语:建造工厂)开始创原创 2017-09-02 16:37:26 · 182 阅读 · 0 评论 -
剑指offer之 字符串转数字(java实现)
字符串转换成数字:这个问题主要是处理边界和非法输入比较麻烦。public int strToInt(String str) { if (str == null || str.trim().isEmpty()) { throw new RuntimeException("输入错误,无法转换成字符串"); } char[] c...原创 2018-10-29 09:47:33 · 3158 阅读 · 0 评论