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 閱讀(5045) | 評論 (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.aygfsteel.com/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 閱讀(803) | 評論 (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 閱讀(2277) | 評論 (0)編輯 收藏

          sourceforge.net被封了,真夠郁悶的

          技術無國界,無政治,非要封個網站阻礙國人軟件行業的發展,真夠郁悶的,也不知道是按照哪條法規啥破理由封了sourceforge.net
          spring和hibernate,這兩個好東東都得想方設法去臺灣一些大學的FTP下載,本來很好的資源卻用不了,心中郁悶之極,不吐不快!

          另外,可以通過臺灣的鏡像站點訪問:
          ftp://sourceforge.nchc.org.tw/

          posted @ 2008-07-09 11:51 Terry Lee 閱讀(1494) | 評論 (4)編輯 收藏

          真搞!

          本來以為是文章區的東西會顯示在首頁上,沒想到是隨筆!看來我太小白了吧,沒辦法把文章類的東西都轉移到隨筆來,分類還得重新弄,god bless me!

          posted @ 2007-12-02 14:11 Terry Lee 閱讀(246) | 評論 (1)編輯 收藏

          換了好多blog空間,快累死了!

          以前有個個人網站,但是后來總是沒時間維護,還被天天催著要在工商局注冊登記,shit,麻煩死了,干脆后來關了。近來終于有時間來弄個blog了,以前在Sina、Sohu都開了個blog,不過那里實在不適合發技術類文章,不方便,最后還是來這里了,本來以為申請起來會很麻煩,試了一下原來也很簡單的,所以,我就在這里安個小家了。
          還好,這不是買房子,商品房對老百姓來說是可望而不可及呀!(靠了,我咋扯上房子了!)
          總之,想弄個好的blog空間也真不容易呀,希望我有精力在這里留下點東西:)

          posted @ 2007-12-02 14:08 Terry Lee 閱讀(252) | 評論 (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 閱讀(1397) | 評論 (4)編輯 收藏

          主站蜘蛛池模板: 彰武县| 怀来县| 金堂县| 宜宾市| 大渡口区| 林芝县| 南雄市| 保德县| 应城市| 宁陵县| 玉溪市| 临城县| 松溪县| 行唐县| 永年县| 达拉特旗| 石棉县| 赤壁市| 资源县| 城固县| 乌恰县| 常德市| 峡江县| 顺昌县| 基隆市| 琼海市| 合川市| 井陉县| 沐川县| 涿鹿县| 无为县| 鹤庆县| 郑州市| 日喀则市| 青岛市| 固始县| 井研县| 乌兰察布市| 东城区| 长春市| 宁国市|