2008年11月19日星期三

NetBeans 6.5 出来了!

Download NetBeans!
尽管这一版 6.5 一直在“鼓吹”给 PHP 的朋友听,
但是NetBeans team 还是没有忘本,有关JAVA IDE 的特征也不少:
NetBeans IDE 6.5 Release Client - New and Noteworthy
6.5 Release Information


下面这些是我个人比较喜欢的:
  • Automatic Compile on Save
  • Improved Eclipse project import and synchronization
  • Java Call Hierarchy
  • Analyze Javadoc
  • CamelCase code completion
  • Customize formatting settings per project
  • Enhanced support for Spring, Hibernate
  • New multi-threaded debugging with improved UI and work-flow

Have fun!

2008年11月16日星期日

JAVA 1.6.0_10 -Xmx

依次执行如下命令

C:\Documents and Settings\pprun>ver

Microsoft Windows XP [版本 5.1.2600]

C:\Documents and Settings\pprun>java -version
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)


C:\Documents and Settings\pprun>java -Xmx2048m -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

2 G 内存,很新鲜吗?
我刚加了一条,才百多块。
然而,直到我试到 1446 这个可爱的幸运数字时,才成功:
C:\Documents and Settings\pprun>java -Xmx1447m -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

C:\Documents and Settings\pprun>java -Xmx1446m -version
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode)


我立即切换到 Ubunut8.04,进行了一下测试:

pprun@pprun-t61:~$ uname -r
2.6.24-21-generic
pprun@pprun-t61:~$ sudo lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 8.04.1
Release: 8.04
Codename: hardy

pprun@pprun-t61:~$ java -Xmx3072m -version
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Server VM (build 11.0-b15, mixed mode)

pprun@pprun-t61:~$ java -Xmx3722m -version
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Server VM (build 11.0-b15, mixed mode)

pprun@pprun-t61:~$ java -Xmx3723m -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

是不是 JAVA 也赞成 Windows XP 黑屏?
竟然不能够分配超过 1446m (1.446g) 内存堆!

2008年9月17日星期三

雷曼兄弟破产

病根在贪得无厌的利益最大化的追求

因为大家迷失了方向和目的,只顾追求最大的利益,而丧失了价值评判的标准。当一切的一切都以利益为标准的时候,灭亡和灾难就很难完全地避免了。

2008年9月15日星期一

人类染色体 (转)

染色体序号

碱基对数目(亿)

基因数目(包括假基因)

特点

1

2.23

3141(991假基因)

第一大染色体

2

2.37

1574

第二大染色体,含有能编码人体最大蛋白基因:由3.3万多个AA组成的激酶

3

1.99

1600

第三大染色体,在单个染色体水平发现的蛋白质编码基因最多,其中包括许多重要的chemokine受体基因簇,复合人类癌症基因,比如FHIT

4

1.86

2585

可能包含与亨廷顿氏病、多囊肾、肌肉萎缩症、沃夫─贺许宏氏症(一种因4号染色体短臂缺失导致的先天智障)等罕见疾病相关的基因

5

1.78

923

包含了许多染色体内部副本,是基因密度最低点的染色体之一

6

1.66

2190

包含了导致遗传性血色素沉着病、帕金森氏症、癫痫等疾病的基因。这一染色体上基因的异常也是造成精神分裂症、癌症和心脏病等多种遗传性疾病的原因。也包含了一些MHC。

7

1.58

1455

第一个等臂染色体,其测序成功有助于研究治疗囊性纤维化、孤独症、耳聋、抽动——秽语综合征、视网膜色素变性、肾母细胞瘤、白血病和淋巴瘤等多种癌症以及其他疾病。

8

1.46

1887

含有大脑和免疫功能的遗传基因,极有可能与人类进化密切相关

9

1.09

1575

95个基因与疾病有关,其中之一可抑制肿瘤形成

10

1.32

1246

85个基因与疾病有关。这些基因的突变可能引发乳腺癌、前列腺癌和脑癌等。还有一些基因与复杂的代谢疾病和精神疾病有关,例如I型糖尿病、精神分裂症和阿耳茨海默氏症等。

11

1.35

2289

人类856个嗅觉受体基因中40%以上是定位在这个染色体上,还有86个未知分子机制的相关基因,包括几个mendelian traits、癌症和易感基因位点。

12

1.31

1400

有一个目前在人类基因组上发现的最大的连锁不平衡,还有若干在特定类型的癌症、运动失调症、以及还可能包括“阿尔茨海默氏症”在内的疾病中发生突变的基因。

13

0.96

929

染色体密度小(6.5gene./Mb),包括与乳腺癌相关的BRCA2基因,和与眼癌、精神分裂症有关的基因。

14

0.87

1050

