编程思想
文章平均质量分 71
李荣强
qunar 工程师
展开
-
面向对象的分析与设计OOAD
Java是一个面向对象的语言,因此我们学习Java时就必须要有面向对象的思想,面向对象的思想在理论上是这么说的:三大特性:继承性,封装性,多态性;我的理解是,在日常生活中我们碰到问题,比如说我们要去找工作,我们想到了可以51job网找,其实这也是一种面向对象,因为对于找工作而言,51job里面有很多有用的信息和途径,我们没有必要自己去一个个的问,只要点点鼠标;因为主要的消息和途径已经被原创 2015-12-24 10:26:16 · 491 阅读 · 0 评论 -
java进阶必备
<a rel="nofollow" href="http://www.trinea.cn/android/android-open-source-projects-view/">http://www.trinea.cn/android/android-open-source-projects-view/http://coolshell.cn/articles/6043.html<a原创 2015-12-24 10:29:33 · 476 阅读 · 0 评论 -
如何提升自己
<div align="left" style="word-wrap: break-word; color: rgb(68, 68, 68); font-family: Tahoma, 'Microsoft Yahei', Simsun; font-size: 14px; line-height: 28px;"><font face="微软雅黑" style="word-wrap: brea原创 2015-12-24 10:29:38 · 289 阅读 · 0 评论 -
技术心得体会
ESAfinal记得好好使用HSQL数据库postgreSQL:创建异常也通过异常工厂来,牛.这个思想可以借鉴.缓存和数据库的同步问题.LRU:least recently used最近最少使用算法.观察者模式.敏捷开发:可以让汽车一边跑,一边换轮子.能适应客户的需求变更.享元设计模式:对象池,数据库连接池.线程池等技术算不算是享元设计模式.技术问题:在作为数原创 2015-12-24 10:29:43 · 719 阅读 · 0 评论 -
设计模式学习系列笔记(builder&nbs…
设计模式学习系列笔记之builder模式.构建者模式解决的我们在构建某个对象或者说业务场景的时候,流程都是固定的,只是具体的实现方式有变化.就拿我们培训应届生这件事情来说.培训应届生分为以下几个部分1 应届生写日报 studyNewKnowledge() getSomeProblems()2 导师对日报进行点评 indicateTheProblems()原创 2015-12-24 16:21:09 · 329 阅读 · 0 评论 -
设计模式学习笔记之 ( B…
设计模式学习笔记之桥接模式(Java Design Patterns Bridge) 桥接模式用于抽象出流程和具体的实现,流程固定,具体实现随便添加随便变.而不用管具体怎么实现怎么整. 桥接模式是用于分离开抽象和实现的依赖关系. 但是这个东西感觉太抽象了,目前还是没有怎么理解他,只是大概知道怎么回事了. 其实就是一个中间类,帮助我们获取到对应功能的实现者的抽象,但是具体的实现类原创 2015-12-24 16:21:14 · 294 阅读 · 0 评论 -
学习设计模式的感悟-2015-11-30
今天有空看了下其他人写的几个设计模式相关的东西,感觉都太宽泛,只是为了举例子而举例子,我觉得还是通过实际的问题去剖析,碰到某个具体的case,然后想想看有没有好的解决方案,等下我把我写的另外一篇关于状态设计模式和解决ifelse很多判断的去除掉.现在先说说看我自己目前对于设计模式的理解吧.很多设计模式我都会去找个源码,或者jdk,或者很多框架中的case去说明,说说,因为这是非常明显的....原创 2015-12-24 16:21:16 · 448 阅读 · 0 评论 -
设计模式学习笔记之(状态设计模式)…
今天这个模式之前先说说看需求吧.我们在处理业务逻辑过程中经常会碰到这么一个问题,就是很多业务上需要判断, if else非常多的嵌套.针对不同的条件需要做不同的处理,然后今天给培训的学员说的时候,突然之间就写了个.就拿订单处理这个问题来说吧. 业务定义,订单支付状态有四种: 未支付,支付中,支付完成,支付错误.针对不同的状态我们的业务处理也是不一样的,通常情况下我们都是写各种if else每原创 2015-12-24 16:21:19 · 306 阅读 · 0 评论 -
答疑学员关于垃圾回收线程安全问题…
对了。。。突然灵感来了。。。估计今天说那个单利问题生命周期没说的很明白00:25:16静态成员变量的生命周期跟类的字节码生命周期一样。。。00:27:39如果要回收静态的成员变量的对象,也就意味着要把当前类的字节码文件对象给卸载回收,而回收类的字节码文件对象的条件是没人去使用这个类,并且加载这个类的类加载器也背回收,因此根本就不需要中获取的时候去创建对象,想想看,都有人使用当前工具类了,原创 2015-12-24 16:21:21 · 450 阅读 · 0 评论 -
MVC框架的本质
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">在讲struts2之前,我觉得我有必要讲讲框架是什么东西,框架的本质是什么,或者说我们为什么要使用struts2等框架;struts2原创 2015-12-24 10:29:18 · 1281 阅读 · 0 评论 -
Spring给我的启发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">if (rs != null) { try { rs.close(); } catch(SQLE原创 2015-12-24 10:28:58 · 334 阅读 · 0 评论 -
黑马程序员---用阻塞队列实现三个…
--------<a target="_blank" rel="nofollow" href="http://www.itheima.com/"><font color="#963C3C">android培训<a target="_blank" rel="nofollow"href="http://www.itheima.com/"><font color="#963C3C">java培训原创 2015-12-24 10:26:45 · 220 阅读 · 0 评论 -
关于不变模式和String,StringBuff…
Java中有这么一个概念即ImmutableType,即不变类型。即某个类不能的状态一旦生成后就不能被改变,对应的设计模式称之为不变模式;不变模式的实现思路是:1 将所有的成员变量私有化,在内部进行初始化,并将该成员变量用final修饰,以防止外界用反射机制改变;2不提供任何写方法,读方法中不能让外界获取成员的引用,而是一个成员的拷贝(如果获取到了当前对象的实例变量的引用,比如User类原创 2015-12-24 10:27:44 · 883 阅读 · 0 评论 -
装饰设计模式---自定义数据源
装饰设计模是对一个已存在的类进行增强,他的实现思路是:1明确被装饰类的继承体系,我们写的装饰类和被装饰类同在一个体系,即同一个级别;2定义一个被装饰类的一个成员变量,以构造函数的形式对他进行初始化操作;3明确哪些是我们要对被装饰类进行增强或者改写的功能;对无需增强的功能,直接调用被传进来的被装饰对象,调用原来的方法对于要改下的功能进行自定义即可;4如果需要返回一个装饰类,最好以父原创 2015-12-24 10:27:59 · 488 阅读 · 0 评论 -
动态代理模式--自定义数据源的终极…
动态代理模式;实现方式有两种:反射包中的Proxy类,被代理的类必须实现接口, CGLIB第三方类库;今天我们要讨论的是用Proxy类实现动态代理,首先我们队Proxy类做一个入门:Class subHandler =Proxy.getProxyClass(Map.class.getClassLoader(), Map.class);这段代码的意思是,告诉虚拟机你帮我动态的生成原创 2015-12-24 10:28:02 · 494 阅读 · 0 评论 -
设计模式--单例设计模式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">首先单例设计模式是为了保证我们应用程序中某个类的实例在内存中只存在一份,应用场景;1有些是出于内存消耗的考虑,比如类中数据量比较大的原创 2015-12-24 10:28:38 · 273 阅读 · 0 评论 -
设计模式--工厂设计模式(一)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">工厂设计模式:就是当我们需要批量创建多种类型的对象时;需要用到,主要分为三种形式;1静态工厂,也叫简单工厂模式,就是你传一个类型我创原创 2015-12-24 10:28:40 · 285 阅读 · 0 评论 -
设计模式--工厂设计模式(二)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">工厂方法设计模式:在适应工厂模式的情况下,如果你的对象类型有多种,并且创建方式有所不同,可以定义一个抽象工厂,针对每种不同的产品创建对原创 2015-12-24 10:28:43 · 238 阅读 · 0 评论 -
设计模式--工厂模式(三)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">package com.lrq.factory;public abstract class AbstractFactory {原创 2015-12-24 10:28:45 · 222 阅读 · 0 评论 -
设计模式学习笔记之(桥接模式brid…
首先桥接模式解决的是抽象和具体实现相分离的问题。想象下这种常见的场景车在路上跑,这是一个行为,但是具体是什么车之什么路上跑就跟具体的使用场景相关联了。比如说可能是宝马车之高速公路上跑,也有可能是公交车在大街上跑,或者是你骑摩托在乡间的小路中跑,这是不一定的,但是车在路上跑这个行为是固定的,具体是是什么这个不固定,跟实际场景相关联,我们需要有一种比较灵活的方式去处理这个问题。把这个问题抽象成一个原创 2015-12-24 16:21:29 · 399 阅读 · 0 评论