2008年11月24日星期一

javascript根据生日计算年龄

<SCRIPT LANGUAGE="JavaScript">
<!--
var birthday=new Date("1983-12-31".replace(/-/g, "\/"));
var d=new Date();
var age = d.getFullYear()-birthday.getFullYear()-((d.getMonth()<birthday.getMonth()|| d.getMonth()==birthday.getMonth() && d.getDate()<birthday.getDate())?1:0);
alert(age);
//-->
</SCRIPT>

2008年11月7日星期五

重温Hibernate基础--get/load的区别

下了个Hibernate视频教程听,虽然一年多以前跟老师学过Hibernate,但现在听听还是有很多收获的,发现自己的知识知道的都是些皮毛,用了很久的东西,知道怎么操作怎么用,但要说说它的所以然,摇摇头,呵呵

根据主键Id得到一个持久对象,Hibernate中有两个方法,一个get,一个load,他们两个参数相同,都返回一个Object

它们的区别:
执行get方法即时生成查询sql去查询数据库得到相应的pojo,如果数据库中没有相应记录,则返回null
执行load方法不会即时产生sql语句,而是在用到返回的对象时采取查询数据库,也就是load方法有默认的延迟加载,在执行load方法后返回的不是 一个pojo对象,是pojo对象的一个代理(据说Hibernate是用代理的方式实现延迟加载的,这块还迷糊),如果数据库中没有相应记录,load 方法会抛出异常ObjectNotFoundException
看了一下我们用MyEclipse hibernate工具通过数据库生成的DAO类,它的findById方法是用的session.get()方法,这是即时获得pojo对象,如果是 load方法,在执行完load后如果关闭了session,那在接下来用到这个pojo对象时恐怕会报session已关闭的错误。
还有就是这两个方法的第二个参数id,它必须是实现了java.io.Serializable接口,也就是可序列化的。

今天好像是立冬,冬天到了,抓紧时间充充电,明天接着学...

2008年11月6日星期四

VMware下Redhot4 host-only模式下上网配置过程

学习Linux,装了个VMware,在上面装了个红帽4
前辈建议用host-only连接方式,好处是与host建立一个私有的网络,跟外界没有关系,A private network shared with the host
在这种方式下Linux如何上网呢

1、首先,安装VMware后windows下会多出两块虚拟网卡,VMware Network Adapter VMnet1(为host-only方式用)和VMware Network Adapter VMnet8(为NAT方式用),将这两块网卡的IP都设为自动获取。

2、将window上自己的网卡设为共享

3、进入Linux,应用程序-系统设置-网络

选中eth0,点编辑,做如下配置

完成后点确定,然后点击激活,OK,打开firefox试试看

学习Linux

学习Linux

下了个Linux的视频教程

学了几个命令记录下来

其中对于Linux名字的解释挺有意思,Linux is not unix,:-D

Linux中认为所有的硬件,所有的设备都是文件,文件分为字符文件,和块设备(就是二进制的),它将所有的设备都放在dev目录中

cd / 访问根目录
ls 显示目录中的文件列表
cd dev 访问dev目录
mkdir my 创建目录my
rmdir my 删除目录my
mount /dev/cdrom /mnt/my 将cdrom挂载到my目录
nmount /dev/cdrom 解除挂载
whoami 显示当前用户
pwd     显示当前所在目录