這是一個超簡單的Client Server範例,Server部份利用Thread來常駐執行,而Client利用Socket去連接指定的port,送出一個字元組給OutputStream,而Server接收到請求後,使用InputStream來取得資料。
這裡有篇介紹Socket Server的原理Thread應用-Java SocketServer,還有一篇傳送物件Serializable序列化Socket傳送範例,這篇算是比較進階。
程式碼包裝在jar裡,利用二個command視窗,一個執行Server一個執行Client,結果如下:

原始碼及jar下載:
詳細文章
World War是一套android手機上的Game,很多人都有在玩,國內的玩的人跟討論都很少,可能是因為英文介面吧?其實也沒多少英文可看,查一下字典其實很快就可以入手了,遊戲方式跟facebook的義氣仔女其實蠻像的,分為任務、攻擊、買建物、武器等,也有回覆hp跟銀行等機制,一整個就是義氣仔女吧?
故事是發生在某次大擊,主要分成二個聯盟,一開始時需要選擇一個聯盟,以下是安裝的Htc Hero上的截圖,利用這些圖介紹一下它是怎樣的一個遊戲
首頁,Home,先介紹主要功能,Missions任務、Battle攻擊、Buildings購買防護或攻擊的建物、Units兵力或武器,而中間的Alliance Code可以分享給朋友,利用這個Code可以加入成用盟友,可以幫忙攻擊及防護(等級相似時?)
上面1,189,911就是錢了,下面那一行是在59:45分後會增加11,150的錢(每個人狀態都不一樣),右邊是經驗值跟等級,下一行第一個有個大紅十字Health的是血量,被攻擊或攻擊人時都可能會減少,Energy是能量,可以用來執行任務,Ammo是攻擊的次數。

詳細文章
剛好有個網友提到如何利用Servlet來產生縮圖,利用Servlet來產生而不存放成檔案,這種及時取得圖像的方法,比較不建議使用在需要大量輸出圖的狀況下,這樣子在記憶體的使用上會很重。
而為什麼使用ImageMagick來做縮圖呢?其實Java本身也可來製做縮圖,可是因為本身浮點運算的問題,效果並沒有很好,雖然麻煩了點,還是外掛dll來使用ImagicMagick會來的好。
JMagick ImageMagick等介紹及下載請參考:
JMagick-Java open source free影像壓縮
範例的結果:

詳細文章
String是一個比較特別的資料型態,它是一個物件類別( Object ),基本型態所對應的物件類別,可直接給於相同類型的值,而不需使用new來產生物件,而String資料型態跟基本型態一樣可以直接給於值,不過String沒有相對應的基本型態。
String在使用上十分普遍,大部份的資料型能都可以變成String存放。String本身是字串是使用utf8格式存放的,所以在計算字元時,一個中文字跟一個英文字都是算1,這點是跟其它程式語言不太一樣的。

詳細文章
try catch是專門在處理錯誤事件的,很多程式語言都有這樣子的例外處理方法,Java也不例外,對於新入門的可能會比較少遇到這類型的問題,不過是十分重要的一環。
當程式功能越來越多、越來越大時,try catch的使用可以增加除錯(bug)的速度,try catch也可以使用其特性來製做一些技巧性的功能或判斷,而當使用者在操作期間發現了例外或錯誤,如果丟出一堆程式碼大概會讓使用者不知所為,擷取這些例外或錯誤而丟出使用者容易理解的字串,也是try catch的功能之一。
try catch 用法
try裡的敍述句有可能會丟出例外資訊 ( Exception ) ,而丟出的例外資訊 ( Exception ) 型態就可以由catch來取得,做適當的處理。finally則是在try catch完成後會執行的動作,一般都是使用在關閉或則除物件等。
ps.catch取得例外需由小範圍而後大範圍,例如java.lang.NullPointException則需寫在Exception前面,因為NullPointException所能處理的範圍比Exception還小。

詳細文章