有大约60多个与遗传疾病密切相关的基因,其中包括一个此前已被发现与阿尔茨海默症有联系的基因。还有另2个对于人体免疫系统具有重要意义基因以及一些与其它病症有关的基因

15

0.82

945

是目前已知的7个大片段扩增的人类染色体之一,这一染色体复制的不寻常之处就在于这种片段扩增集中在两个相隔甚远的区域——15号染色体长臂近端和远端,而不是沿染色体分布,其中远端区域包含了可引起Prader-Willi 和 Angelman综合症的基因缺失。而且大部分染色体之间的复制都有一个共同的祖先。

16

0.79 (78,884,754)

880

是DNA修复基因所在之处。对16号染色体分析的结果还会对重金属的解毒和运输有重要意义

17

0.79 (78,839,971)

1540

很特殊的染色体,包括多种与疾病有关的基因例如确定出的第一个乳腺癌基因BRCA1、神经纤维瘤基因NF1、与修复DNA损伤有关的 TP53基因、SMS(Smith-Magenis综合症)和CMT1A

18



只有三种染色体异常(形成三倍体)的人可以长大,这在其中包含了18号染色体。另外还有许多遗传疾病是由于18号染色体的三倍体或非整倍而造成的。尽管基因密度低,但它所有哺乳动物进化上保守的非编码蛋白区域所占比例与整个基因组范围的平均值相接近。

19

0.56

1782

包括与遗传性高胆固醇和抗胰岛素糖尿病相关的基因,人体遭到辐射或其他环境污染,控制DNA修复的基因也在该染色体上

20

0.59

727

是被“破译”的第一对具有典型长短臂结构的人类染色体,为糖尿病、肥胖症、小儿湿疹等疾病的治疗找到了新方法。该染色体上还有一个基因能增加部分人群因疯牛病感染新型克雅氏症的危险,这将增进人们对该疾病的了解。

21

0.34

284

最短的染色体,发现许多与疾病相关的基因均分布在这一染色体上,特别是先天愚型、早老性痴呆、癫痫等一些神经系统的疾病。

22

0.33

679

与先天性心脏病、免疫功能低下、精神分裂症、智力低下、出生缺陷以及许多恶性肿瘤如白血病等有关

X

1.50

1098

X染色体上一旦出现某个基因,就不会在进化中再失去它。同时X染色体与遗传性疾病高度相关,还有许多与智力缺陷有关的基因以及人类基因组中称为DMD的最大基因

Y

0.23

78

这个一向被认为很脆弱的性染色体内部存在一些“回文结构”,可能有着基因修复作用,使它在一定程度上能够自我修复有害的基因变异。这一成果增进了人们对男性不育症的了解,有助于研究更好的诊断和治疗方法。它还将重新激起有关性别的进化历程的争论。

2008年8月29日星期五

关于 hjpetstore 的源码

承蒙大家对 hjpetstore 的喜爱,最近有不少同学请求该工程的源码。
为了方便大家获得,我把流程说一下:
1. 点击本博客右边的导航栏上 -> 我的开源工程 | hjpetstore
2. 如果你还没有注册 java.net 的成员,请加入! (这里可是 Java 宝库)
3. 回到 hjpetstore 工程首页,在左边的导航栏上点击 CVS
4. 里头就是关于怎么 checkout 的指令
5. 如果你用的是 Netbeans 作为开发环境, checkout 出来后更方便些,调整 server 设置和 lib 的路径后,就可以编译了。


另外,感兴趣的同学,可以申请成为项目的成员(各类成员都欢迎),我们的目标是更好的工作!
我由于任务繁重,现在没有太多时间来更新它,比如 Hibernate 和 Spring 新的版本的新特征!
另外有外国的朋友曾请求我把系列文章翻译成英文,但我哪有那个空 :)

祝大家工作愉快!

Pprun

2008年7月21日星期一

Ubuntu 8.04 语言环境和字符编码

一. Ubuntu默认的中文字符编码
在/etc/environment中看到:
$sudo gedit /etc/environment
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"


二. 添加中文字符编码的方法
1. 直接使用locale-gen命令:
$ sudo locale-gen zh_CN.GB18030
$ cd /usr/lib/locale/
可以看到生成了一个zh_CN.gb18030文件夹
$ gedit /var/lib/locales/supported.d/local
文件中多了一行:zh_CN.GB18030 GB18030

2. 通过修改/var/lib/locales/supported.d/local文件
$ sudo gedit /var/lib/locales/supported.d/local
zh_CN.UTF-8 UTF-8
en_US.UTF-8 UTF-8

增加一行:
zh_CN.GBK GBK
后保存后退出。

$ sudo dpkg-reconfigure locales

Generating locales...
...
en_US.UTF-8... done
en_ZA.UTF-8... done
en_ZW.UTF-8... done
zh_CN.GBK... done
zh_CN.UTF-8... up-to-date
...
Generation complete.

