Java 中的异常

透过JVM看Exception本质
http://www.javaeye.com/topic/857722

Java Exception性能问题
http://www.blogjava.net/stone2083/archive/2010/07/09/325649.html

JAVA异常设计原则
http://www.javaeye.com/topic/857443

more ...

Linux分区的UUID

UUID的全称是Universally Unique Identifier,实际上是一些soft link文件,系统可以保证针对每一个分区生成一个唯一的编码,增加了系统的稳定性。

使用UUID和使用/dev/sda1这种直接引用分区名的一个优点就是,当硬盘中增加了新的分区,或者分区的顺序改变后,仍然能够保证系统加载分区到正确的加载点上。

获取UUID的方法

1、ls -l /dev/disk/by-uuid

这个命令可以显示所有分区的 UUID信息
实例:

lrwxrwxrwx. 1 root root 10 Jan 1 08:13 1618ab54-649a-403f-aead-8a4435d0110b -> ../../sda3
lrwxrwxrwx. 1 root root 10 Jan 1 08:13 610cbdbe-8267-49e5-a8ac-205fc8d7e171 -> ../../sda2
lrwxrwxrwx. 1 root root 10 ...
more ...

Java Map的测试

主要是为了选择快速的Map类库,系统自带的貌似很慢

测试代码

import java.util.Collections;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;
import java.util.Random;
import java.util.concurrent.ConcurrentHashMap;
import javolution.util.FastMap;
import org.junit.Test;
import com.alisoft.nano.bench.Nano;
public class MapBenchTest {
    private static int measurements = 100000 ...
more ...

看到有人说JAVA System.nanoTime()很慢

javaeye上看到wenshao说System.nanoTime()很慢,比new Object()和System.currentTimeMillis()都慢很多。

我也测试了一把,测试环境:
OS
fedora 14 64位
CPU
I3 530
JAVA 版本
java version “1.6.0_22″ Java(TM) SE Runtime Environment (build 1.6.0_22-b04) Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode)

代码:

public class TimeTest {
    public static ...
more ...


PostgreSQL 修改字段类型的一则问题

PostgreSQL 9下有个表中的字段需要修改类型,从smallint改为integer 执行SQL语句出错:

alter table player_street alter column people_cap type integer;
ERROR:  cannot alter type of a column used by a view or rule
DETAIL:  rule _RETURN on view player_street_v depends on column “people_cap”
********** Error **********
ERROR: cannot alter type of a column used by a view or rule
SQL ...
more ...

VirtualBox 安装故障处理

VirtualBox 安装出现错误:

sudo sh VirtualBox-3.2.10-66896-Linux_amd64.run
Verifying archive integrity… All good.
Uncompressing VirtualBox for Linux installation……….
VirtualBox Version 3.2.10 r66896 (2010-10-21T17:01:19Z) installer
Please install the build and header files for your current Linux kernel.
The current kernel version is 2.6.35.6-48.fc14 ...
more ...

fstab 数据错误,导致进入单用户维护模式

如果/etc/fstab中输入的数据有错误,会导致无法顺利启动,系统将进入单用户维护模式。 这时/是“ 只读”状态,无法修改/etc/fstab文件。

处理方法:
重新挂载/即可。

mount -n -o remount,rw /
more ...

fedora 14 编译安装PostgreSQL 9 和 pgadmin

1、安装编译需要的软件和库文件

sudo yum install gcc gcc-c++ automake readline-devel zlib-devel

2、添加postgres用户和postgres组

sudo useradd postgres # 自动建立 postgres 组

或者

sudo useradd -g postgres postgres

设置密码

sudo passwd postgres

3、从官方下载源代码 下载地址:http://www.postgresql.org/ftp/source/ 4、解压缩,开始编译安装

tar jvxf postgresql-9.0.1.tar.bz2
cd postgresql-9.0 ...
more ...

使用 yum-fastestmirror 给fedora更新、安装软件提速

yum-fastestmirror 是yum的插件,它会在fedora更新或安装软件时自动选择最快的软件源,安装很简单:

sudo yum install yum-fastestmirror

安装成功后,更新系统或者安装软件,会有相关提示,例如:

Loaded plugins: fastestmirror, langpacks, presto, refresh-packagekit
Adding en_US to language list
Loading mirror speeds from cached hostfile
* fedora: mirror.lupaworld.com
* rpmfusion-free: mirrors.163.com
* rpmfusion-free-updates: mirrors.163.com
* rpmfusion-nonfree: mirrors.163.com
* rpmfusion-nonfree-updates: mirrors.163.com

另外 ...

more ...