Javaren就是爪洼人!

一起来研究java

常用链接

统计

最新评论

2007年12月2日 #

mybatis 3.0.2 试用小记

     摘要:     以前用过一次ibatis2.x, 最近看到它改名了,并且已经升级到3.0.2, 就下载来尝试了下,下面简单说下, 希望能给想尝试不同ORM框架的朋友一些借鉴,我使用的是MySQL 5.1.x数据库。     首先, mybatis也有generator, 叫abator, 需要自己从svn上checkout出来: &nbs...  阅读全文

posted @ 2010-09-27 12:22 Terry Lee 阅读(5028) | 评论 (1)编辑 收藏

FFmpeg for Linux编码3gp时的问题

系统环境如下:
软件: CentOS-4.4 x86_64,FFmpeg 0.5
硬件: Intel(R) Xeon(R) CPU E5405  @ 2.00GHz

FFmpeg for Linux的安装这里就不讨论的,感兴趣的去看我另外一个文章:http://www.blogjava.net/javaren/articles/install_ffmpeg_on_linux_64bit.html


问题: 将尺寸为QVGA、码率200kbps左右的flv格式视频编码为22-110kbps码率,QCIF尺寸的3gp视频,采用CBR编码方式时,H.263的3gp码率控制效果非常好,几乎完美,编码参数如下:
ffmpeg -/opt/ready/flv/jzxsrl.flv -vcodec h263 -b 110k -minrate 110k -maxrate 110k -bufsize 110k -12 -acodec libfaac -ab 12k -ar 8000 -ac 1 -s 176x144 -padtop 0 -padbottom 0 -padleft 0 -padright 0 /opt/movies/3gp/jzxsrl_3dtd.3gp

但是采用H.264编码时,码率突然比要求的高出不少(应用要求不能高出+2kbps,或低于-10kbps),编码参数如下:

ffmpeg -/opt/ready/flv/jzxsrl.flv -vcodec libx264 -b 110k -minrate 110k -maxrate 110k -bufsize 110k -12 -acodec libfaac -ab 12k -ar 8000 -ac 1 -s 176x144 -padtop 0 -padbottom 0 -padleft 0 -padright 0 /opt/movies/3gp/jzxsrl_hdtd.3gp
编码完毕后检查生成的3gp文件,发现码率为118kbps,高了6kbps,是不合格的,对比H.263,自己猜测问题可能会出在libx264编码支持库上,准备更换个版本尝试一下。

试验结果待续...

posted @ 2009-06-03 14:07 Terry Lee 阅读(791) | 评论 (0)编辑 收藏

VirtualBox通过设置端口映射实现Host和Client通信

VirtualBox 是 Sun公司不错的一款开源虚拟机软件,免费小巧好用,可以设置OEM,可以设置通过端口映射来实现Host和Client之间的通信,美中不足的是性能比商业软件VMWare稍差些。
如果你看过VirtualBox的用户手册,在6.4.1 Configuring port forwarding with NAT会有详细端口映射的介绍,下面我就举个例子说明:
我建立的虚拟机名称为"CentOS-5.2",网络采用默认的PCnet-FAST III(NAT),要设置端口映射,必须关闭所有虚拟主机和主程序,然后在DOS运行(如果是Vista请用管理员权限进入DOS):
C:
CD C:\Program Files\Sun\xVM VirtualBox
VBoxManage setextradata 
"CentOS-5.2" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setextradata 
"CentOS-5.2" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22
VBoxManage setextradata 
"CentOS-5.2" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 22
VBoxManage setextradata 
"CentOS-5.2" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/Protocol" TCP
VBoxManage setextradata 
"CentOS-5.2" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/GuestPort" 80
VBoxManage setextradata 
"CentOS-5.2" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/HostPort" 80
VBoxManage setextradata 
"CentOS-5.2" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesttomcat/Protocol" TCP
VBoxManage setextradata 
"CentOS-5.2" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesttomcat/GuestPort" 8080
VBoxManage setextradata 
"CentOS-5.2" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesttomcat/HostPort" 8080
第一行是切换到C盘,然后进入VirtualBox安装目录,使用里面的VBoxManage管理程序。注意"CentOS-5.2"改成你的虚拟机名称,"pcnet"是默认网卡的名称,如果你选用的是Intel网卡要改成"e1000",紧接着后面是端口顺序,从0开始,Protocl可以是TCP也可以是UDP。
有人觉得比VMWare来说貌似很麻烦,其实不然。首先,VirtualBox的设置都是通过VBoxMange命令或者修改xml来实现,让用户可以方便自己定义,比较安全;另外,像我这种经常需要Linux来测试的开发者来说,如果在没有网络的环境时没法方便的连接远程网络,但是连接虚拟主机很方便的,直接用localhost或127.0.0.1访问,对于VMWare来说你本机和虚拟主机都要设置固定IP,一旦你从家里跑到公司,可能还得手动修改IP,所以还是VirtualBox更方便些。