即可生成相应文件:/usr/lib/locale/zh_CN.gbk/

2008年7月12日星期六

复制粘贴功能无法使用

已经好长时间没有使用 M$ Windows 了,前两天由于用到一个银行的网上转帐,只有Windows版本的软件,所以又启动了它。
发现好多东西都不是那么顺眼了,装了一个最新的 FireFox 3.0,突然发现 ctrl-c, ctrl-v 不能用了,我试试很多次,以为是这个3.0有问题,卸载重新FireFox2.x,还是这样,试试其他应用程序,都一样。怎么办呢?
到网上找了找,原来我刚进来就又中毒了。

解决办法:

重新注册以下DLL文件
regsvr32 Shdocvw.dll
regsvr32 Shell32.dll (注意这个命令,先不用输)
regsvr32 Oleaut32.dll
regsvr32 Actxprxy.dll
regsvr32 Mshtml.dll
regsvr32 Urlmon.dll
第二个命令可以先不用输,输完这些命令后重新启动windows,如果发现无效,再重新输入一遍,这次输入第二个命令。

现在好了,但是希望我以后还是少用 Windows, 因为它总是浪费我的宝贵时间!

2008年6月1日星期日

列出 JVM/JRE 当前的所有系统属性

使用一行代码即可得知:


public static void main(String[] args) {
System.getProperties().list(System.out);
}


以下是我的输出:


-- listing properties --
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=/usr/lib/jvm/java-6-sun-1.6.0.06/jre/...
java.vm.version=10.0-b22
java.vm.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.com/
path.separator=:
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg=sun.io
user.country=CN
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=unknown
java.vm.specification.name=Java Virtual Machine Specification
user.dir=/home/****/code/NetBeansProjects/Main
java.runtime.version=1.6.0_06-b02
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
java.endorsed.dirs=/usr/lib/jvm/java-6-sun-1.6.0.06/jre/...
os.arch=amd64
java.io.tmpdir=/tmp
line.separator=

java.vm.specification.vendor=Sun Microsystems Inc.
os.name=Linux
sun.jnu.encoding=UTF-8
java.library.path=/usr/lib/jvm/java-6-sun-1.6.0.06/jre/...
java.specification.name=Java Platform API Specification
java.class.version=50.0
sun.management.compiler=HotSpot 64-Bit Server Compiler
os.version=2.6.24-17-generic
user.home=/home/****
user.timezone=
java.awt.printerjob=sun.print.PSPrinterJob
file.encoding=UTF-8
java.specification.version=1.6
user.name=****
java.class.path=/home/****/code/NetBeansProjects/Mai...
java.vm.specification.version=1.0
sun.arch.data.model=64
java.home=/usr/lib/jvm/java-6-sun-1.6.0.06/jre
java.specification.vendor=Sun Microsystems Inc.
user.language=zh
java.vm.info=mixed mode
java.version=1.6.0_06
java.ext.dirs=/usr/lib/jvm/java-6-sun-1.6.0.06/jre/...
sun.boot.class.path=/usr/lib/jvm/java-6-sun-1.6.0.06/jre/...
java.vendor=Sun Microsystems Inc.
file.separator=/
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport...
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.desktop=gnome
sun.cpu.isalist=



请注意,在此配置下,如果想读写日期格式:dd-MMM-YYYY (01-Jun-2008),
是会出错的,如果在不修改源码的情况下,需要修改系统属性:


java -Duser.language=en ...

2008年5月22日星期四

没有灾难和痛苦

如果可以平步星云......
那么可以,没有国界边疆,没有战争,没有不动产,没有灾难和痛苦,不再你的我的!

是啊,没有灾难和痛苦,对生命才是最重要的!

2008年5月17日星期六

因为爱, 奇迹正在赶过来!



因为爱
------
歌手:群星


因为船才到达彼岸
因为冷候鸟才飞向南
因为有瞬间阴霾阳光才更灿烂
因为寒冬春天才回暖
因为你眉头才放宽
因为我跌倒了有人搀
因为所有的付出总会得到偿还
因为我们笑着过难关
就因为爱希望绽放华彩
就因为爱能拨云见日未来永值得期待
就因为爱就因为爱
所有的生命才收获了圆满
就因为爱彼此无声依赖
就因为爱至少还有一个信念不会更改
就因为爱就因为爱
奇迹正在赶过来
因为天海才特别蓝
因为灯黑夜从不暗淡
因为同携手作伴不会感觉孤单
因为心疼才要更勇敢
因为你努力有何难
因为我将会为你承担
因为面对着风雨从不袖手旁观
因为我们共撑一把伞
就因为爱希望绽放华彩
就因为爱能拨云见日未来永值得期待
就因为爱就因为爱
所有的生命才收获了圆满
就因为爱彼此无声依赖
就因为爱至少还有一个信念不会更改
就因为爱就因为爱
奇迹正在赶过来

