自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

转载 《Java迷之知识点》之-----static关键字

1.static是什么 static在java中的意思是“静态的”,什么是静态的?静态的 意味着这个东西和对象无关,和类有关。 2.static作用在变量上 当static作用在变量上的时候,意味着这个变量被这个该类所有的对象共享(同一个hashCode地址),sta...

2017-08-07 15:25:00 132

转载 ET-----ExcelTool,Excel业务快速处理框架

1.ET简介 在大型企业系统中,有一个必不可少的业务,就是--报表。为了阅读、处理方便,报表通常都是以excel的文件形式进行存储的。所幸的是已经有大佬开发了一个用于处理excel的框架--jxl。既然有了jxl,为什么还要开发ET?第一,jxl虽然已经把api封装的很好了,但是对...

2017-08-03 17:02:00 316

转载 《Java迷之知识点》之-----final关键字

1.final是啥 final是个java的保留关键字,它的意思是,用了final来修饰,就表示它是不可变的。 那么问题来了,“不可变”是什么东西???? 其实,对于变量,方法,类,final的“不可变”代表着不同的含义。 2.final用于变量上 ...

2017-08-02 16:48:00 157

转载 6个设计原则

1.单一职责原则 简单点说就是一个方法、接口只要自己的单一职责就行了 2.里氏替换原则 2.1 所有引用基类的地方必须能透明地使用其子类的对象。 //比如有个抽象类,AbstractGun,有方法shoot() //它的子类有 AK47,HandGun...

2017-07-31 11:34:00 158

转载 每天一个设计模式之(22)-----桥梁模式

1.为什么要使用桥梁模式 桥梁模式是一种结构行模式。它把抽象和实现 进行了解耦,使得两者可以独立的变化。比如说java和数据库的连接,我们可以用Mysql的Driver,也可以用Oracle的Driver。通常我们会怎么做,一般的做法是抽象出一个Driver接口,然后分别实现Mysq...

2017-07-31 10:53:00 80

转载 本地缓存的实现方案

1.简介 在大型企业网站项目中,由于高并发等因素,常常需要集成一些中间件,而缓存几乎是必不可少的,因为它对于性能提升非常巨大,比如说redis。但是我们不仅仅需要redis,因为redis存放的是可变的用户数据。我们常常会需要一种东西来存放我们系统的一些配置,这些数据不是动态的,基本...

2017-07-28 15:27:00 548

转载 每天一个设计模式之(21)-----享元模式

1.为什么要使用享元模式 第一次看到这个名字很奇怪,享元是啥意思。后来才理解了,享元就是共享元数据的意思。在我们的项目中,有时候会出现OutOfMemory异常,原因就是我们创建了太多的实例,垃圾回收机制又回收不了,所以当申请新的内存时,申请不到,所以就会抛出这个异常。一个简单的OO...

2017-07-28 14:15:00 137

转载 每天一个设计模式之(20)-----解释器模式

1.为什么要使用解释器模式 解释器模式的应用场景为,当一个系统的需要运算的公式过多时,要为每一个公式实现一个接口,那么接口数量必然暴增,但是使用解释器模式的话,可以让代码去解释每一个公式,并实现自动计算,这样,我们就不需要为每一个公式进行开发接口。有点类似于人工智能的感觉。学习这个模...

2017-07-27 12:14:00 64

转载 每天一个设计模式之(19)-----状态模式

