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

Saturday, April 14, 2007

设置为固定IP地址导致Tomcat不能启动

系统环境:Fedora Core 6 (2.6.20-1.2933.fc6)
更改原因:由于通过路由器上网,系统默认是通过DHCP自动设置IP,但是在上网时DNS经常被重定向到www.baidu.com,导致不能正常浏览一些网页,因此需要把IP设置成固定IP,将DNS设置成固定DNS。
更改后:
通过在管理---网络界面中更改后,重启系统(或运行命令/etc/rc.d/init.d/network restart)使更改生效,在启动系统过程中,发现系统启动变慢,尤其是启动sendmail服务和sm-client服务时启动时间很长,并且启动系统后,用http://localhost:8080访问Tomcat服务器,提示不能找到http://www.localhost.com
解决方法:
更改/etc/hosts文件如下:
127.0.0.1 localhost.localdomain localhost
192.168.0.8 localhost.localhost.com localhost
localhost.localdomain与/etc/sysconfig/network中的HOSTNAME对应名称一样。

问题解决。

Wednesday, April 04, 2007

Linux下安装MySql

系统环境:Fedora Core 6 (2.6.20-1.2933.fc6)
软件要求:Mysql 5.0.37
Mysql下载地址:
http://mysql.isu.edu.tw/Downloads/MySQL-5.0/mysql-5.0.37-linux-i686-glibc23.tar.gz
此下载包为二进制版本的。
//更改下载的包的权限以进行解压,并将解压后的目录重命名复制到/usr/local/mysql
chmod 755 mysql-5.0.37-linux-i686-glibc23.tar.gz
tar xfz mysql-5.0.37-linux-i686-glibc23.tar.gz
cp -r mysql-5.0.37-linux-i686-glibc23 /usr/local/mysql

//建立mysql组及添加mysql用户到此组中
groupadd mysql
useradd mysql -g mysql

//设置mysql配置文件
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

cd /usr/local/mysql
//初始化表并规定访问用户
./scripts/mysql_install_db --user=mysql

//设定mysql用户能够访问Mysql的数据库文件
chown -R mysql data

//运行Mysql
bin/mysqld_safe --user=mysql &

//修改root密码
bin/mysqladmin -u root password 新密码

//复制编译目录的一个脚本
cp support-files/mysql.server /etc/rc.d/init.d/mysqld

//设置使mysql每次启动都能自动运行
# chmod 700 /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on

//启动Mysql的命令为
service mysqld start

//简单访问Mysql的命令为
mysql -u root -p

在命令行下使用Mysql命令要在/usr/bin/下建立一个链接
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

Google推出中文输入法

Google今天正式推出了中文输入法,想体验一下的可以访问下面的网址:
http://tools.google.com/pinyin/
文件大小10.1M.

Thursday, March 29, 2007

BMW




我的Linux安装及配置过程

硬件环境:
CPU:AMD 3600+
内存:1G
显卡:7600GS
软件版本:
Fedora 6
下面是一些安装过程中碰到的问题及安装完后进行的一些简单配置:
1,安装过程中提示:
MP-BIOS bug:8254 timer not connected to IO-APIC
...
解决方法:在boot>提示符后键入
linux noapic
成功安装。
2,进入linux的KDE环境,以非root用户登录。
3,打开Firefox,下载Firefox2.0.3,解压到/opt/目录下, 我的Firefox安装目录是/opt/firefox
4,运行 firefox如下
cd /opt/firefox
./firefox
提示错误缺少 libstdc++.so.5
yum安装
yum install libstdc++.so.5
5,配置sudo,切换到root身份.
emacs /etc/ sudoers
找到 #Same thing without a password
很简单,依照示例加入以下一行,假设登录用户名为testuser
testuser ALL=(ALL) ALL
这样,以后输入sudo 后面直接加命令就可以了,不用每次都要输入密码。
6,安装ntfs-3g,以挂载windows分区。我在windows机器上保存了一些下载的文件软件等资料。
yum install ntfs-3g
7,安装java开发环境
从java.sun.com下载 jdk-6-linux-i586.bin,放到/opt目录下,直接解压
./jdk-6-linux-i586.bin
sudo kwrite ~/.bash_profile
添加JAVA_HOME=/opt/jdk1.6.0
PATH后面添加:$JAVA_HOME/bin
export行PATH前添加JAVA_HOME
让/usr/bin/下的添加java,javac
cd /usr/bin
sudo rm java
sudo ln -s /opt/jdk1.6.0/bin/java java
sudo ln -s /opt/jdk1.6.0/bin/javac javac
更改字体设置以让java swing界面支持中文(在2.6.20-1.2933.fc6内核下不需要进行以下设置便能支持中文)
打开/opt/jdk1.6.0/jre/lib/fontconfig.redhat.properties文件会发现在文件末尾处引用目录
/usr/share/fonts/zh_CN/TrueType下的字体,在/usr/share/fonts目录下建立zh_CN目录,并且拷贝些中文字体并进行重命名即可。

8,安装netbeans开发工具
http://www.netbeans.info/downloads/index.php
下载中文版或英文版的均可,如果要想使用英文版的界面,在netbeans启动参数中添加
-locale en

FC6中Firefox播放flash没有声音的问题

如果用Firefox播放flash没有声音,可以用以下方法解决:
1、安装alsa-oss.
$:sudo apt-get install alsa-oss
2、编辑/etc/firefox/firefoxrc文件(如果没有这个文件就创建一个),添加以下一句
FIREFOX_DSP="aoss"
3、重启Firefox.