2008年5月13日星期二

伸出援助之手给困难的灾区人民



一方有难八方支援 四川省地震救灾捐款方式

中国红十字会总会救灾专用账号和热线
网址:http://www.redcross.org.cn

  开户单位:中国红十字会总会

  人民币开户行:中国工商银行北京分行东四南支行

  人民币账号:0200001009014413252

  外币开户行:中信银行酒仙桥支行

  外币账号:7112111482600000209

  热线电话:(8610)65139999

  捐款有如下几种途径:

  银行汇款:账号见上文

  邮局汇款:

  地址:北京市东城区北新桥三条8号

  邮编:100007

  (通过银行、邮局和网上捐款在捐款时请注明捐款人姓名、通信地址、捐款意向如:四川地震捐款等信息,以便邮寄捐赠收据和感谢信)

  通过短信捐款:中国移动、中国联通手机用户以及中国电信、中国网通小灵通用户均可编辑短信1或2,发送至1069999301,即向“红十字救援行动”捐款1元钱或2元钱。

  

  通过短信咨询:中国移动、中国联通手机用户以及中国电信、中国网通小灵通用户均可编辑短信“中国红十字会”,发送至12114,即可了解中国红十字会有关情况。

  中国红十字基金会同时也接受社会各界捐赠:

  地址: 北京市东城区东单北大街干面胡同53号

  邮编:100010

  银行汇款:

  户名: 中国红十字基金会

  开户银行: 中国银行北京分行

  账号: 800100921908091001

  开户银行:中国工商银行北京东四南支行

  账号:0200001019014483874

  开户银行:中国建设银行北京朝内大街支行

  账号:11001070300059000427

  外币开户银行:中国银行

  账号: 800100086608091014

  捐款热线电话: 010-65124154 010-65129947 010-65599176

2008年4月30日星期三

最远的你是我最近的爱

演唱:车继铃

夜已沉默心事向谁说
不肯回头所有的爱都错过
别笑我懦弱我始终不能猜透
为何人生淡漠
风雨之后无所谓拥有
萍水相逢你却给我那么多
你挡住寒冬温暖只保留给我
风霜寂寞凋落在你怀中
人生风景在游走
每当孤独我回首
你的爱总在不远地方等着我
岁月如流在穿梭
喜怒哀乐我深锁
只因有你在天涯尽头等着我

2008年3月6日星期四

Hibernate 3.2 移植: SQL函数返回类型改变

In alignment with the JPA specification the count, sum and avg function now defaults to return types as specified by the specification. This can result in ClassCastException at runtime if you used aggregation in HQL queries.

Actually the spec says

The Java type that is contained in the result of a query using an aggregate function is as follows[33]:
COUNT returns Long.
MAX, MIN return the type of the state-field to which they are applied.
AVG returns Double.
SUM returns Long when applied to state-fields of integral types (other than BigInteger); Double
when applied to state-fields of floating point types; BigInteger when applied to state-fields
of type BigInteger; and BigDecimal when applied to state-fields of type BigDecimal.

http://www.hibernate.org/250.html#A44
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1538

2008年2月3日星期日

伸出援助之手给困难的灾区人民



一方有难,八方支援。 抗击冰雪捐款方式。

中华慈善总会

筹募部电话:

电 话:(010)66055848、
传 真:(010)66083264
联系人:苏辉 王玲


接受捐款账号及地址如下:

银行汇款:
人民币捐款帐户
开户单位:中华慈善总会
帐号:0200002809014450409
开 户 行:中国工商银行北京西四支行
外币捐款帐户
开户单位:中华慈善总会
帐号:00100914908091014
开户行:中国银行总行营业部[北京市复兴门内大街1号]

邮局汇款:
中华慈善总会地址:
北京市西城区二龙路甲33号新龙大厦
邮编:100032

网上募捐:
中华慈善网网上募捐地址

短信捐助:
编辑MJ 到10660085(仅限联通用户 2 元/次)

2008年2月2日星期六

Closures in Java 7: YES vs. NO

Java 前辈(James Gosling, Joshua Bloch, Neal Gafter, ...)们现在正在热论“闭包”这一主题:

http://blogs.sun.com/jag/entry/closures
http://java.dzone.com/news/james-brings-closure-debate

我个人的观点是 "NO", 因为这将使 JSL (Java 语言规范)逼近1000页, 并且,
到现在我仍然在这一恐惧中:我用来学习 Java 5 Generic 的时间比曾经用来学习 Java 语言时间还长,可是让我现在设计出一个使用 “泛型”的框架,我心中没底。