Archives: 11月 2010


ThreadLocal的理解与在Spring中的应用

一 引子

首先我们先来看一下Spring框架中是如何使用数据库模板的。

数据库表:

CREATE TABLE users
(
id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
name VARCHAR(32) NOT NULL,
passwor[......]<p class="read-more"><a href="http://neoremind.com/2010/11/threadlocal_learn/">继续阅读</a></p>

设计模式学习总结-装饰模式

一 定义

装饰模式是在不必改变原类文件和不使用继承的情况下,而是使用组合的方式动态扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。

二 装饰模式的特点
(1) 装饰对象和真实对象有相同的接口。这样客户端对象就可以以和真实对象相同的方式和装饰对象交互。

(2)[……]

继续阅读

抽象工厂方法与工厂方法模式的区别

对于java来说,你能见到的大部分抽象工厂模式都是这样的:它的里面是一堆工厂方法,每个工厂方法返回某种类型的对象。

比如说工厂可以生产鼠标和键盘。那么抽象工厂的实现类(它的某个具体子类)的对象都可以生产鼠标和键盘,但可能工厂A生产的是罗技的键盘和鼠标,工厂B是微软的。这样A和B就是工厂,对应于[……]

继续阅读

设计模式学习总结-工厂方法模式

从简单工厂方法模式到工厂方法模式

简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。

工厂方法模式定义

一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

代码[……]

继续阅读

Java中finally的辨析

一、finally一定会执行吗?
二、下面语句的执行结果是:

public class FinallyTest {
         public static void main(String[] args) {
                   System.out.printl[......]<p class="read-more"><a href="http://neoremind.com/2010/11/java_finally/">继续阅读</a></p>

关于构造函数在继承情况下的辨析

首先看一个例子:

class Person
{
private String name="";
private int age=0;
 
public Person()
{
   System.out.println("person无参数构造函数");
}
 
public Per[......]<p class="read-more"><a href="http://neoremind.com/2010/11/java_contructor_when_extends/">继续阅读</a></p>

这个Servlet是线程安全的吗?

情况:

言简意赅的描述下,程序框架是这样的 servelt -> service -> DAO -> Database

现在的问题就是不确定在多用户并发访问的情况下servlet是否是线程安全的?也就是说会不会出现用户得到的数据互相混乱的情况(这是相当糟糕的=_ =。。[……]

继续阅读