自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注赚钱的程序员

饥饿、谦逊、沉淀、自省

  • 博客(33)
  • 资源 (5)
  • 收藏
  • 关注

原创 IDEA快捷键

Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “!”键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关闭文件 Ctrl+[ OR ],可以跑到大括号的开头与结尾 Ctrl+F12,可以显示当前文件的结构 Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择 Ctrl+N,可以

2017-10-27 15:27:58 173

原创 设计模式(32)--传输对象模式

什么是传输对象模式? 传输对象模式(Transfer Object Pattern)用于从客户端向服务器一次性传递带有多个属性的数据。传输对象也被称为数值对象。传输对象是一个具有 getter/setter 方法的简单的 POJO 类,它是可序列化的,所以它可以通过网络传输。它没有任何的行为。服务器端的业务类通常从数据库读取数据,然后填充 POJO,并把它发送到客户端或按值传递它。对于客户端,传输

2017-10-27 15:05:36 312

原创 设计模式(31)--服务定位模式

什么是服务定位模式? 服务定位器模式(Service Locator Pattern)用在我们想使用 JNDI 查询定位各种服务的时候。考虑到为某个服务查找 JNDI 的代价很高,服务定位器模式充分利用了缓存技术。在首次请求某个服务时,服务定位器在 JNDI 中查找服务,并缓存该服务对象。当再次请求相同的服务时,服务定位器会在它的缓存中查找,这样可以在很大程度上提高应用程序的性能。以下是这种设计模

2017-10-27 15:00:18 434

原创 设计模式(30)--拦截过滤器模式

什么是拦截过滤器模式? 拦截过滤器模式(Intercepting Filter Pattern)用于对应用程序的请求或响应做一些预处理/后处理。定义过滤器,并在把请求传给实际目标应用程序之前应用在请求上。过滤器可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。以下是这种设计模式的实体。 过滤器(Filter) - 过滤器在请求处理程序执行请求之前或之后,执行某些任务。 过

2017-10-27 14:37:30 263

原创 设计模式(29)-前端控制器模式

什么是前端控制器模式? 前端控制器模式(Front Controller Pattern)是用来提供一个集中的请求处理机制,所有的请求都将由一个单一的处理程序处理。该处理程序可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。以下是这种设计模式的实体。 前端控制器(Front Controller) - 处理应用程序所有类型请求的单个处理程序,应用程序可以是基于 web 的应

2017-10-27 14:00:34 421

原创 设计模式(28)--数据访问对象模式