posted @ 2009-03-16 14:35 Terry Lee 阅读(2266) | 评论 (0)编辑 收藏

sourceforge.net被封了,真够郁闷的

技术无国界,无政治,非要封个网站阻碍国人软件行业的发展,真够郁闷的,也不知道是按照哪条法规啥破理由封了sourceforge.net
spring和hibernate,这两个好东东都得想方设法去台湾一些大学的FTP下载,本来很好的资源却用不了,心中郁闷之极,不吐不快!

另外,可以通过台湾的镜像站点访问:
ftp://sourceforge.nchc.org.tw/

posted @ 2008-07-09 11:51 Terry Lee 阅读(1459) | 评论 (4)编辑 收藏

真搞!

本来以为是文章区的东西会显示在首页上,没想到是随笔!看来我太小白了吧,没办法把文章类的东西都转移到随笔来,分类还得重新弄,god bless me!

posted @ 2007-12-02 14:11 Terry Lee 阅读(235) | 评论 (1)编辑 收藏

换了好多blog空间,快累死了!

以前有个个人网站,但是后来总是没时间维护,还被天天催着要在工商局注册登记,shit,麻烦死了,干脆后来关了。近来终于有时间来弄个blog了,以前在Sina、Sohu都开了个blog,不过那里实在不适合发技术类文章,不方便,最后还是来这里了,本来以为申请起来会很麻烦,试了一下原来也很简单的,所以,我就在这里安个小家了。
还好,这不是买房子,商品房对老百姓来说是可望而不可及呀!(靠了,我咋扯上房子了!)
总之,想弄个好的blog空间也真不容易呀,希望我有精力在这里留下点东西:)

posted @ 2007-12-02 14:08 Terry Lee 阅读(242) | 评论 (0)编辑 收藏

用hbm2java给pojo增加serialVersionUID的小技巧

Hibernate 3.2.x 工具中hbm2java生成的pojo类总是类似下面:
public class Child  implements java.io.Serializable {
    
private int cid;
    
private String childName;

    
public int getCid() {
        
return this.cid;
    }

    
public void setCid(int cid) {
        
this.cid = cid;
    }

    
public String getChildName() {
        
return this.childName;
    }
   
    
public void setChildName(String childName) {
        
this.childName = childName;
    }

}

但是如果你使用JDK5.0或更高版本时,总是警告该类缺少个static final long serialVersionUID,如何才能在hbm2java生成java源代码时自动加上呢?这就要修改hibernate-tools.jar中自带的pojo模板了。

首先,你将hibernate-toosl.jar中的pojo/Pojo.ftl文件解压出来,在<#if !pojo.isInterface()>的下一行增加:static final long serialVersionUID = 1L;增加后整个Pojo.ftl文件内容应该是这样:

${pojo.getPackageDeclaration()}
// Generated ${date} by Hibernate Tools ${version}

<#assign classbody>
<#include "PojoTypeDeclaration.ftl"/> {

<#if !pojo.isInterface()>
static final long serialVersionUID = 1L;

<#include "PojoFields.ftl"/>
<#include "PojoConstructors.ftl"/>
  
<#include "PojoPropertyAccessors.ftl"/>

<#include "PojoToString.ftl"/>

<#include "PojoEqualsHashcode.ftl"/>

<#else>
<#include "PojoInterfacePropertyAccessors.ftl"/>

</#if>
<#include "PojoExtraClassCode.ftl"/>

}

</#assign>

$
{pojo.generateImports()}
$
{classbody}

然后将此Pojo.ftl文件覆盖hibernate-tools.jar压缩包中的即可。

最后,再次运行你的ant,build.xml不需要修改生成的类就自动有了:static final long serialVersionUID = 1L;
呵呵,很好玩吧。我们还可以在Pojo.ftl模板文件中增加其他自己需要的代码了!

posted @ 2007-12-02 13:54 Terry Lee 阅读(1386) | 评论 (4)编辑 收藏