Monday, May 28, 2007

谈谈Singleton

Singleton类只能被实例化一次,常被用来代表具有惟一性的系统组件。

下面是两种实现singleton的方法:
一、
public class Singleton_1{
public static final Singleton_1 INSTANCE = new Singleton_1();

private Singleton_1(){
...
}
}
将组成类的成员声明为静态final的,它总是包含相同的对象引用。
二、
public class Singleton_2{
private static final Singleton_2 INSTANCE = new Singleton_2();

private Singleton_2(){
...
}

public static Singleton_2 getInstance(){
return INSTANCE;
}
}
相对于第一种方法来说更灵活。

当序列化一个singleton类时,除了implements Serializable外,还要提供一个readResolve方法,否则在每次反序列化的时候,都会导致创建一个新的实例。
private Object readResolve() throws ObjectStreamException{
return INSTANCE;
}

Saturday, May 26, 2007

联想预装Linux笔记本电脑赢得13万大单

  圣地牙哥联合学区与教育方案提供商Arey Jones、PC制造商联想达成了一项协议。它将采购联想生产的,装有Novell公司SUSE Linux Enterprise Desktop 10操作系统的笔记本电脑。

  此协议是联想和Novell公司在Linux领域的一个重大胜利。该领域的竞争最近变得非常激烈,很多一线厂商都加入了战斗,Dell公司已经在笔记本中预装Ubuntu操作系统,而惠普公司也曾在年初宣布公司准备大量预装Linux操作系统,满足客户需求。

  圣地亚哥联合学区教育技术计划经理Dan Wolfson说“我们采用SLED10作为

  操作系统的原因就是我们希望为学龄儿童提供一个方便管理,并且有稳定售后服务支持的操作系统。目前,我们与联想公司保持直接联系,系统组装商我们选择了Arey Jones公司。两公司都参与了我们第一阶段的计划。”

  圣地亚哥教育区有一项“永远主动学习”计划,为学生提供

  笔记本电脑和软件,让学生掌握必备的技能,为将来做好准备。该区有13万学生,是加利福尼亚州第二大教育区。

  去年,联想就开始在某些型号的Thinkpad上预装SLED10操作系统。不过它一再强调仍与微软公司保持着良好的合作关系,并继续在机器中使用微软的软件。

  现在学龄儿童市场已经成为Linux系统支持者的福地。去年印地安那教育部门就说他们准备为22万名学龄儿童提供预装Linux的电脑。

来自:linux.chinaunix.net