什么是数据访问对象模式? 数据访问对象模式(Data Access Object Pattern)或 DAO 模式用于把低级的数据访问 API 或操作从高级的业务服务中分离出来。以下是数据访问对象模式的参与者。 数据访问对象接口(Data Access Object Interface) - 该接口定义了在一个模型对象上要执行的标准操作。 数据访问对象实体类(Data Access Objec

2017-10-27 13:39:43 494

原创 设计模式(27)--组合实体模式

什么是组合实体模式? 组合实体模式(Composite Entity Pattern)用在 EJB 持久化机制中。一个组合实体是一个 EJB 实体 bean,代表了对象的图解。当更新一个组合实体时,内部依赖对象 beans 会自动更新,因为它们是由 EJB 实体 bean 管理的。以下是组合实体 bean 的参与者。 组合实体(Composite Entity) - 它是主要的实体 bean。它

2017-10-27 11:48:45 547

原创 设计模式(26)--业务代表模式

什么是业务代表模式? 业务代表模式(Business Delegate Pattern)用于对表示层和业务层解耦。它基本上是用来减少通信或对表示层代码中的业务层代码的远程查询功能。在业务层中我们有以下实体。 客户端(Client) - 表示层代码可以是 JSP、servlet 或 UI java 代码。 业务代表(Business Delegate) - 一个为客户端实体提供的入口类,它提供了

2017-10-27 11:07:42 409

原创 设计模式(25)--MVC模式

*什么是MVC模式?* MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。 Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。 View(视图) - 视图代表模型包含的数据的可视化。 Controller(控制器) - 控制器作用于模型和视图上。它控制数据

2017-10-27 10:49:12 193

原创 设计模式(24)--访问者模式

什么是访问者模式? 在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。优点: 1、符合单一职责原则。 2、优秀的扩展性。 3、灵活性。 缺点: 1、具体元素对访问者公布细节,违反了迪

2017-10-25 10:53:17 207

原创 设计模式(23)--模板模式

什么是模板模式? 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。什么时候使用模板模式? 1、有多个子类共有的方法,且逻辑相同。 2、重要的、复杂的方法,可以考虑作为模板方法。使用场景? 第一能想到的便是hibernate的模板类,我们扔给模板类的

2017-10-25 09:36:56 155

原创 设计模式(22)--策略模式

什么是策略模式? 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。什么时候使用策略模式? 1、如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动

2017-10-25 09:21:41 238

原创 设计模式(21)--状态模式

什么是状态模式? 在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。 在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。什么时候使用? 1、行为随状态改变而改变的场景。 2、条件、分支语句的代替者。如何实现?public interface State { public void

2017-10-25 09:17:41 185

原创 设计模式(20)--观察者模式

什么是观察者模式? 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。什么时候使用观察者模式? 当一个对象的属性变化要通知其他类的时候,可以使用观察者模式实现。如何实现?public abstract class Observer { public SubJect subJect;

2017-10-24 16:39:44 162

原创 设计模式(19)--空对象模式

什么是空对象模式? 在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查。Null 对象不是检查空值,而是反应一个不做任何动作的关系。这样的 Null 对象也可以在数据不可用的时候提供默认的行为。 在空对象模式中,我们创建一个指定各种要执行的操作的抽象类和扩展该类的实体类,还创建一个未对该类做任何实现的空对象类,该空对象类将无缝地使用在需要检查空值的

2017-10-24 09:40:01 294

转载 idea报错Cannot compile Groovy files: no Groovy library is defined for module 'xx'

File-Setting-Complier 把!?*.groovy;删除保存即可

2017-10-24 09:27:41 4138

原创 设计模式(18)--备忘录模式

什么是备忘录模式? 备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。什么时候使用? 很多时候我们总是需要记录一个对象的内部状态,这样做的目的就是为了允许用户取消不确定或者错误的操作,能够恢复到他原先的状态,使得他有”后悔药”可吃。1、后悔药。 2、打游戏时的存档。 3、Windows 里的 ctri + z。 4、IE 中的

2017-10-23 15:42:25 205

原创 设计模式(17)--中介者模式

什么是中介者模式? 中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。 意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 主要解决:对象与对象之间存在大量的关联关系

2017-10-23 15:23:53 149

原创 设计模式(16)--迭代器模式

什么是迭代器模式? 迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 迭代器模式属于行为型模式。 意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。什么时候使用? 1、访问一个聚合对象的内容而无须暴露它的内部表示。 2、需要为聚合对象提供多

2017-10-20 11:09:44 157

原创 设计模式(15)--解释器模式

什么是解释器模式? 解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。何时使用? 1、可以将一个需要解释执行的语言中的句子表示为一个抽象语法树。 2、一些重复出现的问题可以用一种简单的语言来进行表达。 3、一个简单语法需要解释的场景。如

2017-10-20 10:52:41 165

原创 命令模式(14)--命令模式

什么是命令模式? 命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。命令模式的应用场景? 在某些场合,比如要对行为进行”记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将”行为请求者”与”行为实现

2017-10-19 11:00:43 167

原创 设计模式(12)--外观模式

什么是外观模式? 隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。如何实现?public interface Shape{ void draw();}public class Circle implements Shape { public void draw() {

2017-10-18 12:48:32 169

原创 设计模式(11)--装饰器模式

什么是装饰器模式? 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。什么时候用? 想扩展一个对象的功能,并不想因为重复扩展带来的子类膨胀问题。典型应用 java中的IO流如何实现?

2017-10-18 12:31:00 226

原创 设计模式(10)--组合模式

什么是组合模式? 组合模式是一种结构型模式,把多个对象组合为一个整体,类似于在公司中,每个人都是员工,但是员工有上下级的关系,整个级别组合一起为公司整体,组合模式是一种简单的设计模式:如何实现??public class Employee { private String name; private String dept; private int salary;

2017-10-17 11:45:01 148

原创 设计模式(9)--过滤器模式

什么是过滤器模式? 过滤器模式是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。所以也叫标准模式。什么时候用? 顾名思义,在我们要以不同的标准过滤一组对象或者请求的时候。如何实现? 伪代码:public interface 过滤器接口(){ List<Person> 过滤

2017-10-17 11:26:46 215

原创 mysql中的锁

什么是锁? 对于一个数据库来说,有两点需要保证,第一是速度,第二是安全。数据库既要保证能支持高并发的数据访问,又要保证高并发的数据访问不会出错,也就是mysql的锁机制,锁是数据库系统区别于文件系统的一个关键特性,锁机制用于管理对共享资源的并发访问mysql中数据库锁的分类: mysql中的锁可以基本划分为lock和latch(闩锁\轻量级的锁),lock分为行锁、表锁、意向锁。 latch

2017-10-17 10:31:26 281

原创 mysql 事物

什么是mysql事物?mysql的事物是指的是吧数据库数据从一种一致性的状态转化为另外一种一致性状态。 不会出现中间状态,这也是数据库区别于文件系统的一个重要的标志。事物的特性?数据库的事物有ACID的特性: 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability)原子性:事物中的数据修改,要么是全部成功,要么是全部失败,不

2017-10-16 11:32:50 990

原创 设计模式(8)--桥接模式

什么是桥接模式? 桥接模式是一种结构型模式,用于把抽象和实现分离。它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。为什么使用桥接模式? 种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。桥接模式的使用场景? 1、如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的继承联系,通过桥接模式

2017-10-16 10:22:57 165

原创 设计模式(7)--适配器模式

什么是适配器模式? 适配器模式是一种行为型模式,是作为两个不兼容的接口之间的桥梁。例如电源的适配器,接口的适配器等等。什么时候使用适配器? 适配器模式并不是一个经常使用的设计模式, 1、系统需要使用现有的类,而此类的接口不符合系统的需要。 2、想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作,这些源类不一定有一致的接口。 3、通过接口转换,

2017-10-16 09:30:48 209

原创 设计模式(6)--原型模式

什么是原型模式? 原型模式是一种创建行为模式,和建造者相似,都是为创建对象而存在的设计模式。什么时候应用原型模式? 原型模式的设计初衷是为了高性能的拷贝对象,如果一个对象在初始化的过程中需要很多准备,很高的资源消耗的时候,第二次使用这个对象的时候还得再重复一遍,使用原型模式,可以直接对该对象进行克隆。高效。如何实现原型模式? 实现原型模式的关键是实现克隆操作,在 JAVA 继承 Cloneab

2017-10-11 16:35:37 192

原创 设计模式(5)--反向理解建造者模式

什么是建造者模式? 建造者模式是一种创建行为模式,为了是创建对象而存在的设计模式,当对象是由多个简单对象组合而成,且对象组合不断变化的时候,这个对象的创建可以考虑使用建造者模式。什么时候使用? 对象由多个简单对象组合而成,且对象的组合不断变化的时候。 例如汉堡、可乐可以看做成简单的对象,套餐是我们要创建的对象,套餐包含的对象的种类是不断变化的,套餐的创建就适合使用建造者模式。有什么缺点? 1

2017-10-11 11:08:01 216

原创 设计模式(4)--责任链模式

什么是责任链模式? 责任链模式早代码重构中用的比较多,责任链模式就是一个请求,通过一个组装好的责任链来进行处理,责任链根据请求中的参数的不同选择不同的节点来处理问题。 达到请求和处理的解耦。责任链的使用场景? 责任链本身就是一个更灵活的if….else, 如果代码中有了多个条件判断的时候(多于三个),就可以考虑使用责任链来进行代码的重构,当然责任链也有很多其他的应用场景,如struts的过滤

2017-10-10 15:02:34 205

原创 设计模式(3)--代理模式

代理模式在工作中用的比较多,常见的AOP使用的底层实现就是一种动态代理。 在面试中经常考察设计模式,一般都会问你工作中常用哪几种设计模式,当你说了几种设计模式的时候,一般就会问你什么时候回用到这种设计模式?这个很关键,这个是考察你在工作中是否真正的用到过这种设计模式的一种方式。1,什么时候用代理模式? 代理模式,简言之,就是用一个代理类,代理当前类。 那为什么要这么做呢? 一般是因为一个类

2017-10-10 11:10:15 240

mysql-client-5.5.8-1.rhel5.x86_64.rpm等三个安装包

包含mysql三个rpm安装包:MySQL-client-5.5.55-1.rhel5.x86_64.rpm、MySQL-devel-5.5.16-1.rhel5.x86_64.rpm、MySQL-server-community-5.1.73-1.rhel5.x86_64.rpm 下载三个花了九个币

2018-01-12

MyEclipse SVN插件

svn myeclipse 插件

2016-05-16

spring mvc开发包

springmvc环境搭建需要的所有jar包

2016-05-16

Redis可用安装包

鼓捣了一上午redis终于找齐了资源,供大家下载,花了我十几分,上面还有资源要5分的。。这个资源保证可用,放心下载

2016-03-28

Redis安装包开发包合集

看不惯下载个能用的redis还要5分的人,过来下载,能用可用的redis资源。保证能用。windows下的。

2016-03-28

空空如也

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

TA关注的人

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