摘要: 在看深入理解java虚拟机时,作者在讲java语法糖的时候,举了例子比较java中==和equals的区别,代码如下 文中作者提到,包装类的“==”运算在不遇到算术运算的情况下不会自动拆箱。 对于为何 c==d 为true, 而e==f为false,原因是因为,在自动装箱时,因为原本Integer就 阅读全文
posted @ 2017-06-28 13:58 江湖小_虾 阅读(314) 评论(0) 推荐(0)
摘要: 命令模式,主要用来封装调用。让命令的发起者(client) 和命令的接收者(receiver)解耦。发起者只需要发起一个命令,并不需要去具体关心命令如何去执行,等等具体的细节。而命令接收者,只需要收到命令,然后去完成命令。 模拟一个客户去餐馆点一碗炸酱面的场景, 命令模式扩展性很强,服务员可以接收所 阅读全文
posted @ 2017-03-17 15:44 江湖小_虾 阅读(95) 评论(0) 推荐(0)
摘要: 确保一个类只有一个实例,并提供一个全局访问点。 那么怎样保证一个类只有一个实例呢? 就要保证这个类不能被实例化,否则随便在类的外面new对象就不能保证唯一性了。因此单例模式第一件要做的事情就是 构造方法私有化之后,就要提供一个只能存在一个的实例,返回这个单例对象 这样乍一看好像已经达到了一个单例的效 阅读全文
posted @ 2017-03-16 11:06 江湖小_虾 阅读(116) 评论(0) 推荐(0)
摘要: java中的所有异常都是ThrowAble的子类。ThrowAble又分为: error Exception error这里暂时先不做研究,Exception又分为: 运行时异常(Runtime) 编译时异常 用代码来体现下两种异常的区别 下面为代码抛出运行时异常,方法在编译时没有任何问题 如果在代 阅读全文
posted @ 2017-03-14 22:20 江湖小_虾 阅读(103) 评论(0) 推荐(0)
摘要: 对于装饰者模式,很好的体现了设计原则的封闭开放性原则,当需要对新需求进行实现的时候,不需要对于现在的代码进行更改,就可以达到需求。 装饰者顾名思义,就是对于原有的对象进行一系列的修饰。 以java.io库中的一个小例子理解: 这里用LowerCaseInputStream这个自定义类,对于io库中的 阅读全文
posted @ 2017-03-14 17:02 江湖小_虾 阅读(103) 评论(0) 推荐(0)
摘要: 从一个鸭子类切入。一个鸭子对象可以拥有下列行为 叫 飞 外形 游泳 一系列的行为,如果只是单纯的创建一个父类,父类中实现上述的四个方法,让所有的子类鸭去实现,当需要改变需求的时候,对于代码的改动就比较大(不是所有的鸭子都会飞,都会叫等等),复用性比较差。 这里涉及到了几个设计原则 找出应用中可能变化 阅读全文
posted @ 2017-03-14 15:09 江湖小_虾 阅读(206) 评论(0) 推荐(0)
摘要: 观察者模式分为两块 消息中心 订阅者 大体模式为,订阅者在消息中心订阅自己喜欢的主题。当订阅的主题发生变化时,消息中心会推送相应的更新消息到订阅者手中。这里消息中心中可以有很多主题。这边只拿一个主题来举例。 主题接口中,提供方法供给订阅者订阅主题,和取消订阅主题、以及一个通知所有订阅者的通知方法 而 阅读全文
posted @ 2017-03-14 13:41 江湖小_虾 阅读(119) 评论(0) 推荐(0)