- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 如何通关设计模式之适配器模式
“补救模式” 经常在业务开发过程中都会遇到需求变动等情况,一个再好的程序猿也难免设计出一个“完美”的业务系统。因为,需求永远是变化的。 “智者千虑必有一失,愚者千虑必有一得”,我们都是平庸之人,无法做到百分百的完美系统,对于有些“意外”,该来的总会来,而为了去弥补这些意外,就需要使用到一些补救措施。这个补救措施叫做适配器模式,也可以说是一种补救模式。 适配器的“补救” 假如我是一个公司的老大,今天...
2018-12-30 17:24:01 233
原创 如何通关设计模式之责任链模式
责任在哪? 责任链模式看名称可以理解为责任连成一条链。这也没有什么毛病,责任链模式的重点也在于“链”上,由一条链去处理相似的请求在链中决定谁来处理这个请求,并返回相应的结果。 责任链模式的核心在“链”上,链是由多个处理者组成的。 “古代妇女的枷锁”——责任链的体现 中国古代对于妇女指定了“三从四德”的道德规范。“三从”是指“未嫁从父、既嫁从夫、夫死从子”,也就是说,一位女性在结婚前要听从于父亲,结...
2018-12-28 22:22:36 306
原创 如何通关设计模式之代理模式
代理模式在我们平常应用中极为常见,尤其是对于JavaWeb开发来说,使用的Spring框架中AOP(面向切面编程)就是使用的代理模式中的动态代理。 代理模式的定义 对其他对象提供一种代理以控制对这个对象的访问。 听起来有点玄乎,换个栗子来将,平常在生活中打官司,你会请名律师,律师的任务就是帮你处理中间的所有事,而解放你的双手,律师就相当于代理,通过他我们可以完成我们想要完成的事。 栗子 首先先通过...
2018-12-22 20:37:34 214
原创 你必须知道的HashMap面试题
1.HashMap的工作原理,其中get()方法的工作原理? HashMap基于hash原理,通过put()和get()方法存储和获取元素。它内部使用数组+链表或红黑树的结构,通过hash运算找到bucket位置来存储Entey对象,通过equals()方法找到正确的键值对。HashMap使用链地址法来解决hash碰撞问题,当发生碰撞时,对象会存储在链表的下一个节点处。 get()首先通过计算ke...
2018-12-20 22:15:28 1415 2
原创 如何通关设计模式之工厂模式
何为工厂模式? 工厂模式主要为创建对象提供过渡接口。屏蔽对象的实例化具体过程,以达到灵活的作用。 工厂模式分为以下三种: 简单工厂模式(静态工厂模式) 工厂方法模式 抽象工厂模式 简单工厂模式和抽象工厂模式是对工厂方法模式的扩展。与工厂方法模式也有千丝万缕的关系。下面就以工厂方法模式为例。 工厂方法模式 在单例模式中,要求只能存在唯一类实例,也就是只能有一个女朋友实例存在,今天,我们通过工厂模...
2018-12-19 20:49:08 203
原创 如何通关设计模式之单例模式
一、单例模式的定义 单例模式可谓是设计模式中最简单的一个,没有之一。它的作用也跟其名一样,单例单例,只能生成一个该类的实例。通常我们可以使用new来创建对象,想要多少女朋友就new多少女朋友。但是现在不行了,单例模式规定,你只准有一个女朋友。于是乎… 二、单例模式的实现 现在我们想要有一个女朋友,而且必须有且仅有一个,多了在一起会打架,所有我们现在该怎么做呢。 public class GirlF...
2018-12-18 20:01:00 231
原创 从源码深入理解HashMap(附加HashMap面试题)
HashMap向来是面试中的热点话题,深入理解了HashMap的底层实现后,才能更好的掌握它,也有利于在项目中更加灵活的使用。 本文基于JDK8进行解析 一、HashMap解析 1. 结构 HashMap结构由数组加**链表(或红黑树)**构成。主干是Entry数组,Entry是HashMap的基本单位,每一个Entry包含key-value键值对。每个Entry可以看成是一个链表(或红黑树)...
2018-12-17 14:09:48 257
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人