1.为什么要使用状态模式? 思考这样一个场景:当一个对象的动作和其所处的状态相关时,比如我要给某用户发送优惠券,当用户状态正常时,我才可以发,当用户状态是冻结的时候,我就不能给他发送(发了他也用不了)。由此我们可以用一下的代码来实现。 public void sendCoupon(...

2017-07-26 12:00:00 85

转载 每天一个设计模式之(18)-----访问者模式

1.为什么要使用访问者模式 博主看了好几遍,实在是看不出来访问者模式到底在讲什么东西,可能博主功力太浅- -,对该模式的使用场景也不太理解,先写着把。 2.类图 简单解释一下,Element是要被访问的元素,是抽象的,有两个实现类,其中doSomething是业务逻辑...

2017-07-25 16:19:00 63

转载 每天一个设计模式之(17)-----备忘录模式

1.为什么要使用备忘录模式? 备忘录模式就是可以让你的系统恢复到修改以前的状态。有时候我们进行一个操作,可能已经修改了对象的状态,但是操作却失败了(类似于mysql的事务操作),那么我们要提供一种措施能让对象的状态回到这次修改之前(回滚)。 2.类图 Game...

2017-07-24 16:11:00 79

转载 每天一个设计模式之(16)-----门面模式

1.为什么要使用门面模式 门面模式几乎是所有大型企业级架构必备的模式。门面模式在概念上有点和模版方法模式上相似,即我不需要知道你具体执行的细节,只需要你给我提供一个对外的接口就行了。拿现在的理财类App为例,新用户注册之后都会发出来一大堆优惠券给你使用,让你体验。在没有门面的情况下,...

2017-07-24 10:23:00 65

转载 每天一个设计模式之(15)-----观察者模式

1.为什么要使用观察者模式 观察者模式其实就是我们平常使用的 发布/订阅模型。其中,发布的一方被成为被观察者,订阅的一方被成为观察者。一旦发布了某条信息,订阅者就会收到消息并做出对应的行动。这种编程方式十分方便,但是当观察者数量上升到一定量时,就要考虑把系统做成异步的,否则将会耗掉巨...

2017-07-21 14:59:00 90

转载 每天一个设计模式之(14)-----组合模式

1.为什么要使用组合模式 组合模式其实就是一种树形的数据结构,在接口/抽象类中定义一个方法,不论是根节点,还是树枝结点还是叶子结点,都可以直接调用,形成了一种“部分-整体”的结构。 2.看一下类图 Component是抽象类,有自己的名字,并定义了获取自己孩子结点的方...

2017-07-21 11:19:00 134

转载 每天一个设计模式之(13)-----迭代器模式

1.为什么要使用迭代器模式 迭代器模式是最常用的模式,它已经深入到Collection集合类里面去了,其实迭代器就是Iterator,正是有了这个迭代器,我们才能使用for(Object obj : objects) 这样的循环。Iterator 有三个方法 next(),hasNe...

2017-07-20 16:45:00 61

转载 每天一个设计模式之(12)-----适配器模式

1.为什么要使用适配器模式 假如我现在的系统运行良好,突然要和第三方公司的业务进行整合,比如我有一个User接口,里面定义了获取手机号,姓名等方法。但是第三方也有User接口,它只定义了获取用户信息的接口。那么我们就可以在自己系统和第三方系统之间新加一个适配器,让第三方信息能够无缝接...

2017-07-19 14:12:00 80

转载 每天一个设计模式之(11)-----策略模式

1.为什么要使用策略模式 策略模式非常的简单,简单到就是java的多态性的表现,拥有抽象接口,调用者可以自行实例化需要的实例。 2.类图 Strategy是策略的抽象,Add,Sub是具体的实现,Context只拥有抽象策略对象。 3.实现 策略类 pu...

2017-07-19 09:42:00 116

转载 每天一个设计模式之(10)-----装饰模式

1.为什么要使用装饰模式 装饰模式,就是对原有的业务方法进行一些装饰,听起来和代理模式十分相似。但还是有一点区别的,代理模式的本质是完全交给代理模式去做(至少思想上是这样的),但是装饰模式是对原业务方法的扩展,封装等。 2.类图 以房间为例,房间要有床,我们对房间进行...

2017-07-10 16:14:00 93

转载 每天一个设计模式之(9)-----责任链模式

1.为什么要使用责任链模式 责任链模式就是通过一个处理链,找到合适的结点去处理请求。责任链模式非常显著的优点是将请求和处理分开。请求者可以不用知道是谁处理的,处理者可以不用知道请求的全貌(例如在J2EE项目开发中,可以剥离出无状态Bean由责任链处理),两者解耦,提高系统的灵活性。 ...

2017-07-10 15:04:00 86

转载 每天一个设计模式之(8)-----命令模式

1.为什么要使用命令模式 命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。支持可撤销的操作。 ● 类间解耦 调用者角色与接收者角色之间没有任何依赖关系,调用者实现功能时只需调用Command 抽象类的execute方法就可以...

2017-07-06 10:36:00 97

转载 每天一个设计模式之(7)-----中介者模式

1.为什么要使用中介者模式 我在学习中介者模式的时候,本能的想起了一个东西---网关。为什么呢?其实网关就是一个中介者模式。比如我有用户服务和电影服务,还有一大堆其它服务,那么用户服务作为最基础的服务,应该是被几乎所有的服务都要调用,那用户服务就要关联这么多的其它服务,其它服务都要...

2017-07-05 17:47:00 83

转载 每天一个设计模式之(6)-----原型模式

1.为什么要使用原型模式 原型模式讲到底,就是覆写了 Object的 clone()接口。但是这个clone是直接从内存复制的,效率比new 一个对象高了很多。 2.类图 一个邮件类,只有接收者和内容,obj是用于测试的。该邮件类实现了Cloneable接口,也就...

2017-07-05 15:56:00 52

转载 每天一个设计模式之(5)-----代理模式

1.为什么要使用代理模式 http://www.cnblogs.com/silverLee/archive/2010/02/05/1664577.html 这篇文章举了几个很容易理解的例子,通俗点来讲就是,通过代理,你可以把一些复杂的步骤交给代理去做。就比如玩游戏的代练一样...

2017-07-05 10:56:00 51

转载 每天一个设计模式之(4)-----建造者模式

1.为什么要使用建造者模式 建造者模式的定义是: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 我们常常会在一些框架的使用中有这样的用法: Builder.setXXX().setYYY().setZZZ().build(); 这种...

2017-07-05 10:08:00 88

转载 每天一个设计模式之(3)-----模板方法模式

1.为什么要使用模板方法模式 模板方法,就是一个方法是模板,其它的子类只要照着这个方法搞就行了。这样说比较抽象,以一个例子作为说明。比如我有一个AbstractCar,车能启动,能停止,能挂挡,能按喇叭,当然也能跑。那么我们想要车子跑,那么就要先启动它,再挂挡,才能跑,跑的过程中还...

2017-07-04 16:07:00 102

转载 设计模式总结和源码地址

本系列的博客主要是根据秦小波的《设计模式之禅》,以及网上一大堆博客总结而成。目前还在连载中。 由于设计模式需要理解消化,更多的是实际项目中的积累,阅读大佬们的代码才能真正理解。所以建议一次只读一篇,彻底消化后(理解为什要使用这种设计模式,什么场景下使用这种模式比较好)再读下一篇,循序渐...

2017-07-04 15:43:00 43

转载 每天一个设计模式之(2)-----工厂模式

1.为什么要使用工厂模式 在网上看了很多篇文章,都说工厂模式华而不实,但是Spring容器中却大量了使用工厂模式,比如BeanFactory等,下面这篇文章分析的或许有点道理: http://blog.csdn.net/lovelion/article/details/75233...

2017-07-04 15:26:00 53

转载 每天一个设计模式之(1)-----单例模式

单例模式,顾名思义就是一个类只产生一个实例。 1.为什么要使用单例模式 原因有很多,这篇文章写的很详细http://www.cnblogs.com/seesea125/archive/2012/04/05/2433463.html 但是主要是为了省去频繁...

2017-07-04 14:16:00 50

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除