原创 採訪Gavin King(待續)

  您能告訴我們您最近在忙啥? 我是hibernate項目的創始人,這是個open source ORM的java解決方案。我最近加入了JBoss公司,所以我可以全身心投入hibernate的開發,支持,培訓以及諮詢方面的工作。同時我

原创 EJB2移植到EJB3的一些實踐

衆所周知EJB被人病詬的很大的一個缺陷就是它複雜的配置,和奇異的編程模型。所以EJB3的推出減小了這些毛病, 但是Rod Johnson似乎還是不滿意:)   關於2個標準的對比已經有很多文章和書籍了,我這裏不再贅述。我只想說的是自己經歷

原创 單元測試時的new InitialContext() mock

 在單元測試中經常會碰到被測代碼裏面有類似:Context context=new InitialContext(); context.lookup("java:comp/env/XXX"); 往往是ejb調用,或者其他資源的調用。這個時

原创 什麼樣的java代碼容易memory leak?

  很多developer知道java也可能memory leak,關於這個主題已經有很多文章了。我這裏只想分享一下自己的memory leak的經驗。   說明一下這裏指的memory leak是程序不及時釋放heap導致的OutOfM

原创 爲什麼子類不能訪問基類的private成員?爲什麼要這樣設計?

  看到很多朋友提問“爲什麼子類不能訪問基類的private成員”?隨後看到很多朋友回答“這是規範”“這是封裝的特性”類似這樣的回答。我覺得大家都是對的。但是有時候您需要關注提問的重點在於why?爲什麼Java要這樣設計private?或

原创 Maven or Ant?

    Maven vs Ant就像IntelliJ vs Eclipse, SWT vs Swing 和 Spring vs EJB,算是一種"半信仰"話題。這兩種工具都挺有趣,所以取捨就看你的需求了。Ant只是一個framework,

原创 什麼樣的Java代碼看上去比較專業?

  這麼題目看起來就比較有爭議:運行起來專業的代碼才專業嘛。但是從另外一個角度來說"讓代碼看上去比較專業"是一個積極的做法,無論對誰都沒有壞處,對工程師,管理者和用戶都有益無弊。   首先這個題目說的是"看上去",所以我不會說明如何使代碼

原创 如何在Eclipse上面瀏覽網頁?

  工作中免不了要上網查閱資料。至少要上CSDN:) Eclipse自己有web browser的view。   方法如下:主菜單 -> Window -> Show View -> Other -> General -> Interna

原创 如何讀代碼?

    對於程序員來說除了寫代碼之外,很多的工作就是看別人寫的代碼了。   幾乎所有的文章都是圍繞如何去寫代碼,讀代碼的文章就相對很少。我自己在網上搜了一下結果也是這樣,那我和大家分享一下自己讀代碼的方法。我這裏談的不是三五個class

原创 My flair

原创 爲數據提供返回String形式的編程訪問,不只是toString()

   這個建議來自Joshua Bloch的“Provide Programmatic Access to All Data Available in String Form”。我這裏以他的提綱爲基礎然後結合自己的理解寫了這篇短文。   

原创 ComparisonChain用法

有一個Foo類: class Foo{ int a = 0; String b =""; } 那麼如何爲一個List<Foo>根據a作爲第一關鍵字,b作爲第二關鍵字排序?你當然可以寫個Comparator<Foo>來實現。

原创 Immutable集合

    大家都知道JDK提供了Collections.UnmodifiableList(),Collections.UnmodifiableSet()和Collections.unmodifiableMap()這些包裝方法。事實上它們的實

原创 爲什麼覆寫equals的時候一定要覆寫hashCode?

      經常在論壇上面看到覆寫hashCode函數的問題,很多情況下是一些開發者不瞭解hash code,或者和equals一起用的時候不太清楚爲啥一定要覆寫hashCode。       對於hash code的理論我不想多說,這個

原创 Mylyn是什麼?是Myelin,是髓鞘質

如果您使用Eclipse開發java的話,您也許知道Mylyn這個插件。因爲這個插件很有名,是Eclipse默認自帶插件,網上關於它的文章也很多。 感覺非常有用,特別是當手上七七八八事情比較雜的時候它能幫你安排任務。 有時候早上一來用戶就