- 博客(13)
- 资源 (42)
- 收藏
- 关注
原创 第21条:用函数对象表示策略
函数对象:调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象。有些语言支持函数指针(function pointer)、代理(delegate)、lambda表达式(lambda expression),或者支持类似的机制,允许程序把“调用特殊函数的能力”存储起来并传递这种能力。Java没有提供函数指针,但是可以用对象引用实现
2012-03-28 22:17:24 3282
原创 第20条:类层次优于标签类
有时候,可能会遇到带有两个甚至更多风格的实例的类,并包含表示实例风格的标签(tag)域。Demo:// Tagged class - vastly inferior to a class hierarchy!class Figure { enum Shape { RECTANGLE, CIRCLE }; // Tag field - the shape of thi
2012-03-26 23:00:59 2364 3
原创 第19条:接口只用于定义类型
当类实现接口时,接口就充当可以引用这个类的实例的类型(type)。因此类实现了接口,就表明客户端可以对这个类的实例实施某些动作。为了其他目的而使用接口是不恰当的。常量接口(constant interface),使用这些常量的类实现这个接口,以避免用类名来修改常量名。常量接口模式是对接口的不良使用。如果这些常量最好被看作枚举类型的成员,使用枚举类型。否则,应该使用不可实例化
2012-03-25 22:00:09 1239
原创 第18条:接口优于抽象类
Java语言设计提供了两种机制,可以用来定义允许多个实现的类型:接口和抽象类。因为Java只允许单继承,所以抽象类作为类型定义受到了极大的限制。现有的类可以很容易被更新,以实现新的接口。一般来说,无法更新现有的类来扩展新的抽象类。如果你希望两个类来扩展一个抽象类,就必须把抽象类放到类型层次的高处,以便这两个类的一个祖先成为他的子类。这样会间接的伤害到类的层次,迫使这个公共祖先的
2012-03-25 21:38:44 1170 1
转载 关于java乱码的一些总结
Java乱码是因为Java和JSP源文件的保存方式是基于字节流的,如果Java和JSP编译成class文件过程中,使用的编码方式与源文件的编码不一致,就会出现乱码。在这里,总结一下java乱码的一些常见情况 1.Javascript传参乱码:在浏览器端对要传递的中文参数进行编码处理.代码如下: xmlhttp.open("POST",url,true); //请求参数初始化 x
2012-03-22 18:26:41 751
原创 第17条:要么为继承设计,并提供文档说明,要么就禁止继承
首先,该类的文档必须精确地描述覆盖每个方法所带来的影响。换句话说,该类必须有文档说明他可覆盖(overridable)的方法的自用型(self-use)。对于每个共有的或受保护的方法或构造器,他的文档必须指明该方法或者构造器调用了哪些可覆盖的方法,是以什么顺序调用的,每个调用的结果又是如何影响后续的处理过程的。更一般的,类必须在文档中说明,在哪些情况下会调用可覆盖的方法。(例如:后台的线程或者
2012-03-21 22:45:30 977
原创 第16条:复合优先于继承
这里的继承是实现继承而非接口继承。与方法调用不同的是,继承打破了封装性:换句话说,子类依赖于其超类中特定功能的实现细节。超类的实现有可能会随着发型版本的不同而发生改变,如果真的发生了变化,子类可能会遭到破坏,即使他的代码完全没有改变。因此,子类必须跟着超类的更新而改变,除非超类是专门为扩展而设计的,并用具有很好的文档说明。只有当子类真正是超类的子类型(subtype)时,才适合用继承,
2012-03-21 21:36:16 1162
原创 Spring技术内幕2Spring Framework的核心:IoC容器的实现
1SpringIoC容器概述IoC容器和依赖反转模式:早在2004年,Martin Fowler就提出了“哪些方面的控制被反转了?”这个问题。他总结出是依赖对象的获得被反转了。基于这个结论,他为控制反转创造了一个更好的名字:依赖注入。许多非凡的应用(比HelloWorld.java更加优美,更加复杂)都是由两个或是更多的类通过彼此的合作来实现业务逻辑,这使得每个对象都需要,与其合作的对
2012-03-19 22:30:54 4561
转载 Template Method Pattern
一、 模板方法(Template Method)模式准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模版方法模式的用意。很多人可能没有想到,模版方法模式实际上是所有模式中最为常见的几个模式之一,而且很多人可能使用过模版方法模式而没有意识到自己已
2012-03-12 22:34:58 899
原创 Spring技术内幕1 Spring的设计理念和整理架构
1Spring的各个子项目Spring Framework(Core):The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment pl
2012-03-10 16:58:51 1634
转载 hibernate.bytecode.use_reflection_optimizer
Enables the use of bytecode manipulation instead of runtime reflection. This is a System-level property and cannot be set in hibernate.cfg.xml. Reflection can sometimes be useful when troubleshootin
2012-03-06 13:00:37 3576
原创 Spring高级程序设计 17 基于Spring MVC的Web应用开发
1MVC架构MVC是模型(model)、视图(view)、控制器(controller)。有些应用需要处理用户请求并操纵和显示数据,MVC模式可以简化其实现。该模式由3个组件构成:1、模型表示用户希望看到的数据。通常情况下,模型由JavaBean构成。2、视图负责显示模型。文件编辑器中的视图组件会以恰当的格式显示一段文本,视图在Web应用中会生成客户端浏览器可以解释
2012-03-05 21:21:29 4324 1
转载 ThreadLocal 解决SimpleDateFormat非线程安全
大致意思:Tim Cull碰到一个SimpleDateFormat带来的严重的性能问题,该问题主要有SimpleDateFormat引发,创建一个 SimpleDateFormat实例的开销比较昂贵,解析字符串时间时频繁创建生命周期短暂的实例导致性能低下。即使将 SimpleDateFormat定义为静态类变量,貌似能解决这个问题,但是SimpleDateFormat是非线程安全的,同样存在问题,
2012-03-01 14:59:13 5184 1
p4jsecurity p4jmvc
2013-04-04
spring cache demo
2013-03-02
中国城市数据 示例
2013-02-05
中国城市数据
2013-02-05
p4jorm 1.6编译版本
2013-02-01
p4jorm 源码 文档 示例
2013-02-01
jbpm显示执行位置demo
2013-01-20
jbpm4 helloworld
2013-01-15
《partner4java 讲述Spring入门》之第一步:Spring概述与Spring IoC
2012-11-17
对JUnit的一点简单讲解包括一点简单的Android JUnit的讲解
2010-07-14
jbpm3.chm 作者Tom Baeyens 翻译dinghong JBoss jBPM 3.0
2009-09-21
JavaWEB开发-简单标签 ppt
2009-09-21
Java Web基础 Tomcat
2009-09-21
深入浅出Hibernate_夏昕.PDF
2009-09-21
JS中常用的xpath特性
2009-09-21
jQuery JavaScript Library v1.3.2
2009-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人