<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
    數(shù)據(jù)加載中……

    java

    Android開發(fā)(1):隨機(jī)繪制彩色實(shí)心圓
         摘要: 本文介紹了如何利用Android的繪圖技術(shù)隨機(jī)繪制彩色實(shí)心圓。  閱讀全文

    posted @ 2011-09-06 16:06 銀河使者 閱讀(9688) | 評論 (2)  編輯

    關(guān)于Android中傳遞數(shù)據(jù)的一些討論
         摘要: 雖然Intent和靜態(tài)變量都可以傳遞數(shù)據(jù),但intent功能有限,static過于wrong,那么有沒有一種更好的方式呢,答案是yes,這就是Application Context,一個(gè)全局的Context,詳情請讀者參見本文的內(nèi)容。  閱讀全文

    posted @ 2010-11-09 16:25 銀河使者 閱讀(5346) | 評論 (1)  編輯

    《Android/OPhone 開發(fā)完全講義》連載(10):Sqlite數(shù)據(jù)庫
         摘要: 現(xiàn)在終于到講解數(shù)據(jù)庫的時(shí)間了。數(shù)據(jù)庫也是Android存儲方案的核心。在Android系統(tǒng)中使用了Sqlite數(shù)據(jù)庫。Sqlite是非常輕量的數(shù)據(jù)庫。從Sqlite的標(biāo)志是一根羽毛就可以看出Sqlite的目標(biāo)就是無論是過去、現(xiàn)在,還是將來,Sqlite都將以輕量級數(shù)據(jù)庫的姿態(tài)出現(xiàn)。Sqlite雖然輕量,但在執(zhí)行某些簡單的SQL語句時(shí)甚至比MySQL和Postgresql還快。由于很多讀者是第一次接觸Sqlite數(shù)據(jù)庫,因此,在介紹如何在Android中使用Sqlite之前,先在本節(jié)簡單介紹一下如何在PC上建立Sqlite數(shù)據(jù)庫,以及Sqlite數(shù)據(jù)庫的一些特殊方面(由于本書的目的不是介紹Sqlite數(shù)據(jù)庫,因此,與其他數(shù)據(jù)庫類似的部分(如insert、update等)本書將不再介紹。沒有掌握這些知識的讀者可以參閱其他關(guān)于數(shù)據(jù)庫方面的書籍。  閱讀全文

    posted @ 2010-10-28 22:16 銀河使者 閱讀(6859) | 評論 (0)  編輯

    《Android/OPhone開發(fā)完全講義》連載(8):收到短信了,我該做點(diǎn)什么?
         摘要: 短信是手機(jī)中經(jīng)常使用到的一種服務(wù)。然而,當(dāng)手機(jī)接收到短信時(shí),也會向系統(tǒng)發(fā)送廣播。如果我們的應(yīng)用程序要在手機(jī)接收到短信后做點(diǎn)什么,那就需要接收這個(gè)系統(tǒng)廣播。
    接收系統(tǒng)廣播的步驟我們已經(jīng)熟悉了,下面就按步就班地來完成這兩個(gè)步驟。  閱讀全文

    posted @ 2010-09-13 16:59 銀河使者 閱讀(2912) | 評論 (1)  編輯

    《Android/OPhone開發(fā)完全講義》連載(7):使用SharedPreferences存取復(fù)雜數(shù)據(jù)
         摘要: 我們知道SharedPreferences只能保存簡單類型的數(shù)據(jù),例如,String、int等。如果想用SharedPreferences存取更復(fù)雜的數(shù)據(jù)類型(類、圖像等),就需要對這些數(shù)據(jù)進(jìn)行編碼。我們通常會將復(fù)雜類型的數(shù)據(jù)轉(zhuǎn)換成Base64編碼,然后將轉(zhuǎn)換后的數(shù)據(jù)以字符串的形式保存在 XML文件中。
      閱讀全文

    posted @ 2010-09-08 09:49 銀河使者 閱讀(4063) | 評論 (5)  編輯

    實(shí)用Android開發(fā)工具和資源精選
         摘要: 本文介紹了20個(gè)關(guān)于Android應(yīng)用程序開發(fā)的實(shí)用工具資源,供大家分享。在google、開源平臺,和來自移動(dòng)電話制造商HTC,Samsung和Sony Ericsson的支持下,Android平臺在市場占有率上相比去年取得的886%增長!如果我只看增長率,IPhone據(jù)統(tǒng)計(jì)才有61%的增長。這些 數(shù)據(jù)可以給你關(guān)于兩個(gè)平臺流行度的印像,但是事實(shí)上,這些數(shù)據(jù)告訴了智能機(jī)開發(fā)員的誰才是真正的贏家。在時(shí)下,智能機(jī)越來越流行,因此成為一個(gè)快速增長的 Android平臺的智能機(jī)開發(fā)人員將會是一個(gè)不錯(cuò)的選擇。
      閱讀全文

    posted @ 2010-08-28 09:28 銀河使者 閱讀(4324) | 評論 (0)  編輯

    中國移動(dòng)開發(fā)者社區(qū)專訪:學(xué)習(xí)Android的兩大法寶
         摘要: 最近Android比較火,無論是摩托羅拉搭載 Android 2.2準(zhǔn)備咸魚翻身,還是Android Market年底將在臺灣開市……這些消息足以讓人們?yōu)橹駣^。但當(dāng)人們看到Android的外表光鮮之時(shí),更要注意到其潛在內(nèi)涵,尤其對于廣大開發(fā)者,一味盲目地崇拜并扎入其中并不實(shí)為理智之舉。本期,我們?yōu)槟埖揭晃慌c代碼打了15年交道的李寧,以其親身經(jīng)歷和開發(fā)經(jīng)驗(yàn)來為廣大開發(fā)者提出鑒言和忠告。  閱讀全文

    posted @ 2010-08-25 05:45 銀河使者 閱讀(4987) | 評論 (2)  編輯

    可循環(huán)顯示圖像的Android Gallery組件
         摘要: Gallery組件主要用于橫向顯示圖像列表,不過按常規(guī)做法。Gallery組件只能有限地顯示指定的圖像。也就是說,如果為Gallery組件指定了10張圖像,那么當(dāng)Gallery組件顯示到第10張時(shí),就不會再繼續(xù)顯示了。這雖然在大多數(shù)時(shí)候沒有什么關(guān)系,但在某些情況下,我們希望圖像顯示到最后一張時(shí)再重第1張開始顯示,也就是循環(huán)顯示。要實(shí)現(xiàn)這種風(fēng)格的Gallery組件,就需要對Gallery的Adapter對象進(jìn)行一番改進(jìn)。
      閱讀全文

    posted @ 2010-08-23 23:44 銀河使者 閱讀(5128) | 評論 (0)  編輯

    移動(dòng)互聯(lián)網(wǎng)的新寵:Android之繽紛世界
         摘要: Android這個(gè)詞已強(qiáng)占我們的眼球有一段時(shí)間了。在此之前,提到Android,沒人會和移動(dòng)互聯(lián)網(wǎng)以及Google這兩個(gè)當(dāng)今最火辣的詞聯(lián)系起來。然而,自從Google推出自己的移動(dòng)操作系統(tǒng)Android以來,Android、Google和移動(dòng)互聯(lián)網(wǎng)就好像10年前的Windows、微軟和PC操作系統(tǒng)一樣,成為了當(dāng)今最吸引眼球的組合。  閱讀全文

    posted @ 2010-08-17 12:14 銀河使者 閱讀(2058) | 評論 (2)  編輯

    《人人都玩開心網(wǎng):Ext JS+Android+SSH整合開發(fā)Web與移動(dòng)SNS》銷售排名第4,發(fā)篇ExtJS的文章(拖放樹結(jié)點(diǎn))慶祝下
         摘要: 《人人都玩開心網(wǎng):Ext JS+Android+SSH整合開發(fā)Web與移動(dòng)SNS》一書上架短短幾天,就進(jìn)入了互動(dòng)網(wǎng)計(jì)算機(jī)類銷售總排名第4的好成績。現(xiàn)發(fā)篇Ext JS的技術(shù)文章慶祝下。在本文將介紹TreePanel組件非常有意思的一個(gè)功能:結(jié)點(diǎn)拖放。要使TreePanel組件的結(jié)點(diǎn)可以拖放非常簡單,只需要將TreePanel類的enableDD選項(xiàng)參數(shù)設(shè)為true即可。當(dāng)然,要想實(shí)現(xiàn)更復(fù)雜的功能,還需要配合其他的參數(shù)和事件。  閱讀全文

    posted @ 2010-08-03 14:15 銀河使者 閱讀(3677) | 評論 (0)  編輯

    實(shí)現(xiàn)基于Android的英文電子詞典
         摘要: 英文詞典是手機(jī)中經(jīng)常使用的應(yīng)用。因此,在本文將結(jié)合Android來討論如何實(shí)現(xiàn)一個(gè)
    Android版的英文詞典。實(shí)現(xiàn)英文詞典的方法很多。在本文使用了SQLite數(shù)據(jù)庫來保存英文單詞信息。系統(tǒng)通過SQLite數(shù)據(jù)庫中保存的單詞信息來查找到與指定英文對應(yīng)的中文信息。當(dāng)然,實(shí)現(xiàn)這樣一個(gè)英文詞典需要解決一系列技術(shù)問題。例如,如何將保存英文單詞信息的數(shù)據(jù)庫文件隨程序(apk文件)一起發(fā)布;發(fā)布后如何打開數(shù)據(jù)庫;如何在輸入前幾個(gè)字母后,在AutoCompleteTextView組件提示列表中顯示以所輸入字符串開頭的所有單詞。在本章將逐漸給出這些問題的詳細(xì)答案。
      閱讀全文

    posted @ 2010-07-31 10:29 銀河使者 閱讀(6579) | 評論 (1)  編輯

    不使用中間變量交換兩個(gè)數(shù)(Java版)
         摘要: 在程序中實(shí)現(xiàn)交換兩個(gè)數(shù)的功能并不復(fù)雜,但如果不使用中間變量,就需要?jiǎng)右幌履X筋。在本文介紹了兩個(gè)方法(其實(shí)原理都是一個(gè))。其基本原理就是數(shù)的中和。也就是說,通過某種運(yùn)算(二元運(yùn)算)將a和b兩個(gè)數(shù)變成一個(gè)數(shù),并保存在其中一個(gè)變量中。然后再通過同樣的運(yùn)算符將a或b中和掉。這樣實(shí)際上是利用了a或 b本身作為了中間變量。  閱讀全文

    posted @ 2010-07-28 10:29 銀河使者 閱讀(2797) | 評論 (8)  編輯

    Android系統(tǒng)原理與源碼分析(1):利用Java反射技術(shù)阻止通過按鈕關(guān)閉對話框
         摘要: 眾所周知,AlertDialog類用于顯示對話框。關(guān)于AlertDialog的基本用法在這里就不詳細(xì)介紹了,網(wǎng)上有很多,讀者可以自己搜索。那么本文要介紹的是如何隨心所欲地控制AlertDialog。  閱讀全文

    posted @ 2010-07-27 23:05 銀河使者 閱讀(4478) | 評論 (2)  編輯

    《人人都玩開心網(wǎng):Ext JS+Android+SSH整合開發(fā)Web與移動(dòng)SNS》樣章下載
         摘要: 第1章:開發(fā)夢緣起開心網(wǎng)

    第5章:開心桌面:完全模擬Windows桌面的開心網(wǎng)

    第15章:移動(dòng)電子相冊:捕捉精彩瞬間
      閱讀全文

    posted @ 2010-07-24 11:30 銀河使者 閱讀(5425) | 評論 (4)  編輯

    《Android/OPhone開發(fā)完全講義》連載(5):Notification與狀態(tài)欄信息
         摘要: Notification與Toast都可以起到通知、提醒的作用。但它們的實(shí)現(xiàn)原理和表現(xiàn)形式卻完全不一樣。Toast其實(shí)相當(dāng)于一個(gè)組件(Widget)。有些類似于沒有按鈕的對話框。而Notification是顯示在屏幕上方狀態(tài)欄中的信息。還有就是Notification需要用NotificationManager來管理,而Toast只需要簡單地創(chuàng)建Toast對象即可。  閱讀全文

    posted @ 2010-07-13 08:20 銀河使者 閱讀(2702) | 評論 (0)  編輯

    《Android/OPhone開發(fā)完全講義》連載(4):Android SDK中常用命令行工具(二)
         摘要: 一、 PC與模擬器或真機(jī)交換文件(adb pull和adb push)
    二、 Shell命令
    三、創(chuàng)建、刪除和瀏覽AVD設(shè)備(android)  閱讀全文

    posted @ 2010-07-08 20:58 銀河使者 閱讀(2342) | 評論 (0)  編輯

    《Android/OPhone 開發(fā)完全講義》已出版,現(xiàn)提供源代碼下載
         摘要: 《Android/OPhone 開發(fā)完全講義》已出版。  閱讀全文

    posted @ 2010-07-01 13:43 銀河使者 閱讀(5231) | 評論 (3)  編輯

    Google 菜市場(Android Market)上不去的解決方法
         摘要: 最近幾天,突然手機(jī)(我的是G3,估計(jì)其他android手機(jī)也有類似的情況)上不了android market了,甚至連gmail也出現(xiàn)網(wǎng)絡(luò)問題(通過gprs、3g和wifi都不好使)。一開始還以為是手機(jī)的問題,后經(jīng)過多次重啟,刷機(jī),還是存在 問題。最后經(jīng)過驗(yàn)證,google更改了服務(wù)設(shè)置,相關(guān)服務(wù)(包括android market)已成了限制服務(wù)(原因嗎,大家都知道,這里就不說了),但還是有辦法解決地。首先下載下面的zip文件。  閱讀全文

    posted @ 2010-06-15 13:20 銀河使者 閱讀(2603) | 評論 (1)  編輯

    《Android/OPhone 開發(fā)完全講義》樣章和目錄下載
         摘要: 《Android/OPhone 開發(fā)完全講義》一書預(yù)計(jì)在6-15左右出版,現(xiàn)提供3個(gè)樣章(第1、8和14章)試讀,歡迎提出寶貴意見。  閱讀全文

    posted @ 2010-06-02 14:00 銀河使者 閱讀(7389) | 評論 (20)  編輯

    新書《Android/OPhone開發(fā)完全講義》即將出版,看看哪個(gè)封面更好
         摘要: 新書《Android/OPhone開發(fā)完全講義》將在6月份出版,現(xiàn)在三個(gè)候選封面效果。各位看看哪個(gè)封面更好些。
      閱讀全文

    posted @ 2010-05-26 20:47 銀河使者 閱讀(2489) | 評論 (12)  編輯

    有道難題2009復(fù)賽題解答(Java版):求大于給定數(shù)的最小不重復(fù)數(shù)
         摘要: 最近看了有道出的幾個(gè)復(fù)賽題,覺得很好玩,現(xiàn)給出Java版的答案。先看看提干部分。如果一個(gè)數(shù)字十進(jìn)制表達(dá)時(shí),不存在連續(xù)兩位數(shù)字相等,則稱之為“不重復(fù)數(shù)”。例如,105,1234和12121都是“不重復(fù)數(shù)”,而11,100和 1225不算。給定一個(gè)long類型數(shù)字A,返回大于A的最小“不重復(fù)數(shù)”。   閱讀全文

    posted @ 2010-05-11 16:23 銀河使者 閱讀(3583) | 評論 (21)  編輯

    Android組件系列(1):自動(dòng)完成輸入內(nèi)容的組件(AutoCompleteTextView )
         摘要: AutoCompleteTextView和EditText組件類似,都可以輸入文本。但AutoCompleteTextView組件可以和一個(gè)字符串?dāng)?shù)組或List對象綁定,當(dāng)用戶輸入兩個(gè)及以上字符時(shí),系統(tǒng)將在AutoCompleteTextView組件下方列出字符串?dāng)?shù)組中所有以輸入字符開頭的字符串,這一點(diǎn)和www.Google.com的搜索框非常相似,當(dāng)輸入某一個(gè)要查找的字符串時(shí),Google搜索框就會列出以這個(gè)字符串開頭的最熱門的搜索字符串列表。  閱讀全文

    posted @ 2010-04-21 14:53 銀河使者 閱讀(2793) | 評論 (0)  編輯

    使用Java等比例縮放圖像
         摘要: 繪制圖像的基本原理是創(chuàng)建一個(gè)目標(biāo)大小的畫布,然后讀取源圖像,并將該圖像繪制這個(gè)畫布上。為了使程序通用,源圖像和壓縮后的目標(biāo)圖像應(yīng)用分別使用 InputStream和OutputStream來表示。  閱讀全文

    posted @ 2010-04-16 15:11 銀河使者 閱讀(3282) | 評論 (4)  編輯

    在Java中按字節(jié)獲得字符串長度的兩種方法
         摘要: 由于Java是基于Unicode編碼的,因此,一個(gè)漢字的長度為1,而不是2。但有時(shí)需要以字節(jié)單位獲得字符串的長度。例如,“123abc長城”按字節(jié)長度計(jì)算是10,而按Unicode計(jì)算長度是8。為了獲得10,需要從頭掃描根據(jù)字符的Ascii來獲得具體的長度。如果是標(biāo)準(zhǔn)的字符,Ascii的范圍是0至255,如果是漢字或其他全角字符,Ascii會大于255。  閱讀全文

    posted @ 2010-04-11 10:53 銀河使者 閱讀(22662) | 評論 (3)  編輯

    Android 1.5和Android 2.1在相對布局(RelativeLayout)上的區(qū)別
         摘要: 近日在做一個(gè)程序,需要在ListView中動(dòng)態(tài)擴(kuò)展每一個(gè)列表項(xiàng)。采用的方法是將列表項(xiàng)中某些組件的android:visibility屬性設(shè)為 gone,等需要顯示該組件時(shí),再將android:visibility屬性設(shè)為visible。而且列表項(xiàng)的布局是RelativeLayout。 android:visibility屬性為gone的組件也參與了相對位置設(shè)置。例如,有A、B、C三個(gè)組件,其中B的 android:visibility屬性值為gone,也就是說,B不顯示。而A和C顯示。相對位置是B在A的下面,C在B的下面。這么做比理論上是沒問題的,由于啟動(dòng)的是android 2.1的模擬器,所以列表項(xiàng)看起來完全正常。  閱讀全文

    posted @ 2010-03-17 09:27 銀河使者 閱讀(4686) | 評論 (3)  編輯

    大量Ophone/Android技術(shù)文章推薦
         摘要: 先慶祝下,剛獲得OPhone SDN技術(shù)征文大賽二等獎(jiǎng),Dell Mini 3手機(jī)一部,支持移動(dòng)的TD-SCDMA網(wǎng)絡(luò)。現(xiàn)在終于可以做聯(lián)機(jī)測試了,哈哈!!
    文章URL
    http://www.ophonesdn.com/article/list  閱讀全文

    posted @ 2010-01-15 13:08 銀河使者 閱讀(2138) | 評論 (2)  編輯

    Android/Ophone中的懸浮對話框和即點(diǎn)即關(guān)對話框
         摘要: Activity是Ophone系統(tǒng)的4個(gè)應(yīng)用程序組件之一。通過傳統(tǒng)方法顯示的Activity都是充滿整個(gè)屏幕,也就是全屏的Activity。事實(shí)上,Activity不僅可以全屏顯示,還可以象對話框一樣直接顯示在屏幕上。而且可以通過單擊屏幕的任何位置(包括Activity內(nèi)部和Activity外部)來關(guān)閉Activity。
      閱讀全文

    posted @ 2010-01-11 08:31 銀河使者 閱讀(3272) | 評論 (0)  編輯

    《Java Web開發(fā)速學(xué)寶典》樣章(共3章)
         摘要: 第4章 Servlet開發(fā)基礎(chǔ)、第8章 Java Web國際化、第10章 簡單標(biāo)簽  閱讀全文

    posted @ 2009-12-14 14:33 銀河使者 閱讀(4777) | 評論 (1)  編輯

    Java Web開發(fā)速學(xué)寶典(JSP+Servlet+Struts 2 + Hibernate + Spring)源代碼下載
         摘要: 由于有些讀者因隨書光盤遺失,應(yīng)廣大讀者的要求,特提供《Java Web開發(fā)速學(xué)寶典》一書的源代碼下載,由于源代碼所使用的jar包過大(隨書光盤中包含了完整的源代碼和jar包),在這里只提供了jar文件的列表,讀者可以自行獲得這些jar包。  閱讀全文

    posted @ 2009-11-16 13:14 銀河使者 閱讀(4073) | 評論 (2)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(34):讀寫緩沖區(qū)中的數(shù)據(jù)---使用get和put方法按順序讀寫單個(gè)數(shù)據(jù)
         摘要: 對于緩沖區(qū)來說,最重要的操作就是讀寫操作。緩沖區(qū)提供了兩種方法來讀寫緩沖區(qū)中的數(shù)據(jù):get、put方法和array方法。而get、put方法可以有三種讀寫數(shù)據(jù)的方式:按順序讀寫單個(gè)數(shù)據(jù)、在指定位置讀寫單個(gè)數(shù)據(jù)和讀寫數(shù)據(jù)塊。除了上述的幾種讀寫數(shù)據(jù)的方法外,CharBuffer類還提供了用于專門寫字符串的put和append方法。在本文及后面的文章中將分別介紹這些讀寫緩沖區(qū)的方法。  閱讀全文

    posted @ 2009-10-09 09:34 銀河使者 閱讀(4869) | 評論 (1)  編輯

    新書出版:Java Web開發(fā)速學(xué)寶典,歡迎試讀
         摘要: 本書主要對Java Web的核心技術(shù)——JSP和Servlet進(jìn)行講解,此外,本書還對目前流行的MVC框架Struts 2(版本為Struts 2.1.6)的核心功能以及如何整合Spring與Hibernate進(jìn)行了由淺入深的介紹。.本書分為4篇,第1篇對開發(fā)Java Web程序所必須掌握的技術(shù)進(jìn)行講解,并用一個(gè)實(shí)例帶領(lǐng)讀者進(jìn)入Java Web世界;第2篇主要講解JSP技術(shù),使讀者可以掌握J(rèn)SP的核心技術(shù);第3篇講解Struts 2的核心內(nèi)容,以及如何將Struts 2、Spring和Hibernate進(jìn)行整合;第4篇是綜合實(shí)例,通過對3個(gè)完整項(xiàng)目的學(xué)習(xí),讀者可以更好地對本書前3篇所講的內(nèi)容進(jìn)行理解和消化。本書的讀者對象包括:已經(jīng)掌握J(rèn)ava基礎(chǔ)知識,想學(xué)習(xí)Java Web技術(shù)的讀者;已經(jīng)掌握J(rèn)ava Web的基礎(chǔ)知識,想進(jìn)一步了解和掌握J(rèn)ava Web核心技術(shù)的讀者;對JSP和Servlet技術(shù)比較熟悉,想進(jìn)一步學(xué)習(xí)和掌握Struts 2,并想將Struts 2技術(shù)引入Java Web應(yīng)用的讀者。  閱讀全文

    posted @ 2009-09-21 12:11 銀河使者 閱讀(1927) | 評論 (0)  編輯

    流媒體程序開發(fā)之:H264解碼器移植到OPhone
         摘要: 本文用通俗的語言描述在OPhone上如何實(shí)現(xiàn)視頻的流暢播放及解碼器的調(diào)用方法。  閱讀全文

    posted @ 2009-09-20 17:54 銀河使者 閱讀(2640) | 評論 (1)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(33):非阻塞I/O的緩沖區(qū)(Buffer)
         摘要: 如果將同步I/O方式下的數(shù)據(jù)傳輸比做數(shù)據(jù)傳輸?shù)牧阈欠绞剑ㄟ@里的零星是指在數(shù)據(jù)傳輸?shù)倪^程中是以零星的字節(jié)方式進(jìn)行的),那么就可以將非阻塞I/O方式下的數(shù)據(jù)傳輸比做數(shù)據(jù)傳輸?shù)募b箱方式(在字節(jié)和低層數(shù)據(jù)傳輸之間,多了一層緩沖區(qū),因此,可以將緩沖區(qū)看做是裝載字節(jié)的集裝箱)。大家可以想象,如果我們要運(yùn)送比較少的貨物,用集裝箱好象有點(diǎn)不太合算,而如果要運(yùn)送上百噸的貨物,用集裝箱來運(yùn)送的成本會更低。在數(shù)據(jù)傳輸過程中也是一樣,如果數(shù)據(jù)量很小時(shí),使用同步I/O方式會更適合,如果數(shù)據(jù)量很大時(shí)(一般以G為單位),使用非阻塞I/O方式的效率會更高。因此,從理論上說,數(shù)據(jù)量越大,使用非阻塞I/O方式的單位成本就會越低。產(chǎn)生這種結(jié)果的原因和緩沖區(qū)的一些特性有著直接的關(guān)系。在本節(jié)中,將對緩沖區(qū)的一些主要特性進(jìn)行講解,使讀者可以充分理解緩沖區(qū)的概念,并能通過緩沖區(qū)來提高程序的執(zhí)行效率。  閱讀全文

    posted @ 2009-08-31 08:49 銀河使者 閱讀(3225) | 評論 (0)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(32):一個(gè)非阻塞I/O的例子
         摘要: 為了使讀者更好地理解非阻塞I/O,本節(jié)給出了一個(gè)簡單的例子用來演示如何將非阻塞I/O應(yīng)用到網(wǎng)絡(luò)程序中。讀者可以先不必管這個(gè)例子的具體細(xì)節(jié)。因?yàn)檫@個(gè)例子的主要目的并不是講解非阻塞I/O的使用,而是先讓讀者對非阻塞I/O有一個(gè)籠統(tǒng)的感性認(rèn)識。在看完這個(gè)例子后,讀者可能會有很多疑問,在本章后面的部分將會逐漸揭開這些迷團(tuán)。這個(gè)例子的主要功能是訪問新浪網(wǎng),并將新浪網(wǎng)的首頁在控制臺上輸出。  閱讀全文

    posted @ 2009-08-21 09:08 銀河使者 閱讀(3034) | 評論 (3)  編輯

    Android 資源和國際化
         摘要: 資源是您在代碼中使用到的并且在編譯時(shí)被打包進(jìn)您的應(yīng)用程序的附加文件。Android支持多種不同的文件,包括XML、PNG和JPEG文件。XML文件的格式?jīng)Q定于其描述的內(nèi)容。這些文件將描述文件支持的類型、語法或格式。  閱讀全文

    posted @ 2009-08-21 08:25 銀河使者 閱讀(3365) | 評論 (0)  編輯

    Android教程之實(shí)現(xiàn)動(dòng)作感應(yīng)技術(shù)
         摘要: 今天有個(gè)公司說需要?jiǎng)幼鞲袘?yīng)的幾個(gè)小游戲!也接觸android很久了,但是以前沒有看過關(guān)于動(dòng)作感應(yīng)技術(shù)的教程,到google上也沒搜索到類似教程!只有自己看API了,加上就其他平臺的動(dòng)作感應(yīng)試試吧!就在這里記錄下收獲吧!  閱讀全文

    posted @ 2009-08-17 10:32 銀河使者 閱讀(929) | 評論 (0)  編輯

    中國農(nóng)歷算法java實(shí)現(xiàn)
         摘要: 中國農(nóng)歷算法 - 實(shí)用于公歷 1901 年至 2100 年之間的 200 年   閱讀全文

    posted @ 2009-08-16 16:53 銀河使者 閱讀(1432) | 評論 (2)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(31):非阻塞I/O簡介
         摘要: 在網(wǎng)絡(luò)應(yīng)用中,一般可以采用同步I/O(阻塞I/O)和非阻塞I/O兩種方式進(jìn)行數(shù)據(jù)通訊。這兩種方式并非互相排斥和互相取代。我們可以在平時(shí)的應(yīng)用中單獨(dú)采用其中一種通訊方式,也可以混合使用這兩種通訊方式。在本文中就什么是非阻塞I/O以及為什么要使用這種通訊方式進(jìn)行了介紹,在下一篇文章中給出了一個(gè)簡單的例子來演示在網(wǎng)絡(luò)應(yīng)用中如何使用非阻塞I/O進(jìn)行通訊。  閱讀全文

    posted @ 2009-08-16 10:46 銀河使者 閱讀(3125) | 評論 (2)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(30):定制accept方法
         摘要: 使用ServerSocket類的implAccept方法可以使用accept方法返回一個(gè)Socket子類對象。但implAccept是protected方法,因此,必須在ServerSocket類的子類中覆蓋accept方法,然后在accept方法中使用implAccept方法重新設(shè)置Socket對象。  閱讀全文

    posted @ 2009-08-15 16:57 銀河使者 閱讀(2859) | 評論 (4)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(29):服務(wù)端Socket的選項(xiàng)
         摘要: ServerSocket類有以下三個(gè)選項(xiàng):

    1. SO_TIMEOUT: 設(shè)置accept方法的超時(shí)時(shí)間。

    2. SO_REUSEADDR:設(shè)置服務(wù)端同一個(gè)端口是否可以多次綁定。

    3. SO_RECBUF:設(shè)置接收緩沖區(qū)的大小。  閱讀全文

    posted @ 2009-08-12 14:50 銀河使者 閱讀(3201) | 評論 (1)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(28):獲取ServerSocket信息的方法及FTP原理
         摘要: 本文介紹了如何通過getLocalPort、getInetAddress和getLocalSocketAddress方法獲得服務(wù)端的信息,以及FTP的兩種模式:主動(dòng)模式和被動(dòng)模式,及其原理。  閱讀全文

    posted @ 2009-08-12 14:27 銀河使者 閱讀(4800) | 評論 (1)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(27):關(guān)閉服務(wù)端連接
         摘要: 在客戶端和服務(wù)端的數(shù)據(jù)交互完成后,一般需要關(guān)閉網(wǎng)絡(luò)連接。對于服務(wù)端來說,需要關(guān)閉Socket和ServerSocket。在關(guān)閉Socket后,客戶端并不會馬上感知自已的Socket已經(jīng)關(guān)閉,也就是說,在服務(wù)端的Socket關(guān)閉后,客戶端的Socket的isClosed和isConnected方法仍然會分別得到false和true。但對已關(guān)閉的Socket的輸入輸出流進(jìn)行操作會拋出一個(gè)SocketException異常。  閱讀全文

    posted @ 2009-08-04 09:26 銀河使者 閱讀(3707) | 評論 (3)  編輯

    在Android(OPhone)模擬器中加載和使用SDCard卡
         摘要: Android模擬器或真機(jī)都會有一定大小的內(nèi)部存儲空間(不是指內(nèi)存,指的是持久化存儲空間),但這并不夠,有時(shí)我們需要更大的存儲空間。為了在模擬器上開發(fā)使用擴(kuò)展存儲空間的程序,需要在PC上模擬一個(gè)SDCard的虛擬文件,然后加載到模擬器中。  閱讀全文

    posted @ 2009-07-28 16:11 銀河使者 閱讀(3881) | 評論 (0)  編輯

    想搶先體驗(yàn)Android操作系統(tǒng)的魅力嗎?那就使用Android LiveCD吧!
         摘要: 由于目前基于Android的手機(jī)在國內(nèi)還沒有上市,就算上市,可以也比較貴。如果只是為了體驗(yàn)android,花幾千元買個(gè)手機(jī)也不值得。不過幸好 Google想到了這一點(diǎn),剛剛推出了Android LiveCD 0.2。那么什么叫LiveCD呢?就是可以刻在光盤中啟動(dòng)的Android,可以在PC上運(yùn)行。當(dāng)然,也可以使用VMWare、VirtualPC等虛擬軟件來運(yùn)行。或使用某些刻錄軟件次LiveCD刻在U盤上,那就變成了Android LiveUSB了。要注意哦,Android LiveCD可不是Android SDK中的那個(gè)模擬器,它是真正的操作系統(tǒng),不是模擬的。用模擬器測程序并不一定符合真機(jī)的實(shí)際情況,而用Android LiveCD來測程序可以做到100%吻合,因?yàn)樗褪钦嬲牟僮飨到y(tǒng),唯一的不同就是一個(gè)運(yùn)行在PC上,一個(gè)運(yùn)行在手機(jī)上。不說廢話了,先來下一個(gè) Android LiveCD吧,可以完全免費(fèi)的哦。  閱讀全文

    posted @ 2009-07-25 11:37 銀河使者 閱讀(2864) | 評論 (2)  編輯

    生成n*n蛇形矩陣的算法
         摘要: 在描述算法之前,先看看下面的5*5的表格:

    1 3 4 10 11
    2 5 9 12 19
    6 8 13 18 20
    7 14 17 21 24
    15 16 22 23 25

    上面的表格很容易看出規(guī)律。就是從左上角第一個(gè)格開始(起始為1),然后延右上角到左下角的斜線。先從下到上,再從上到下。開始按數(shù)字遞增排列。也就是說每一個(gè)斜線上分別有如下幾組數(shù)字:

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25  閱讀全文

    posted @ 2009-07-24 11:04 銀河使者 閱讀(8690) | 評論 (7)  編輯

    android和OPhone模擬器界面對比
         摘要: OPhone是中國移動(dòng)推出的手機(jī)操作系統(tǒng)平臺,是基于android的,只是做了一些擴(kuò)展。在界面和widget的顯示效果還是有一些區(qū)別的。下面是我做的一個(gè)寫blog的應(yīng)用。看看它們的界面效果。  閱讀全文

    posted @ 2009-07-23 12:16 銀河使者 閱讀(2164) | 評論 (3)  編輯

    實(shí)現(xiàn)一個(gè)用于顯示當(dāng)前時(shí)間的Google Android 窗口小部件(AppWidget)
         摘要: Android不用我多說了,這是Google在2007年推出的一款主要用于移動(dòng)設(shè)備的操作系統(tǒng)。google在android sdk1.5中加入了appwidget api。通過這項(xiàng)技術(shù),可以在android手機(jī)的主界面(Home界面)顯示可以拖動(dòng)的窗口,用于顯示各種用戶需要的信息。至于顯示什么,就完全依靠開發(fā)人員的想象力了。OK,廢話少說。我們先來體驗(yàn)一下如何開發(fā)一個(gè)顯示當(dāng)前時(shí)間的appwidget。這個(gè)appwidget每秒刷新一次,顯示時(shí)、分和秒。  閱讀全文

    posted @ 2009-07-22 16:05 銀河使者 閱讀(2742) | 評論 (2)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(26):在服務(wù)端接收和發(fā)送數(shù)據(jù)
         摘要: 在建立完ServerSocket對象后,通過accept方法返回的Socket對象,服務(wù)端就可以和客戶端進(jìn)行數(shù)據(jù)交互。Socket類和ServerSocket類都有兩個(gè)得到輸入輸出流的方法:getInputStream和getOutputStream。對于Socket類而言,使用getInputStream方法得到的InputStream是從服務(wù)端獲取數(shù)據(jù),而getOutputStream方法得到的OutputStream是向服務(wù)端發(fā)送數(shù)據(jù)。而ServerSocket的getInputStream和getOutputStream方法也類似。InputStream從客戶端讀取數(shù)據(jù),OutputStream向客戶端發(fā)送數(shù)據(jù)。  閱讀全文

    posted @ 2009-07-20 13:53 銀河使者 閱讀(3015) | 評論 (2)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(25):創(chuàng)建ServerSocket對象
         摘要: ServerSocket類的構(gòu)造方法有四種重載形式,它們的定義如下:
    public ServerSocket() throws IOException
    public ServerSocket(int port) throws IOException
    public ServerSocket(int port, int backlog) throws IOException
    public ServerSocket(int port, int backlog, InetAddress bindAddr) throws IOException

    在上面的構(gòu)造方法中涉及到了三個(gè)參數(shù):port、backlog和bindAddr。其中port是ServerSocket對象要綁定的端口,backlog是請求隊(duì)列的長度,bindAddr是ServerSocket對象要綁定的IP地址。  閱讀全文

    posted @ 2009-07-12 19:40 銀河使者 閱讀(3766) | 評論 (2)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(24):實(shí)現(xiàn)HTTP斷點(diǎn)續(xù)傳下載工具(附源代碼)
         摘要: 在前面的文章曾討論了HTTP消息頭的三個(gè)和斷點(diǎn)繼傳有關(guān)的字段。一個(gè)是請求消息的字段Range,另兩個(gè)是響應(yīng)消息字段Accept-Ranges和Content-Range。其中Accept-Ranges用來斷定Web服務(wù)器是否支持?jǐn)帱c(diǎn)繼傳功能。在這里為了演示如何實(shí)現(xiàn)斷點(diǎn)繼傳功能,假設(shè)Web服務(wù)器支持這個(gè)功能;因此,我們只使用Range和Content-Range來完成一個(gè)斷點(diǎn)繼傳工具的開發(fā)。  閱讀全文

    posted @ 2009-07-02 18:11 銀河使者 閱讀(4727) | 評論 (2)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(23):HTTP消息頭字段
         摘要: 本文介紹了HTTP消息的學(xué)用頭字段的功能和用法,如Host、Connection、Range、Date、Content-Length等,本文的需要使用HTTP模擬器進(jìn)行測試,該模擬器請從如下地址下載:http://files.cnblogs.com/nokiaguy/HttpSimulator.rar  閱讀全文

    posted @ 2009-06-23 13:04 銀河使者 閱讀(3212) | 評論 (0)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(22):實(shí)現(xiàn)HTTP模擬器
         摘要: 在討論HTTP協(xié)議的具體請求和響應(yīng)頭字段之前,讓我們先來利用以前所學(xué)的知識來實(shí)現(xiàn)一個(gè)HTTP模擬器。所謂HTTP模擬器就是可以在用戶輸入HTTP的請求消息后,由這個(gè)模擬器將HTTP請求發(fā)送給相應(yīng)的服務(wù)器,再接收服務(wù)器的響應(yīng)消息。這個(gè)HTTP模擬器有幾下特點(diǎn):

    1. 可以手工輸入HTTP請求,并向服務(wù)器發(fā)送。

    2. 接收服務(wù)器的響應(yīng)消息。

    3. 消息頭和實(shí)體內(nèi)容分段顯示,也就是說,并不是象Telnet等客戶端一樣將HTTP響

    應(yīng)消息全部顯示,而是先顯示消息頭,然后由用戶決定是否顯示實(shí)體內(nèi)容。

    4. 集中發(fā)送請求。這個(gè)HTTP模擬器和Telnet不同的是,并不是一開始就連接服務(wù)器,而是將域名、端口以及HTTP請求消息都輸完后,才連接服務(wù)器,并將這些請求發(fā)送給服務(wù)器。這樣做的可以預(yù)防服務(wù)器提前關(guān)閉網(wǎng)絡(luò)連接的現(xiàn)象。

    5. 可以循環(huán)做上述的操作。
      閱讀全文

    posted @ 2009-06-09 12:16 銀河使者 閱讀(4672) | 評論 (11)  編輯

    eclipse + JBoss 5 + EJB3開發(fā)指南(14):消息驅(qū)動(dòng)Bean
         摘要: 在前面的文章中給出的SessionBean的例子都是同步調(diào)用SessionBean方法的,也就是說,只有當(dāng)方法中的代碼都執(zhí)行完,才能返回到客戶端。但在某些情況下,由于SessionBean方法的執(zhí)行時(shí)間比較長,這就需要異步地調(diào)用該方法,否則客戶端就需要等待比較長的時(shí)間。要實(shí)現(xiàn)異步調(diào)用,就需要使用本要講的消息驅(qū)動(dòng)Bean。消息驅(qū)動(dòng)Bean的基本原理是客戶端向消息服務(wù)器發(fā)送一條消息后,消息服務(wù)器會將該消息保存在消息隊(duì)列中。在這時(shí)消息服務(wù)器中的某個(gè)消費(fèi)者(讀取并處理消息的對象)會讀取該消息,并進(jìn)行處理。發(fā)送消息的客戶端被稱為消息生產(chǎn)者。  閱讀全文

    posted @ 2009-06-08 23:40 銀河使者 閱讀(2477) | 評論 (0)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(21):HTTP消息的格式
         摘要: 當(dāng)用戶在瀏覽器中輸入一個(gè)基于HTTP協(xié)議的URL時(shí)(以http://開頭的URL),就相當(dāng)于通知器按著這個(gè)URL組織生成一個(gè)HTTP請求,并交過個(gè)請求發(fā)送到服務(wù)器;同時(shí),等待服務(wù)器的響應(yīng)。無論是請求還是響應(yīng),都統(tǒng)稱為HTTP消息。  閱讀全文

    posted @ 2009-06-08 17:22 銀河使者 閱讀(3928) | 評論 (3)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(20):HTTP協(xié)議簡介
         摘要: HTTP協(xié)議是一種應(yīng)用層協(xié)議,HTTP是HyperText Transfer Protocol(超文本傳輸協(xié)議)的英文縮寫。HTTP可以通過傳輸層的TCP協(xié)議在客戶端和服務(wù)器之間傳輸數(shù)據(jù)。HTTP協(xié)議主要用于Web瀏覽器和 Web服務(wù)器之間的數(shù)據(jù)交換。我們在使用IE或Firefox瀏覽網(wǎng)頁或下載Web資源時(shí),通過在地址欄中輸入http://host:port /path,開頭的4個(gè)字母http就相當(dāng)于通知瀏覽器使用HTTP協(xié)議來和host所確定的服務(wù)器進(jìn)行通訊。  閱讀全文

    posted @ 2009-06-07 09:38 銀河使者 閱讀(4616) | 評論 (2)  編輯

    eclipse + JBoss 5 + EJB3開發(fā)指南(13):在Servlet中訪問應(yīng)用程序管制EntityManager對象
         摘要: 在前面的文章中使用的都是容器管制的EntityManager對象。這類EntityManager對象是由EJB容器創(chuàng)建的,在這種情況下,EntityManager對象的生命周期完全由EJB容器來管理。在SessionBean中可以使用如下的代碼來通知EJB容器創(chuàng)建 EntityManager對象:
    @PersistenceContext(unitName="myentity")
    protected EntityManager em;
    上面的代碼需要放在任意一個(gè)SessionBean的類中,EJB容器會自動(dòng)創(chuàng)建EntityManager對象。但如果要在Servlet中直接訪問 EntityManager對象,需要使用EntityManagerFactory接口的createEntityManager方法來創(chuàng)建 EntityManager對象,在使用完EntityManagerFactory和EntityManager對象后,可以使用相應(yīng)的close方方關(guān)閉這兩個(gè)對象。  閱讀全文

    posted @ 2009-06-06 14:07 銀河使者 閱讀(2193) | 評論 (2)  編輯

    eclipse + JBoss 5 + EJB3開發(fā)指南(12):使用命名查詢執(zhí)行JPQL
         摘要: 在EJB3中可以使用EntityManager對象的createQuery方法來執(zhí)行JPQL(類似于Hibernate中的HQL),這非常簡單。但使用createQuery方法處理JPQL時(shí),在每次執(zhí)行JPQL的過程中系統(tǒng)都需要對JPQL進(jìn)行分析,這在一定程度上降低了系統(tǒng)運(yùn)行時(shí)的性能。為此,EJB3提供了命名查詢的概念。命名查詢有些類型于數(shù)據(jù)庫中的存儲過程,在提交的過程中就已經(jīng)被編譯處理了。因此,在執(zhí)行效率上要高一些。  閱讀全文

    posted @ 2009-06-05 10:12 銀河使者 閱讀(3034) | 評論 (0)  編輯

    eclipse + JBoss 5 + EJB3開發(fā)指南(11):實(shí)體Bean的連接策略(JOINED Strategy)
         摘要: 本文介紹了如何使用連接策略(JOINED Strategy)對物理表進(jìn)行劃分。子表與父表共享主鍵。  閱讀全文

    posted @ 2009-06-04 15:31 銀河使者 閱讀(2078) | 評論 (0)  編輯

    “Duke選擇大獎(jiǎng)”薈萃2009最具創(chuàng)新的Java技術(shù)應(yīng)用
         摘要: Sun Microsystems公司(NASDAQ: JAVA)今天宣布第七屆年度“Duke選擇大獎(jiǎng)”(Duke’s Choice Awards)獲獎(jiǎng)?wù)呙麊巍!癉uke選擇大獎(jiǎng)”計(jì)劃旨在表彰過去一年里全球個(gè)人或公司開發(fā)的、最具影響力的Java技術(shù)應(yīng)用。這些獲獎(jiǎng)?wù)呤怯蒘un公司副總裁兼Sun研究院院士James Gosling和一個(gè)由Sun公司Java技術(shù)專家組成的小組評選確定的。如需有關(guān)獲獎(jiǎng)?wù)呒捌鋺?yīng)用的詳盡信息,請登錄:http://www.java.com/en/dukeschoice/。  閱讀全文

    posted @ 2009-06-03 19:10 銀河使者 閱讀(509) | 評論 (0)  編輯

    eclipse + JBoss 5 + EJB3開發(fā)指南(10):通過繼承實(shí)體Bean,將單個(gè)表映射成多個(gè)表(單表策略,SINGLE_TABLE)
         摘要: 如果以前使用過EJB1.x或EJB2.x的實(shí)體Bean,會發(fā)現(xiàn)無法通過繼承實(shí)體Bean將單個(gè)表分成多表。而在EJB3中,我們可以很容易地使用@Inheritance和@DiscriminatorColumn注釋來實(shí)現(xiàn)這個(gè)功能。  閱讀全文

    posted @ 2009-06-03 16:22 銀河使者 閱讀(1818) | 評論 (0)  編輯

    eclipse + JBoss 5 + EJB3開發(fā)指南(9):實(shí)現(xiàn)Entity Bean的多對多(many-to-many)映射
         摘要: 本文介紹了如何使用@ManyToMany注釋實(shí)現(xiàn)多對多的映射關(guān)系。在EJB3中多對多的映射關(guān)系需要使用一個(gè)連接表來描述。  閱讀全文

    posted @ 2009-06-03 16:15 銀河使者 閱讀(1792) | 評論 (0)  編輯

    eclipse + JBoss 5 + EJB3開發(fā)指南(8):實(shí)現(xiàn)Entity Bean的一對多(one-to-many)映射
         摘要: 本文介紹了如使用@OneToMany注釋來實(shí)現(xiàn)一對多的映射,以及使用@JoinTable注釋指定連接表來實(shí)現(xiàn)一對多的單向映射。  閱讀全文

    posted @ 2009-06-03 15:27 銀河使者 閱讀(2174) | 評論 (0)  編輯

    eclipse + JBoss 5 + EJB3開發(fā)指南(7):實(shí)現(xiàn)Entity Bean的一對一(one-to-one)映射
         摘要: 一對一映射是很常用的。在一般情況下,一個(gè)主表通過外鍵和從表形成一對一的關(guān)系。在EJB3中使用@OneToOne注釋來映射。一對一關(guān)系除了使用外鍵進(jìn)行關(guān)聯(lián)外,也可以采用共享主鍵的方式連接兩個(gè)表。  閱讀全文

    posted @ 2009-06-03 10:51 銀河使者 閱讀(2149) | 評論 (1)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(19):套接字(Socket)的異常
         摘要: 在Socket 類中有很多方法在聲明時(shí)使用throws拋出了一些異常,這些異常都是IOException的子類。在Socket類的方法中拋出最多的就是 SocketException,其余還有七個(gè)異常可供Socket類的方法拋出。這些異常的繼承關(guān)系如圖1所示。其中灰色背景框所描述的例外就是 Socket類的方法可能拋出的異常。  閱讀全文

    posted @ 2009-06-02 08:19 銀河使者 閱讀(3245) | 評論 (2)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(18):Socket類的getter和setter方法(2)
         摘要: 在Java類中,getter和setter方法占了很大的比重。由于Java中沒有定義屬性的關(guān)鍵字;因此,getter和setter方法用于獲得和設(shè)置Java類的屬性值;如getName和setName方法用于設(shè)置name屬性的值。如果某個(gè)屬性只有g(shù)etter方法,那這個(gè)屬性是只讀的;如果只有setter方法,那么這個(gè)屬性是只寫的。在Socket類中也有很多這樣的屬性來獲得和Socket相關(guān)的信息,以及對Socket對象的狀態(tài)進(jìn)行設(shè)置。  閱讀全文

    posted @ 2009-06-01 17:31 銀河使者 閱讀(3739) | 評論 (0)  編輯

    eclipse + JBoss 5 + EJB3開發(fā)指南(6):編寫第一個(gè)實(shí)體Bean程序
         摘要: EJB3容器通過EntityManager對象管理實(shí)體Bean,該類最主要的功能就是在記錄和JavaBean之間進(jìn)行互相映射。例如,我們從數(shù)據(jù)庫中查出一條記錄,這條記錄有field1和field2兩個(gè)字段,假設(shè)有一個(gè)JavaBean,也包含了field1和field2屬性。那么 EntityManager可以將這條記錄中的值映射到JavaBean的field1和field2屬性中。也就是說,在數(shù)據(jù)庫中的一條記錄就對應(yīng)于一個(gè)JavaBean的對象實(shí)例。下面將給出一個(gè)簡單的例子來演示如何來實(shí)現(xiàn)一個(gè)應(yīng)用實(shí)體Bean的程序。在這個(gè)例子中使用無狀態(tài)的session bean通過EntityManager對象從數(shù)據(jù)表中查找一條記錄,將該記錄映射成實(shí)體Bean的對象實(shí)例,最后通過session bean的方法返回該記錄的某個(gè)字段值。  閱讀全文

    posted @ 2009-05-29 22:02 銀河使者 閱讀(2597) | 評論 (0)  編輯

    Base64編碼原理與實(shí)現(xiàn)
         摘要: 本文介紹了Base64編碼的基本原理,并給出了一個(gè)簡單的Base64編碼的實(shí)現(xiàn)  閱讀全文

    posted @ 2009-05-29 19:20 銀河使者 閱讀(4776) | 評論 (0)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(17):Socket類的getter和setter方法(1)
         摘要: 在Java類中,getter和setter方法占了很大的比重。由于Java中沒有定義屬性的關(guān)鍵字;因此,getter和setter方法用于獲得和設(shè)置Java類的屬性值;如getName和setName方法用于設(shè)置name屬性的值。如果某個(gè)屬性只有g(shù)etter方法,那這個(gè)屬性是只讀的;如果只有setter方法,那么這個(gè)屬性是只寫的。在Socket類中也有很多這樣的屬性來獲得和Socket相關(guān)的信息,以及對Socket對象的狀態(tài)進(jìn)行設(shè)置。  閱讀全文

    posted @ 2009-05-29 09:43 銀河使者 閱讀(4778) | 評論 (3)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(16):客戶端套接字(Socket)的超時(shí)
         摘要: 客戶端套接字的超時(shí)(timeout)就是指在客戶端通過Socket和服務(wù)器進(jìn)行通訊的過程中,由于網(wǎng)絡(luò)延遲,網(wǎng)絡(luò)阻塞等原因,造成服務(wù)器并未及時(shí)響應(yīng)客戶端的一種現(xiàn)象。在一段時(shí)間后,客戶端由于未收到服務(wù)端的響應(yīng)而拋出一個(gè)超時(shí)錯(cuò)誤; 其中客戶端所等待的時(shí)間就是超時(shí)時(shí)間。由于生產(chǎn)超時(shí)錯(cuò)誤的一端都是被動(dòng)端;也就是說,這一端是在接收數(shù)據(jù),而不是發(fā)送數(shù)據(jù)。對于客戶端Socket來說,只有兩個(gè)地方是在接收數(shù)據(jù);一個(gè)是在連接服務(wù)器時(shí);另一個(gè)是在連接服務(wù)器成功后,接收服務(wù)器發(fā)過來的數(shù)據(jù)時(shí)。因此,客戶端超時(shí)也分為兩種類型:連接超時(shí)和讀取數(shù)據(jù)超時(shí)。  閱讀全文

    posted @ 2009-05-26 08:48 銀河使者 閱讀(3908) | 評論 (0)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(15):為什么要使用SocketAddress來管理網(wǎng)絡(luò)地址
         摘要: 在使用Socket來連接服務(wù)器時(shí)最簡單的方式就是直接使用IP和端口,但Socket類中的connect方法并未提供這種方式,而是使用 SocketAddress類來向connect方法傳遞服務(wù)器的IP和端口。雖然這種方式從表面上看要麻煩一些,但它會給我們帶來另外一個(gè)好處,那就是網(wǎng)絡(luò)地址的重用。  閱讀全文

    posted @ 2009-05-22 09:02 銀河使者 閱讀(12541) | 評論 (0)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(14):多種多樣的建立網(wǎng)絡(luò)連接的方式
         摘要: 在上一篇文章中我們討論了Socket類的基本用法,并給出的例子中使用Socket類連接服務(wù)器時(shí)使用了一種最簡單的連接方式,也就是通過IP和端口號來連接服務(wù)器。而為了使連接服務(wù)器的方式更靈活,Socket類不僅可以通過自身的構(gòu)造方法連接服務(wù)器,而且也可以通過connect方法來連接數(shù)據(jù)庫。  閱讀全文

    posted @ 2009-05-18 09:01 銀河使者 閱讀(4216) | 評論 (2)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(13):使用Socket類接收和發(fā)送數(shù)據(jù)
         摘要: 網(wǎng)絡(luò)應(yīng)用分為客戶端和服務(wù)端兩部分,而Socket類是負(fù)責(zé)處理客戶端通信的Java類。通過這個(gè)類可以連接到指定IP或域名的服務(wù)器上,并且可以和服務(wù)器互相發(fā)送和接受數(shù)據(jù)。在本文及后面的數(shù)篇文章中將詳細(xì)討論Socket類的使用,內(nèi)容包括Socket類基礎(chǔ)、各式各樣的連接方式、get和set方法、連接過程中的超時(shí)以及關(guān)閉網(wǎng)絡(luò)連接等。  閱讀全文

    posted @ 2009-05-14 10:21 銀河使者 閱讀(9235) | 評論 (3)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(12):使用isReachable方法探測主機(jī)是否可以連通
         摘要: 在J2SE5.0中的InetAddress類中增加了一個(gè)isReachable方法。可以使用這個(gè)方法來探測主機(jī)是否可以連通。  閱讀全文

    posted @ 2009-05-08 09:00 銀河使者 閱讀(4624) | 評論 (0)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(11):使用NetworkInterface類獲得網(wǎng)絡(luò)接口信息
         摘要: 從JDK1.4開始,Java提供了一個(gè)NetworkInterface類。這個(gè)類可以得到本機(jī)所有的物理網(wǎng)絡(luò)接口和虛擬機(jī)等軟件利用本機(jī)的物理網(wǎng)絡(luò)接口創(chuàng)建的邏輯網(wǎng)絡(luò)接口的信息。  閱讀全文

    posted @ 2009-05-08 08:53 銀河使者 閱讀(10278) | 評論 (9)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(10):Inet4Address類和Inet6Address類
         摘要: 為了區(qū)分IPv4和IPv6地址,Java提供了兩個(gè)類:Inet4Address和Inet6Address,它們都是InetAddress類的子類,這兩個(gè)類分別按著IPv4和IPv6的規(guī)則實(shí)現(xiàn)了InetAddress類中的public方法。它們所不同的是Inet6Address類比Inet4Address類多了一個(gè)方法:isIPv4CompatibleAddress,這個(gè)方法用來判斷一個(gè)IPv6地址是否和IPv4地址兼容。和IPv4兼容的IPv6地址除了最后四個(gè)字節(jié)有值名,其他的字節(jié)都是0,如0:0:0:0:0:0.192.168.18.10、::ABCD:FAFA都是和IPv4兼容的IPv6地址。  閱讀全文

    posted @ 2009-05-04 19:13 銀河使者 閱讀(5967) | 評論 (0)  編輯

    eclipse + JBoss 5 + EJB3開發(fā)指南(1):編寫第一個(gè)無狀態(tài)的SessionBean
         摘要: 本文中將編寫一個(gè)簡單的無狀態(tài)SessionBean。在發(fā)布EJB時(shí),一般需要將EJB程序以jar文件的形式進(jìn)行發(fā)布。這些jar文件將被放在\server\default\deploy目錄中。如果在Eclipse中開發(fā)EJB程序,需要進(jìn)行一些配置。首選需要在首選項(xiàng)(Preferences)對話框中設(shè)置JBoss的安裝目錄(如D:\jboss5)。然后在運(yùn)行配置對話框中添加jboss的運(yùn)行項(xiàng)。在jboss4.2及以后的版本中,默認(rèn)情況下jboss只接收來自localhost或127.0.0.1的請求,也就是只接收本地的訪問。為了使 jboss接收來自其他地址的請求,在啟動(dòng)jboss時(shí)需要使用-b命令行參數(shù)進(jìn)行設(shè)置。如下面的啟動(dòng)命令所示:run.bat -b 200.200.200.123,run.bat -b 0.0.0.0  閱讀全文

    posted @ 2009-05-01 14:39 銀河使者 閱讀(5290) | 評論 (3)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通 (9):使用isXxx方法判斷地址類型
         摘要: IP地址分為普通地址和特殊地址。在前面的文章中所使用的大多數(shù)都是普通的IP地址,在本文中將介紹如何利用InetAddress類提供的十個(gè)方法來確定一個(gè)IP地址是否是一個(gè)特殊的IP地址。  閱讀全文

    posted @ 2009-04-26 18:07 銀河使者 閱讀(4884) | 評論 (2)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(8):用getAddress方法獲得IP地址
         摘要: getAddress方法和getHostAddress類似,它們的唯一區(qū)別是getHostAddress方法返回的是字符串形式的IP地址,而getAddress方法返回的是byte數(shù)組形式的IP地址。getAddress方法的定義是public byte[] getAddress()。這個(gè)方法返回的byte數(shù)組是有符號的。在Java中byte類型的取值范圍是-128?127。如果返回的IP地址的某個(gè)字節(jié)是大于127的整數(shù),在byte數(shù)組中就是負(fù)數(shù)。由于Java中沒有無符號byte類型,因此,要想顯示正常的IP地址,必須使用int或long類型。  閱讀全文

    posted @ 2009-04-21 12:41 銀河使者 閱讀(5243) | 評論 (0)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(7):用getHostAddress方法獲得IP地址
         摘要: getHotAddress方法用來得到主機(jī)的IP地址,這個(gè)IP地址可能是IPv4的地址,也可能是IPv6的地址。getHostAddress方法的定義是public String getHostAddress()無論InetAddress對象是使用哪種方式創(chuàng)建的,getHostAddress方法都不會訪問DNS服務(wù)器。如果想訪問使用IPv6地址的遠(yuǎn)程主機(jī),需要在操作系統(tǒng)上安裝IPv6協(xié)議。  閱讀全文

    posted @ 2009-04-21 12:33 銀河使者 閱讀(6492) | 評論 (0)  編輯

    WebSphere社區(qū)版,Geronimo1.1八卦和GBean架構(gòu)
         摘要: IBM WebSphere AS基于Apache Geronimo的社區(qū)免費(fèi)版, 就像狼和狽終于走到一起,很可能要破壞應(yīng)用服務(wù)器市場的平衡。IBM WebSphere Application Server的品牌,Apache Geronimo以GBean架構(gòu)的開源大掃蕩,免費(fèi)且比JBoss的LGPL寬松得多的Apache 2.0 License, 讓安全第一的商業(yè)客戶,喜歡擺弄技術(shù)的程序員和只想省錢的老板可以在上面達(dá)成某種妥協(xié)。

      閱讀全文

    posted @ 2009-04-18 21:36 銀河使者 閱讀(826) | 評論 (0)  編輯

    將Java程序變成可執(zhí)行文件的簡單方法
         摘要: 運(yùn)行Java程序(SWING或SWT的桌面程序)可以直接執(zhí)行.class文件或?qū)⑺械?class文件及相關(guān)的其他文件壓縮成.jar文件,然后使用javaw -jar my.jar來運(yùn)行程序(其中my.jar是一個(gè)jar文件名,可以是任何指定的jar文件)。但在windows下,用戶習(xí)慣直接運(yùn)行一個(gè)exe來執(zhí)行程序。在網(wǎng)上有很多程序可以將my.jar或.class文件直接轉(zhuǎn)換成exe文件。但很多都是將jar或.class文件放到exe里成,這樣不太方便。有些工具,如javalauncher可以使用一個(gè)exe程序(用c語言寫的)來調(diào)用jar文件。但有時(shí)需要在運(yùn)行程序之間做些其他的工具,例如,在客戶端動(dòng)態(tài)從服務(wù)端下載最新版本的程序。因此,在本文將使用delphi2009實(shí)現(xiàn)一個(gè)簡單的可以調(diào)用jar文件的程序,讀者可以對這個(gè)程序進(jìn)行任何擴(kuò)展,本文還提供了該程序的源代碼和exe文件。  閱讀全文

    posted @ 2009-04-15 13:58 銀河使者 閱讀(4471) | 評論 (2)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(6):使用getCanonicalHostName方法獲得主機(jī)名
         摘要: getCanonicalHostName方法和getHostName方法一樣,也是得到遠(yuǎn)程主機(jī)的域名。但它們有一個(gè)區(qū)別。getCanonicalHostName得到的是主機(jī)名,而getHostName得到的主機(jī)別名。在訪問某些域名時(shí),getCanonicalHostName方法和getHostName方法的返回值是一樣的,這和DNS服務(wù)器如何解釋主機(jī)名和主機(jī)別名以及它們的設(shè)置有關(guān)。如通過www.ibm.com創(chuàng)建InetAddress對象后,使用getCanonicalHostName方法和getHostName方法返回的結(jié)果都是www.ibm.com(有時(shí)直接返回IP地址,這可能和IBM的DNS服務(wù)器的處理機(jī)制有關(guān))。如果DNS不允許通過IP地址得到域名,那么這兩個(gè)方法就會返回IP地址來代替域名。
      閱讀全文

    posted @ 2009-04-14 08:56 銀河使者 閱讀(6574) | 評論 (0)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(5):使用InetAddress類的getHostName方法獲得域名
         摘要: getHostName方法可以得到遠(yuǎn)程主機(jī)的域名,也可以得到本機(jī)名。getHostName方法的定義是public String getHostName(),勻樣可以使用三種方法創(chuàng)建InetAddress對象,這三種方法為:1.使用getLocalHost方法創(chuàng)建InetAddress對象。2.使用域名創(chuàng)建InetAddress對象。3. 使用IP地址創(chuàng)建InetAddress對象
      閱讀全文

    posted @ 2009-04-14 08:42 銀河使者 閱讀(5070) | 評論 (0)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(4):DNS緩存
         摘要: 在通過DNS查找域名的過程中,可能會經(jīng)過多臺中間DNS服務(wù)器才能找到指定的域名,因此,在DNS服務(wù)器上查找域名是非常昂貴的操作。在Java中為了緩解這個(gè)問題,提供了DNS緩存。當(dāng)InetAddress類第一次使用某個(gè)域名(如www.csdn.net)創(chuàng)建InetAddress對象后,JVM就會將這個(gè)域名和它從DNS上獲得的信息(如IP地址)都保存在DNS緩存中。當(dāng)下一次InetAddress類再使用這個(gè)域名時(shí),就直接從DNS緩存里獲得所需的信息,而無需再訪問DNS服務(wù)器。  閱讀全文

    posted @ 2009-04-06 21:06 銀河使者 閱讀(4870) | 評論 (2)  編輯

    IBM軟件集團(tuán)及五大軟件品牌
         摘要: 從1995年成立到今年,IBM軟件集團(tuán)已經(jīng)走過了10個(gè)年頭。從1995年起步至今,IBM軟件集團(tuán)已經(jīng)成為全球第二大軟件實(shí)體和全球領(lǐng)先的中間件供應(yīng)商。2004年,其收入高達(dá)151億美元,比2003年的增長8億美元。目前,IBM軟件占IBM公司總利潤超過三分之一。  閱讀全文

    posted @ 2009-04-02 19:29 銀河使者 閱讀(861) | 評論 (1)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(3):為什么不能直接通過IP訪問網(wǎng)站
         摘要: 在《創(chuàng)建InetAddress對象的四個(gè)靜態(tài)方法》一文中通過getAllByName得到了www.csdn.net對應(yīng)的四個(gè)IP地址。從理論上說,在IE(或其他的Web瀏覽器,如Firefox)的地址欄中輸入這四個(gè)IP地址中的任何一個(gè),都可能訪問www.csdn.net。如輸入http://211.100.26.124。但I(xiàn)E卻返回了一個(gè)錯(cuò)誤信息。在輸入另外三個(gè)IP后,都會得到同樣的錯(cuò)誤信息。  閱讀全文

    posted @ 2009-03-31 10:44 銀河使者 閱讀(4385) | 評論 (6)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(2):創(chuàng)建InetAddress對象的四個(gè)靜態(tài)方法
         摘要: InetAddress類是Java中用于描述IP地址的類。它在java.net包中。在Java中分別用Inet4Address和Inet6Address類來描述IPv4和IPv6的地址。這兩個(gè)類都是InetAddress的子類。由于InetAddress沒有public的構(gòu)造方法,因此,要想創(chuàng)建InetAddress對象,必須得依靠它的四個(gè)靜態(tài)方法。InetAddress可以通過getLocalHost方法得到本機(jī)的InetAddress對象,也可以通過getByName、getAllByName和getByAddress得到遠(yuǎn)程主機(jī)的InetAddress對象。  閱讀全文

    posted @ 2009-03-31 10:35 銀河使者 閱讀(5356) | 評論 (1)  編輯

    Java網(wǎng)絡(luò)編程從入門到精通(1):Internet地址概述
         摘要: 所有連入Internet的終端設(shè)備(包括計(jì)算機(jī)、PDA、打印機(jī)以及其他的電子設(shè)備)都有一個(gè)唯一的索引,這個(gè)索引被稱為IP地址。現(xiàn)在Internet上的IP地址大多由四個(gè)字節(jié)組成,這種IP地址叫做IPv4。除了這種由四個(gè)字節(jié)組成的IP,在Internet上還存在一種IP,這種IP由16個(gè)字節(jié)組成,叫做IPv6。IPv4和IPv6后面的數(shù)字是Internet協(xié)議(Internet Protocol,IP)的版本號。
      閱讀全文

    posted @ 2009-03-23 21:03 銀河使者 閱讀(6131) | 評論 (2)  編輯

    Java多線程初學(xué)者指南(12):使用Synchronized塊同步變量
         摘要: 我們可以通過synchronized塊來同步特定的靜態(tài)或非靜態(tài)方法。要想實(shí)現(xiàn)這種需求必須為這些特性的方法定義一個(gè)類變量,然后將這些方法的代碼用synchronized塊括起來,并將這個(gè)類變量作為參數(shù)傳入synchronized塊。在使用synchronized塊時(shí)應(yīng)注意,synchronized塊只能使用對象作為它的參數(shù)。如果是簡單類型的變量(如int、char、boolean等),不能使用synchronized來同步。  閱讀全文

    posted @ 2009-03-22 21:26 銀河使者 閱讀(7327) | 評論 (4)  編輯

    Java多線程初學(xué)者指南(11):使用Synchronized塊同步方法
         摘要: synchronized關(guān)鍵字有兩種用法。第一種就是在《使用Synchronized關(guān)鍵字同步類方法》一文中所介紹的直接用在方法的定義中。另外一種就是synchronized塊。我們不僅可以通過synchronized塊來同步一個(gè)對象變量。也可以使用synchronized塊來同步類中的靜態(tài)方法和非靜態(tài)方法。  閱讀全文

    posted @ 2009-03-22 21:15 銀河使者 閱讀(11345) | 評論 (1)  編輯

    Java多線程初學(xué)者指南(10):使用Synchronized關(guān)鍵字同步類方法
         摘要: 要想解決“臟數(shù)據(jù)”的問題,最簡單的方法就是使用synchronized關(guān)鍵字來使run方法同步。雖然可以使用synchronized來定義方法,但synchronized并不屬于方法定義的一部分,因此,synchronized關(guān)鍵字不能被繼承。如果在父類中的某個(gè)方法使用了synchronized關(guān)鍵字,而在子類中覆蓋了這個(gè)方法,在子類中的這個(gè)方法默認(rèn)情況下并不是同步的,而必須顯式地在子類的這個(gè)方法中加上synchronized關(guān)鍵字才可以。當(dāng)然,還可以在子類方法中調(diào)用父類中相應(yīng)的方法,這樣雖然子類中的方法不是同步的,但子類調(diào)用了父類的同步方法,因此,子類的方法也就相當(dāng)于同步了。  閱讀全文

    posted @ 2009-03-20 13:05 銀河使者 閱讀(9748) | 評論 (4)  編輯

    Java多線程初學(xué)者指南(9):為什么要進(jìn)行數(shù)據(jù)同步
         摘要: Java中的變量分為兩類:局部變量和類變量。局部變量是指在方法內(nèi)定義的變量,如在run方法中定義的變量。對于這些變量來說,并不存在線程之間共享的問題。因此,它們不需要進(jìn)行數(shù)據(jù)同步。類變量是在類中定義的變量,作用域是整個(gè)類。這類變量可以被多個(gè)線程共享。因此,我們需要對這類變量進(jìn)行數(shù)據(jù)同步。數(shù)據(jù)同步就是指在同一時(shí)間,只能由一個(gè)線程來訪問被同步的類變量,當(dāng)前線程訪問完這些變量后,其他線程才能繼續(xù)訪問。這里說的訪問是指有寫操作的訪問,如果所有訪問類變量的線程都是讀操作,一般是不需要數(shù)據(jù)同步的。  閱讀全文

    posted @ 2009-03-19 13:23 銀河使者 閱讀(4957) | 評論 (1)  編輯

    Java多線程初學(xué)者指南(8):從線程返回?cái)?shù)據(jù)的兩種方法
         摘要: 從線程中返回?cái)?shù)據(jù)和向線程傳遞數(shù)據(jù)類似。也可以通過類成員以及回調(diào)函數(shù)來返回?cái)?shù)據(jù)。但類成員在返回?cái)?shù)據(jù)和傳遞數(shù)據(jù)時(shí)有一些區(qū)別,下面讓我們來看看它們區(qū)別在哪。  閱讀全文

    posted @ 2009-03-19 13:02 銀河使者 閱讀(6894) | 評論 (0)  編輯

    Java多線程初學(xué)者指南(7):向線程傳遞數(shù)據(jù)的三種方法
         摘要: 在傳統(tǒng)的同步開發(fā)模式下,當(dāng)我們調(diào)用一個(gè)函數(shù)時(shí),通過這個(gè)函數(shù)的參數(shù)將數(shù)據(jù)傳入,并通過這個(gè)函數(shù)的返回值來返回最終的計(jì)算結(jié)果。但在多線程的異步開發(fā)模式下,數(shù)據(jù)的傳遞和返回和同步開發(fā)模式有很大的區(qū)別。由于線程的運(yùn)行和結(jié)束是不可預(yù)料的,因此,在傳遞和返回?cái)?shù)據(jù)時(shí)就無法象函數(shù)一樣通過函數(shù)參數(shù)和return語句來返回?cái)?shù)據(jù)。本文就以上原因介紹了幾種用于向線程傳遞數(shù)據(jù)的方法,在下一篇文章中將介紹從線程中返回?cái)?shù)據(jù)的方法。  閱讀全文

    posted @ 2009-03-16 23:18 銀河使者 閱讀(15843) | 評論 (2)  編輯

    Java多線程初學(xué)者指南(6):慎重使用volatile關(guān)鍵字
         摘要: volatile關(guān)鍵字相信了解Java多線程的讀者都很清楚它的作用。volatile關(guān)鍵字用于聲明簡單類型變量,如int、float、boolean等數(shù)據(jù)類型。如果這些簡單數(shù)據(jù)類型聲明為volatile,對它們的操作就會變成原子級別的。不過在使用volatile關(guān)鍵字時(shí)也要慎重,并不是只要簡單類型變量使用volatile修飾,對這個(gè)變量的所有操作都是原來操作,當(dāng)變量的值由自身的上一個(gè)決定時(shí),如n=n+1、n++等,volatile關(guān)鍵字將失效,只有當(dāng)變量的值和自身上一個(gè)值無關(guān)時(shí)對該變量的操作才是原子級別的,如n = m + 1,這個(gè)就是原級別的。所以在使用volatile關(guān)鍵時(shí)一定要謹(jǐn)慎,如果自己沒有把握,可以使用synchronized來代替volatile。  閱讀全文

    posted @ 2009-03-14 16:44 銀河使者 閱讀(9406) | 評論 (10)  編輯

    Java多線程初學(xué)者指南(5):join方法的使用
         摘要: 在上面的例子中多次使用到了Thread類的join方法。我想大家可能已經(jīng)猜出來join方法的功能是什么了。對,join方法的功能就是使異步執(zhí)行的線程變成同步執(zhí)行。也就是說,當(dāng)調(diào)用線程實(shí)例的start方法后,這個(gè)方法會立即返回,如果在調(diào)用start方法后后需要使用一個(gè)由這個(gè)線程計(jì)算得到的值,就必須使用join方法。如果不使用join方法,就不能保證當(dāng)執(zhí)行到start方法后面的某條語句時(shí),這個(gè)線程一定會執(zhí)行完。而使用join方法后,直到這個(gè)線程退出,程序才會往下執(zhí)行。  閱讀全文

    posted @ 2009-03-12 09:07 銀河使者 閱讀(5990) | 評論 (14)  編輯

    Java多線程初學(xué)者指南(4):線程的生命周期
         摘要: 與人有生老病死一樣,線程也同樣要經(jīng)歷開始(等待)、運(yùn)行、掛起和停止四種不同的狀態(tài)。這四種狀態(tài)都可以通過Thread類中的方法進(jìn)行控制。  閱讀全文

    posted @ 2009-03-11 12:15 銀河使者 閱讀(8273) | 評論 (3)  編輯

    Java多線程初學(xué)者指南(3):使用Runnable接口創(chuàng)建線程
         摘要: 實(shí)現(xiàn)Runnable接口的類必須使用Thread類的實(shí)例才能創(chuàng)建線程。通過Runnable接口創(chuàng)建線程分為兩步:1. 將實(shí)現(xiàn)Runnable接口的類實(shí)例化。2. 建立一個(gè)Thread對象,并將第一步實(shí)例化后的對象作為參數(shù)傳入Thread類的構(gòu)造方法。最后通過Thread類的start方法建立線程。  閱讀全文

    posted @ 2009-03-10 11:56 銀河使者 閱讀(5875) | 評論 (0)  編輯

    Java多線程初學(xué)者指南(2):用Thread類創(chuàng)建線程
         摘要: 一個(gè)普通的Java類只要從Thread類繼承,就可以成為一個(gè)線程類。并可通過Thread類的start方法來執(zhí)行線程代碼。雖然Thread類的子類可以直接實(shí)例化,但在子類中必須要覆蓋Thread類的run方法才能真正運(yùn)行線程的代碼。  閱讀全文

    posted @ 2009-03-07 14:06 銀河使者 閱讀(6561) | 評論 (5)  編輯

    Java多線程初學(xué)者指南(1):線程簡介
         摘要: 線程是程序運(yùn)行的基本執(zhí)行單元。當(dāng)操作系統(tǒng)(不包括單線程的操作系統(tǒng),如微軟早期的DOS)在執(zhí)行一個(gè)程序時(shí),會在系統(tǒng)中建立一個(gè)進(jìn)程,而在這個(gè)進(jìn)程中,必須至少建立一個(gè)線程(這個(gè)線程被稱為主線程)來作為這個(gè)程序運(yùn)行的入口點(diǎn)。因此,在操作系統(tǒng)中運(yùn)行的任何程序都至少有一個(gè)主線程。  閱讀全文

    posted @ 2009-03-07 13:43 銀河使者 閱讀(5244) | 評論 (0)  編輯

    Struts1.x系列教程(24):配置文件總結(jié)
         摘要: 要想使用Struts,至少要依靠兩個(gè)配置文件:web.xml和struts-config.xml。其中web.xml用來安裝Struts框架。而struts-config.xml用來配置在Struts框架中要使用的資源。如Formbean、Action、插件等。如果使用了某些插件,如Validator、Tiles等。還可能需要其他的配置文件。雖然在前面的文章中已多次使用了這兩個(gè)配置文件,但都是分散介紹的。因此,在本文將對這些配置進(jìn)行一下總結(jié)和回顧,以使讀者對Struts的配置有一個(gè)更清醒的認(rèn)識。  閱讀全文

    posted @ 2009-02-27 17:40 銀河使者 閱讀(4013) | 評論 (2)  編輯

    Struts1.x系列教程(23):使用Tiles模板進(jìn)行布局
         摘要: Tiles提供的模板機(jī)制可以最大限度地避免重復(fù)編寫代碼。實(shí)際上,Tiles模板就是的JSP頁面,只是在這種JSP頁面中使用Tiles標(biāo)簽代替確定不了的內(nèi)容(相當(dāng)于占位符),也就是需要在開發(fā)人員使用模板時(shí)來確定的內(nèi)容。除了這一點(diǎn),Tiles模板頁面和普通的JSP頁面完全相同。  閱讀全文

    posted @ 2009-02-27 17:06 銀河使者 閱讀(3658) | 評論 (3)  編輯

    Struts1.x系列教程(22):Tiles框架簡介
         摘要: Tiles框架是Struts的一個(gè)插件。我們可以使用Tiles框架來進(jìn)行頁面布局設(shè)計(jì)。Tiles框架提供了一種模板機(jī)制,它可以將網(wǎng)頁內(nèi)容和布局分離,并允許先創(chuàng)建模板,然后在頁面中再插入具體的內(nèi)容。  閱讀全文

    posted @ 2009-02-25 22:42 銀河使者 閱讀(3057) | 評論 (0)  編輯

    Struts1.x系列教程(21):使用MappingDispatchAction類調(diào)用不同的Action方法
         摘要: 與LookupDispatchAction、DispatchAction不同,MappingDispatchAction類并不通過請求參數(shù)來指定動(dòng)作,而是將一個(gè)Struts動(dòng)作對應(yīng)于一個(gè)Action方法。下面的例子演示了如何使用MappingDispatchAction類來將Struts 動(dòng)作和Action方法相對應(yīng)。  閱讀全文

    posted @ 2009-02-24 19:55 銀河使者 閱讀(2914) | 評論 (0)  編輯

    Struts1.x系列教程(20):使用EventDispatchAction類處理一個(gè)form多個(gè)submit
         摘要: 雖然LookupDispatchAction類可以很好地處理擁有多個(gè)提交按鈕的Form,但是必須要和屬性文件相關(guān)聯(lián),而且還得在getKeyMethodMap方法中進(jìn)行key和Action方法的映射,使用起來十分不方便。從Struts1.2.9開始,加入了另一個(gè)用于處理多個(gè)提交動(dòng)作的EventDispatchAction類。這個(gè)類也是DispatchAction的子類,它在使用上要比LookupDispatchAction類容易的多。EventDispatchAction類的基本原理是通過元素的parameter屬性指定多個(gè)動(dòng)作,中間用逗號(,)分隔。每個(gè)動(dòng)作實(shí)際上就是標(biāo)簽的property屬性值。這樣EventDispatchAction類就可以根據(jù)每個(gè)標(biāo)簽的屬性值來確定用戶按的是哪個(gè)提交按鈕了。  閱讀全文

    posted @ 2009-02-24 15:07 銀河使者 閱讀(2385) | 評論 (1)  編輯

    Struts1.x系列教程(19):LookupDispatchAction類處理一個(gè)form多個(gè)submit
         摘要: 有時(shí)在HTML form中需要提供多個(gè)提交按鈕,這時(shí)LookupDispatchAction類就派上用場了。LookupDispatchAction是DispatchAction的子類,用于處理客戶端代碼中有一個(gè)Form含有多個(gè)提交按鈕的情況。  閱讀全文

    posted @ 2009-02-23 21:34 銀河使者 閱讀(2805) | 評論 (0)  編輯

    Struts1.x系列教程(18):使用DispatchAction類調(diào)用多個(gè)Action方法
         摘要: 在使用Struts動(dòng)作時(shí),每一個(gè)Action都需要編寫一個(gè)類,并且要在struts-config.xml進(jìn)行配置。這對于一個(gè)擁有很多Action的Web程序來說,工作量是非常大的。為此,Struts提供了DispatchAction類,這個(gè)類允許將一個(gè)Action作為一個(gè)方法來調(diào)用。在Web瀏覽器中通過請求參數(shù)來指定要調(diào)用的動(dòng)作。  閱讀全文

    posted @ 2009-02-20 14:01 銀河使者 閱讀(5821) | 評論 (5)  編輯

    Struts1.x系列教程(17):使用IncludeAction和ForwardAction類包含和轉(zhuǎn)入Web資源
         摘要: 在本文介紹了如何使用IncludeAction和ForwardAction類包含和轉(zhuǎn)入Web資源。這兩個(gè)類與標(biāo)簽的功能相同,但Struts建議使用這兩個(gè)類來實(shí)現(xiàn)包含和轉(zhuǎn)入web資源的功能。  閱讀全文

    posted @ 2009-02-19 10:36 銀河使者 閱讀(2605) | 評論 (1)  編輯

    Struts1.x系列教程(16):使用LocaleAction類實(shí)現(xiàn)國際化的Web程序
         摘要: 我們曾經(jīng)在《Struts1.x系列教程(13):國際化》一文中講過如何通過編程的方式實(shí)現(xiàn)多語言的Web頁面。在本文中,我們會介紹另外一種實(shí)現(xiàn)多語言Web頁面的方法。這種方式與《Struts1.x系列教程(13):國際化》一文中所介紹的方法的區(qū)別就是無需編寫一行代碼就可以完成多語言的設(shè)置。  閱讀全文

    posted @ 2009-02-19 09:18 銀河使者 閱讀(2481) | 評論 (0)  編輯

    Struts1.x系列教程(15):使用DownloadAction類統(tǒng)計(jì)文件下載次數(shù)
         摘要: 除了標(biāo)準(zhǔn)的org.apache.struts.action.Action類外,在Struts中還提供了另外7個(gè)Action類來完成特殊的工作。本文及后面的文章中將介紹這些Action類的用法。  閱讀全文

    posted @ 2009-02-18 10:34 銀河使者 閱讀(3342) | 評論 (0)  編輯

    WebService大講堂之Axis2(10):使用soapmonitor模塊監(jiān)視soap請求與響應(yīng)消息
         摘要: 在Axis2中提供了一個(gè)Axis2模塊(soapmonitor),該模塊實(shí)現(xiàn)了與《WebService大講堂之Axis2(9):編寫Axis2模塊(Module)》中實(shí)現(xiàn)的logging模塊相同的功能,所不同的是,logging模塊直接將SOAP請求與響應(yīng)消息輸出到Tomcat控制臺中,而soapmonitor模塊利用applet直接在頁面中輸出SOAP請求和響應(yīng)消息。  閱讀全文

    posted @ 2009-02-17 09:22 銀河使者 閱讀(9218) | 評論 (8)  編輯

    Struts1.x系列教程(14):動(dòng)態(tài)Form
         摘要: 雖然ActionForm功能強(qiáng)大,但有些時(shí)候使用起來有些麻煩。如每建立一個(gè)用戶錄入界面(JSP頁面),就得建立一個(gè)ActionForm子類來和這個(gè)頁面對應(yīng)。當(dāng)然,我們可以采用嵌套屬性從一定程度上彌補(bǔ)這個(gè)問題。但是在建立新的用戶錄入界面時(shí),仍不可避免地要建立新的ActionForm子類。在Struts1.2.6及以后的Struts版本中提供了一種動(dòng)態(tài)Form的技術(shù)。使得不用再建立新的ActionForm就可以封裝用戶提交的數(shù)據(jù)。實(shí)際上,這種技術(shù)將定義ActionForm子類的工作變成了編寫XML文件的工作。  閱讀全文

    posted @ 2009-02-16 17:22 銀河使者 閱讀(4626) | 評論 (4)  編輯

    Struts1.x系列教程(13):國際化
         摘要: 對于一個(gè)面向全球的Web應(yīng)用程序,按著不同國家的要求顯示相關(guān)信息(稱為國際化)顯得尤為重要。國際化的工作非常復(fù)雜和繁瑣。因?yàn)橐g很多Web界面,信息格式等。然而,Struts為我們提供了完成國際化工作的更容易的方式。在本文將介紹如何使用Struts來簡化國際化的工作。  閱讀全文

    posted @ 2009-02-16 09:53 銀河使者 閱讀(3687) | 評論 (3)  編輯

    WebService大講堂之Axis2(9):編寫Axis2模塊(Module)
         摘要: Axis2可以通過模塊(Module)進(jìn)行擴(kuò)展。Axis2模塊至少需要有兩個(gè)類,這兩個(gè)類分別實(shí)現(xiàn)了Module和Handler接口。開發(fā)和使用一個(gè)Axis2模塊的步驟如下:

    1. 編寫實(shí)現(xiàn)Module接口的類。Axis2模塊在進(jìn)行初始化、銷毀等動(dòng)作時(shí)會調(diào)用該類中相應(yīng)的方法)。

    2. 編寫實(shí)現(xiàn)Handler接口的類。該類是Axis2模塊的業(yè)務(wù)處理類。

    3. 編寫module.xml文件。該文件放在META-INF目錄中,用于配置Axis2模塊。

    4. 在axis2.xml文件中配置Axis2模塊。

    5. 在services.xml文件中配置Axis2模塊。每一個(gè)Axis2模塊都需要使用元素引用才能使用。

    6. 發(fā)布Axis2模塊。需要使用jar命令將Axis2模塊壓縮成.mar包(文件擴(kuò)展名必須是.mar),然后將.mar文件放在\webapps\axis2\WEB-INF\modules目錄中。  閱讀全文

    posted @ 2009-02-16 09:05 銀河使者 閱讀(12781) | 評論 (3)  編輯

    Struts1.x系列教程(12):Validator驗(yàn)證框架的內(nèi)置標(biāo)準(zhǔn)驗(yàn)證
         摘要: 本文介紹了Struts 1.x Validator驗(yàn)證框架的內(nèi)置標(biāo)準(zhǔn)驗(yàn)證。  閱讀全文

    posted @ 2009-02-14 19:27 銀河使者 閱讀(3696) | 評論 (0)  編輯

    Struts1.x系列教程(11):Validator驗(yàn)證框架高級應(yīng)用
         摘要: 在《Struts1.x系列教程(10):Validator驗(yàn)證框架入門》一文中給出的例子中的name、age和email都是簡單的屬性,如果是嵌套的屬性(也就是一個(gè)屬性的數(shù)據(jù)類型是另外一個(gè)帶有屬性的類),可以使用圓點(diǎn)(.)符號來訪問。如我們可以通過設(shè)置元素的property屬性值為“employee.salary”來驗(yàn)證employee屬性中的salary屬性。  閱讀全文

    posted @ 2009-02-14 19:14 銀河使者 閱讀(3399) | 評論 (1)  編輯

    WebService大講堂之Axis2(8):異步調(diào)用WebService
         摘要: 在前面幾篇文章中都是使用同步方式來調(diào)用WebService。也就是說,如果被調(diào)用的WebService方法長時(shí)間不返回,客戶端將一直被阻塞,直到該方法返回為止。使用同步方法來調(diào)用WebService雖然很直觀,但當(dāng)WebService方法由于各種原因需要很長時(shí)間才能返回的話,就會使客戶端程序一直處于等待狀態(tài),這樣用戶是無法忍受的。當(dāng)然,我們很容易就可以想到解決問題的方法,這就是多線程。解決問題的基本方法是將訪問WebService的任務(wù)交由一個(gè)或多個(gè)線程來完成,而主線程并不負(fù)責(zé)訪問WebService。這樣即使被訪問的WebService方法長時(shí)間不返回,客戶端仍然可以做其他的工作。我們可以管這種通過多線程訪問WebService的方式稱為異步訪問。雖然直接使用多線程可以很好地解決這個(gè)問題,但比較麻煩。幸好Axis2的客戶端提供了異步訪問WebService的功能。  閱讀全文

    posted @ 2009-02-13 14:23 銀河使者 閱讀(14894) | 評論 (9)  編輯

    WebService大講堂之Axis2(7):將Spring的裝配JavaBean發(fā)布成WebService
         摘要: 在現(xiàn)今的Web應(yīng)用中經(jīng)常使用Spring框架來裝載JavaBean。如果要想將某些在Spring中裝配的JavaBean發(fā)布成WebService,使用Axis2的Spring感知功能是非常容易做到的。在本文的例子中,除了\webapps\axis2目錄及該目錄中的相關(guān)庫外,還需要Spring框架中的spring.jar文件,將該文件復(fù)制到\webapps\axis2\WEB-INF\lib目錄中。  閱讀全文

    posted @ 2009-02-13 09:14 銀河使者 閱讀(17225) | 評論 (15)  編輯

    Struts1.x系列教程(10):Validator驗(yàn)證框架入門
         摘要: Validator框架是一個(gè)Struts插件,最初由David Winterfeldt設(shè)計(jì)并實(shí)現(xiàn)。Validator框架從Struts 0.5時(shí)代就可以使用,但那時(shí)Validator框架只是被捐助的一個(gè)jar包。Apache組織為了使開發(fā)人員更方便地使用Validator框架,決定從Struts1.1開始,將Validator框架作為Struts的一部分同Struts一起發(fā)布。  閱讀全文

    posted @ 2009-02-12 16:55 銀河使者 閱讀(7786) | 評論 (7)  編輯

    Struts 2雜談(1):ValueStack對象的傳送帶機(jī)制
         摘要: 眾所周知,Strut 2的Action類通過屬性可以獲得所有相關(guān)的值,如請求參數(shù)、Action配置參數(shù)、向其他Action傳遞屬性值(通過chain結(jié)果)等等。要獲得這些參數(shù)值,我們要做的唯一一件事就是在Action類中聲明與參數(shù)同名的屬性,在Struts 2調(diào)用Action類的Action方法(默認(rèn)是execute方法)之前,就會為相應(yīng)的Action屬性賦值。這一切主要是依靠ValueStack對象實(shí)現(xiàn)的。  閱讀全文

    posted @ 2009-02-11 22:22 銀河使者 閱讀(5727) | 評論 (4)  編輯

    Weblogic10 + EJB3入門教程(1):編寫第一個(gè)無狀態(tài)會話Bean(Stateless Session Bean)
         摘要: 在本文主要介紹如何來開發(fā)一個(gè)Stateless Session Bean,并在未安裝WebLogic10的機(jī)器上訪問Session Bean。開發(fā)EJB3 Stateless Session Bean要比開發(fā)EJB2 Stateless Session Bean容易得多,只需要幾個(gè)注釋就可以搞定。  閱讀全文

    posted @ 2009-02-08 21:50 銀河使者 閱讀(4384) | 評論 (6)  編輯

    Struts1.x系列教程(9):上傳任意多個(gè)文件
         摘要: 從《Struts1.x系列教程(8):上傳單個(gè)文件》中給出的例子可以看出,在Struts1.x中上傳單個(gè)文件是非常簡單的,但在實(shí)際應(yīng)用中,上傳文件的個(gè)數(shù)一般是不確定的,如在網(wǎng)絡(luò)硬盤中,用戶可以根據(jù)自己的需要上傳任意多個(gè)文件(當(dāng)然,網(wǎng)絡(luò)硬盤一次上傳文件的數(shù)目一般也是有上限的,如50個(gè),但用戶可以只上傳了3個(gè)文件,因此,在這種情況下,上傳文件的個(gè)數(shù)也是不確定的)。如果讀者用過“網(wǎng)易網(wǎng)盤”或其他類似的服務(wù)程序,它們的上傳文件功能基本上都是根據(jù)用戶選擇的文件多少來添加要上傳的文件(并不是一開始就在界面上放很多<input type=’file’>元素來讓用戶輸入上傳文件名)。為了讓讀者也可以使用Struts來實(shí)現(xiàn)這個(gè)功能,在本節(jié)將給出一個(gè)用Struts實(shí)現(xiàn)的類似“網(wǎng)易網(wǎng)盤”的上傳任意多個(gè)文件的Web程序。  閱讀全文

    posted @ 2009-02-07 19:01 銀河使者 閱讀(4608) | 評論 (5)  編輯

    在applet中訪問本地資源
         摘要: applet運(yùn)行在沙盒中,因此,對于不了解簽名的開發(fā)人員,使用applet來訪問本地資源被認(rèn)為是“不可能完成的任務(wù)”,然而,我們可以使用keytool、jarsigner命令對jar文件進(jìn)行簽名,這樣applet就可以在客戶端隨心所欲了,當(dāng)然,這和ocx控件一樣,也需要客戶端進(jìn)行確認(rèn)。  閱讀全文

    posted @ 2009-02-06 21:46 銀河使者 閱讀(3190) | 評論 (2)  編輯

    Struts2.1.6測試小記
         摘要: 經(jīng)筆者測試,Struts2.1.6并不與Struts2.0.14完全兼容,如在struts2.1.6中還需要一個(gè)commons-fileupload-1.2.1.jar文件才能正常使用,而在struts2.0.14中并不需要這個(gè)文件。Struts2.1.6至少需要6個(gè)jar文件才能正常工作,這6個(gè)jar文件是:struts2-core-2.1.6.jar、freemarker-2.3.13.jar、commons-logging-1.0.4.jar、ognl-2.6.11.jar、xwork-2.1.2.jar、commons-fileupload-1.2.1.jar。  閱讀全文

    posted @ 2009-02-06 12:55 銀河使者 閱讀(5491) | 評論 (14)  編輯

    WebService大講堂之Axis2(6):跨服務(wù)會話(Session)管理
         摘要: 在《WebService大講堂之Axis2(5):會話(Session)管理》一文中介紹了如何使用Axis2來管理同一個(gè)服務(wù)的會話,但對于一個(gè)復(fù)雜的系統(tǒng),不可能只有一個(gè)WebService服務(wù),例如,至少會有一個(gè)管理用戶的WebService(用戶登錄和注冊)以及處理業(yè)務(wù)的WebService。象這種情況,就必須在多個(gè)WebService服務(wù)之間共享會話狀態(tài),也稱為跨服務(wù)會話(Session)管理。實(shí)現(xiàn)跨服務(wù)會話管理與實(shí)現(xiàn)同一個(gè)服務(wù)的會話管理的步驟類似,但仍然有一些差別,實(shí)現(xiàn)跨服務(wù)會話管理的步驟如下:

    實(shí)現(xiàn)跨服務(wù)的Session管理需要如下三步:

    1. 使用MessageContext和ServiceGroupContext獲得與設(shè)置key-value對。

    2. 為要進(jìn)行Session管理的WebService類所對應(yīng)的元素添加一個(gè)scope屬性,并將該屬性值設(shè)為application。

    3. 在客戶端使用setManageSession(true)打開Session管理功能。  閱讀全文

    posted @ 2009-02-03 23:42 銀河使者 閱讀(13841) | 評論 (20)  編輯

    Struts1.x系列教程(8):上傳單個(gè)文件
         摘要: 在Web程序中的上傳文件的功能一般會使用<input type=file.../>標(biāo)簽在客戶端顯示輸入要上傳的文件名的用戶接口。如果讀者使用過JSP/Servlet來處理客戶端上傳的文件就會知道,實(shí)現(xiàn)這個(gè)功能并不是很容易。而在Struts中為我們提供了一種機(jī)制,可以非常方便地將客戶端上傳的文件保存在服務(wù)端。在Struts Html標(biāo)簽庫中提供了一個(gè)<html:file>標(biāo)簽,可以和FormFile類型的屬性一起使用。通過這個(gè)屬性返回的FormFile對象,就可以很方便地獲得上傳文件的InputStream對象,并做進(jìn)一步地處理。  閱讀全文

    posted @ 2009-02-03 09:43 銀河使者 閱讀(4169) | 評論 (0)  編輯

    跳出多層循環(huán)的簡單方法(Java版)
         摘要: goto語句往往被認(rèn)為是跳出多層循環(huán)最簡單的方法,但在Java中雖然保留了goto關(guān)鍵字,但卻不能使用。不過Java提供了另外一種與goto語句相似的方法來解決這個(gè)問題,這就是break n和continue n語句。  閱讀全文

    posted @ 2009-01-30 11:23 銀河使者 閱讀(3352) | 評論 (8)  編輯

    WebService大講堂之Axis2(5):會話(Session)管理
         摘要: 使用Axis2來管理WebService的會話(Session)狀態(tài)基本上對于開發(fā)人員是透明的。在WebService類需要使用org.apache.axis2.context.MessageContext和org.apache.axis2.context.ServiceContext類來保存與獲得保存在服務(wù)端的狀態(tài)信息,這有些象使用HttpSession接口的getAttribute和setAttribute方法獲得與設(shè)置Session域?qū)傩浴?div align="center">
      閱讀全文

    posted @ 2009-01-26 00:00 銀河使者 閱讀(18512) | 評論 (31)  編輯

    WebService大講堂之Axis2(4):二進(jìn)制文件傳輸
         摘要: 在WebService類中除了可以使用byte[]作為傳輸二進(jìn)制的數(shù)據(jù)類型外,也可以使用javax.activation.DataHandler作為數(shù)據(jù)類型。 不管是使用byte[],還是使用javax.activation.DataHandler作為WebService方法的數(shù)據(jù)類型,使用wsdl2java命令生成的stub類中相應(yīng)方法的類型都是javax.activation.DataHandler。而象使用.net、delphi生成的stub類的相應(yīng)方法類型都是byte[]。這是由于javax.activation.DataHandler類是Java特有的,對于其他語言和技術(shù)來說,并不認(rèn)識javax.activation.DataHandler類,因此,也只有使用最原始的byte[]了。  閱讀全文

    posted @ 2009-01-22 10:28 銀河使者 閱讀(22529) | 評論 (18)  編輯

    WebService大講堂之Axis2(3):使用services.xml文件發(fā)布WebService
         摘要: 在本文將介紹一下如何使用services.xml文件將帶包的POJO類發(fā)布成WebService,以及如何發(fā)布多個(gè)WebService。  閱讀全文

    posted @ 2009-01-21 18:08 銀河使者 閱讀(56714) | 評論 (59)  編輯

    Struts1.x系列教程(7):Logic標(biāo)簽庫
         摘要: Struts Logic標(biāo)簽庫包含了如下三類標(biāo)簽:循環(huán)標(biāo)簽:iterate標(biāo)簽。用于枚舉數(shù)組、集合類型對象中的元素; 條件處理標(biāo)簽:用于是否相等、比較大小等判斷。這類標(biāo)簽有empty、equal 、greaterEqual、greaterThan、lessEqual、lessThan、match、messagesNotPresent、messagesPresent、notEmpty、notEqual、notMatch、notPresent、present;流控制標(biāo)簽:用于轉(zhuǎn)向其他的頁面。redirect和forward屬性這類標(biāo)簽。  閱讀全文

    posted @ 2009-01-19 22:21 銀河使者 閱讀(4729) | 評論 (0)  編輯

    Struts1.x系列教程(6):Bean標(biāo)簽庫
         摘要: Bean標(biāo)簽庫共有11個(gè)標(biāo)簽。這些標(biāo)簽可以完成五種工作:獲得HTTP請求信息、訪問Java對象、訪問JSP內(nèi)嵌對象和Struts配置對象、訪問Web資源和屬性文件、輸出信息.  閱讀全文

    posted @ 2009-01-18 22:36 銀河使者 閱讀(5808) | 評論 (0)  編輯

    09考研數(shù)據(jù)結(jié)構(gòu)試題的一種解法(Java版)
         摘要: 雖然研究生已畢業(yè),但看到有一些難度的研究生考試題還是忍不住要做做,本文給出了09年研究生入學(xué)考試的一道數(shù)據(jù)結(jié)構(gòu)題的Java實(shí)現(xiàn)。本文給出的算法的空間復(fù)雜度為O(1),時(shí)間復(fù)雜度為O(n)。  閱讀全文

    posted @ 2009-01-17 20:50 銀河使者 閱讀(3491) | 評論 (7)  編輯

    Struts1.x系列教程(5):HTML標(biāo)簽庫
         摘要: HTML標(biāo)簽庫中的標(biāo)簽基本上都是和HTML Tag一一對應(yīng)的。但我們經(jīng)常使用的主要是標(biāo)簽及其子標(biāo)簽。因此,在本文將介紹一下及其常用子標(biāo)簽的用法。  閱讀全文

    posted @ 2009-01-16 16:54 銀河使者 閱讀(5426) | 評論 (0)  編輯

    用緩沖技術(shù)提高JSP程序性能和穩(wěn)定性
         摘要: 在Web應(yīng)用中,有些報(bào)表的生成可能需要數(shù)據(jù)庫花很長時(shí)間才能計(jì)算出來;有的網(wǎng)站提供天氣信息,它需要訪問遠(yuǎn)程服務(wù)器進(jìn)行SOAP調(diào)用才能得到溫度信息。所有這一切都屬于復(fù)雜信息的例子。在Web頁面中加入過多的復(fù)雜信息可能導(dǎo)致Web服務(wù)器、數(shù)據(jù)庫服務(wù)器負(fù)荷過重。 JSP代碼塊緩沖為開發(fā)者帶來了隨意地增加各種復(fù)雜信息的自由。
      閱讀全文

    posted @ 2009-01-16 08:57 銀河使者 閱讀(351) | 評論 (1)  編輯

    Struts1.x系列教程(4):標(biāo)簽庫概述與安裝
         摘要: Struts的整個(gè)視圖層(就是MVC模式中的View層)是由Struts的定制標(biāo)簽(或者稱為定制動(dòng)作)和客戶端代碼(Javascript、HTML等)實(shí)現(xiàn)的。這些Struts標(biāo)簽被寫在JSP頁面中,用于生成客戶端代碼、進(jìn)行邏輯判斷等工作,使用Struts標(biāo)簽可以盡量避免直接在JSP頁面中直接使用Java代碼,以使得JSP頁面更容易編寫和維護(hù)。  閱讀全文

    posted @ 2009-01-15 11:53 銀河使者 閱讀(4995) | 評論 (0)  編輯

    Struts1.x系列教程(3):屬性(資源)文件亂碼問題的解決之道
         摘要: 資源文件不僅僅需要保存英文信息,在很多時(shí)候,也需要保存其他的語言信息,如中文信息。但Java的屬性文件只支持英文,要想在屬性文件中保存中文,需要使用\uxxxx格式,但這非常不方便,因此,本文將分別介紹如何使用native2ascii.exe和Eclipse插件的方式來解決這個(gè)問題。  閱讀全文

    posted @ 2009-01-14 12:36 銀河使者 閱讀(6725) | 評論 (3)  編輯

    Struts1.x系列教程(2):簡單的數(shù)據(jù)驗(yàn)證
         摘要: 簡單驗(yàn)證從本質(zhì)上說就是在服務(wù)端來驗(yàn)證客戶端提交的form中的數(shù)據(jù)。這種驗(yàn)證只是對form中的數(shù)據(jù)規(guī)則進(jìn)行檢查,如必須輸入用戶ID,價(jià)格不能小于0或是對email格式的驗(yàn)證。在這個(gè)驗(yàn)證過程中,并不需要訪問數(shù)據(jù)庫。因此,簡單驗(yàn)證需要在用戶提交form后,并且在服務(wù)器處理form中的數(shù)據(jù)之前進(jìn)行。  閱讀全文

    posted @ 2009-01-13 23:10 銀河使者 閱讀(6672) | 評論 (7)  編輯

    Struts1.x系列教程(1):用MyEclipse開發(fā)第一個(gè)Struts程序
         摘要: 本系列教程將詳細(xì)介紹Struts 1.x的基本原理和使用方法,讀者可以參閱“Struts 2系列教程”來比較Struts 1.x和Struts 2.x的相同點(diǎn)和不同點(diǎn)。在這篇文章中將以一個(gè)簡單的例子(mystruts)來演示如何使用MyEclipse來開發(fā)、運(yùn)行Struts程序,并給出了解決ActionForm出現(xiàn)亂碼問題的方法。讀者可以從本文中了解開發(fā)Struts 1.x程序的基本過程。  閱讀全文

    posted @ 2009-01-13 12:17 銀河使者 閱讀(42059) | 評論 (36)  編輯

    手機(jī)電子書UMD數(shù)據(jù)格式實(shí)現(xiàn)代碼(C#版)
         摘要: UMD格式是國內(nèi)手機(jī)閱讀中使用較多的一種格式,但其公司卻并沒有將UMD數(shù)據(jù)格式公開,但是卻用另外一種方式將其公開,你去訪問一下他們的站點(diǎn)然后下載他的制作工具就知道。  閱讀全文

    posted @ 2009-01-09 08:57 銀河使者 閱讀(826) | 評論 (0)  編輯

    WebService大講堂之Axis2(2):復(fù)合類型數(shù)據(jù)的傳遞
         摘要: 在實(shí)際的應(yīng)用中,不僅需要使用WebService來傳遞簡單類型的數(shù)據(jù),有時(shí)也需要傳遞更復(fù)雜的數(shù)據(jù),這些數(shù)據(jù)可以被稱為復(fù)合類型的數(shù)據(jù)。數(shù)組與類(接口)是比較常用的復(fù)合類型。在Axis2中可以直接使用將WebService方法的參數(shù)或返回值類型聲明成數(shù)組或類(接口)。但要注意,在定義數(shù)組類型時(shí)只能使用一維數(shù)組,如果想傳遞多維數(shù)組,可以使用分隔符進(jìn)行分隔。在傳遞類的對象實(shí)例時(shí),除了直接將數(shù)組類型聲明成相應(yīng)的類或接口,也可以將對象實(shí)例進(jìn)行序列化,也就是說,將一個(gè)對象實(shí)例轉(zhuǎn)換成字節(jié)數(shù)組進(jìn)行傳遞,然后接收方再進(jìn)行反序列化,還原這個(gè)對象實(shí)例。本文的示例代碼演示了如何傳遞數(shù)組與類(接口)類型的數(shù)據(jù),并演示如何使用字節(jié)數(shù)組上傳圖像。本示例的客戶端代碼使用Java和C#編寫。  閱讀全文

    posted @ 2009-01-04 23:41 銀河使者 閱讀(27903) | 評論 (26)  編輯

    WebService大講堂之Axis2(1):用POJO實(shí)現(xiàn)0配置的WebService
         摘要: Axis2是一套嶄新的WebService引擎,該版本是對Axis1.x重新設(shè)計(jì)的產(chǎn)物。Axis2不僅支持SOAP1.1和SOAP1.2,還集成了非常流行的REST WebService,同時(shí)還支持Spring、JSON等技術(shù)。這些都將在后面的系列教程中講解。在本文中主要介紹了如何使用Axis2開發(fā)一個(gè)不需要任何配置文件的WebService,并在客戶端使用Java和C#調(diào)用這個(gè)WebService。  閱讀全文

    posted @ 2009-01-02 17:17 銀河使者 閱讀(72508) | 評論 (108)  編輯

    圖解 Tomcat 體系結(jié)構(gòu)
         摘要: Apache Tomcat 是一款非常著名的開源 Servlet/JSP 容器,被用做 Java Servlet 和 JavaServer Pages 技術(shù)的官方參考實(shí)現(xiàn)。如果您要了解這兩種技術(shù)的細(xì)節(jié)可以查閱參考資料。   閱讀全文

    posted @ 2008-10-12 22:56 銀河使者 閱讀(2752) | 評論 (1)  編輯

    為什么要在定義抽象類時(shí)使用abstract關(guān)鍵字
         摘要: 眾所周之,在任何面向?qū)ο蟮恼Z言中(包括Java、C#),在定義抽象類時(shí)必須使用abstract關(guān)鍵字。雖然這已經(jīng)習(xí)已為常了,但實(shí)際上abstract是為了在實(shí)現(xiàn)接口或繼承抽象類避免歧議而必須存在的。  閱讀全文

    posted @ 2008-09-30 14:31 銀河使者 閱讀(1591) | 評論 (4)  編輯

    用Java實(shí)現(xiàn)按字節(jié)長度截取字符串的方法
         摘要: Web應(yīng)用程序在瀏覽器中顯示字符串時(shí),由于顯示長度的限制,常常需要將字符串截取后再進(jìn)行顯示。但目前很多流行的語言,如C#、Java內(nèi)部采用的都是 Unicode 16(UCS2)編碼,在這種編碼中所有的字符都是兩個(gè)字符,因此,如果要截取的字符串是中、英文、數(shù)字混合的,就必須按字節(jié)長度來截取字符串。在本文中給出了一個(gè)按字節(jié)長度截取字符串的方法,以便這類操作變得更容易。  閱讀全文

    posted @ 2008-09-07 09:46 銀河使者 閱讀(11584) | 評論 (11)  編輯

    Tomcat在處理GET和POST請求時(shí)產(chǎn)生的亂碼問題
         摘要: 由于從Tomcat5.x后,Tomcat處理GET和POST請求時(shí)采用了不同的編碼格式,因此,當(dāng)Java Web程序運(yùn)行在Tomcat5.x及以上版本時(shí),需要同時(shí)考慮GET和POST請求,但也可以利用Java本身的編碼能力達(dá)到通用的效果。  閱讀全文

    posted @ 2008-09-05 15:48 銀河使者 閱讀(3063) | 評論 (8)  編輯

    Java編碼問題解決方案大揭密
         摘要: 本文介紹了java編碼的原理,對各種語言的編碼(中文、日文、韓文),java屬性文件如何處理中文字符以及在web應(yīng)用中亂碼問題的解決方案。  閱讀全文

    posted @ 2008-07-19 13:45 銀河使者 閱讀(8236) | 評論 (16)  編輯

    Java支持的編碼格式
         摘要: JDK提供了一個(gè)將中文轉(zhuǎn)換為Unicode編碼格式的工具native2ascii.exe,它位于<JDK>/bin/目錄下。在DOS命令窗口下,通過native2ascii -encoding SJIS <源文件> <目標(biāo)文件>即可以完成轉(zhuǎn)換。  閱讀全文

    posted @ 2008-07-17 16:42 銀河使者 閱讀(2240) | 評論 (0)  編輯

    用jabsorb(json) for java編寫AJAX應(yīng)用程序
         摘要: 本文介紹了如何使用jabsorb(json的升級版)開發(fā)基于AJAX的應(yīng)用程序,主要包括在JSP和Sevlet中使用jabsorb,注冊全局對象、訪問集合類和異步調(diào)用技術(shù)。  閱讀全文

    posted @ 2008-07-04 11:03 銀河使者 閱讀(2999) | 評論 (2)  編輯

    Web上傳文件的原理及實(shí)現(xiàn)
         摘要: 雖然現(xiàn)在有很多上傳組件可以利用,但是了解Web上傳文件的原理,對于處理突然出現(xiàn)的問題會有很大的幫助,下面就來講一下通過瀏覽器上傳文件的基本原理。在了解了原理之后,就可以非常容易地自制滿足自身需要的上傳組件了。
      閱讀全文

    posted @ 2008-05-29 12:42 銀河使者 閱讀(6781) | 評論 (1)  編輯

    AJAX從服務(wù)端獲取數(shù)據(jù)的三種方法
         摘要: 在本文中將給出一個(gè)例子來介紹使用AJAX技術(shù)從服務(wù)端獲得數(shù)據(jù)的三種方法。這個(gè)例子很簡單,就是兩個(gè)選擇框(html中的<select>標(biāo)簽),通過選中第一個(gè)select的某一項(xiàng)后,會從服務(wù)端得到一些數(shù)據(jù),并加載到第2個(gè)select中。這三種方法是獲得XML數(shù)據(jù),直接獲得<option>字符串,以及獲得在客戶端可執(zhí)行的javascript代碼。 本文還給出了一種ajax向服務(wù)端發(fā)送中文請求時(shí)出現(xiàn)亂碼的解決方案。  閱讀全文

    posted @ 2008-05-25 23:16 銀河使者 閱讀(7793) | 評論 (18)  編輯

    Java 6 Hotspot的性能將有可能超越編譯型語言
         摘要: Sun公司的Kohsuke Kawaguchi考察了Hotspot JIT在JDK6 u10 b14 debug版中產(chǎn)生的匯編代碼,并將其記錄在博客中。該博文著重闡述了Java優(yōu)化的程度。  閱讀全文

    posted @ 2008-05-14 17:16 銀河使者 閱讀(893) | 評論 (6)  編輯

    Java SE6調(diào)用Java編譯器的兩種新方法
         摘要: 在很多Java應(yīng)用中需要在程序中調(diào)用Java編譯器來編譯和運(yùn)行。但在早期的版本中(Java SE5及以前版本)中只能通過tools.jar中的com.sun.tools.javac包來調(diào)用Java編譯器,但由于tools.jar不是標(biāo)準(zhǔn)的Java庫,在使用時(shí)必須要設(shè)置這個(gè)jar的路徑。而在Java SE6中為我們提供了標(biāo)準(zhǔn)的包來操作Java編譯器,這就是javax.tools包。使用這個(gè)包,我們可以不用將jar文件路徑添加到classpath中了。  閱讀全文

    posted @ 2008-05-13 10:25 銀河使者 閱讀(3032) | 評論 (3)  編輯

    【轉(zhuǎn)載】OpenEJB 3.0支持對枚舉和集合的依賴注入及OSGi和EJB 3.0特性
         摘要: 開源輕量級EJB實(shí)現(xiàn)框架OpenEJB的最新版支持對枚舉、集合和Maps的依賴注入(Dependency Injection,即DI),并且支持OSGi和EJB 3.0規(guī)范。在經(jīng)歷了一年半的開發(fā)后,OpenEJB 3.0最終版近期發(fā)布了。該版本還支持@EJB引用其他EAR文件中的本地接口、事務(wù)日志及基于HTTP協(xié)議的EJBd,同時(shí)它還支持EJB 3.0的新特性如Business Interfaces、Java Persistence API (JPA)及JAX-WS Web Services。  閱讀全文

    posted @ 2008-05-12 19:36 銀河使者 閱讀(401) | 評論 (0)  編輯

    Java的多進(jìn)程運(yùn)行模式分析
         摘要: 一般我們在java中運(yùn)行其它類中的方法時(shí),無論是靜態(tài)調(diào)用,還是動(dòng)態(tài)調(diào)用,都是在當(dāng)前的進(jìn)程中執(zhí)行的,也就是說,只有一個(gè)java虛擬機(jī)實(shí)例在運(yùn)行。而有的時(shí)候,我們需要通過java代碼啟動(dòng)多個(gè)java子進(jìn)程。這樣做雖然占用了一些系統(tǒng)資源,但會使程序更加穩(wěn)定,因?yàn)樾聠?dòng)的程序是在不同的虛擬機(jī)進(jìn)程中運(yùn)行的,如果有一個(gè)進(jìn)程發(fā)生異常,并不影響其它的子進(jìn)程。  閱讀全文

    posted @ 2008-05-10 19:02 銀河使者 閱讀(2977) | 評論 (1)  編輯

    《程序員》第9期智慧擂臺題目——高頻詞匯提取
         摘要: 這次智慧擂臺請大家在一個(gè)比較龐大的英文文本中找出M個(gè)數(shù)量最多的短語(由N個(gè)單詞組成)。統(tǒng)一處理相同的文本文件,該文本只包含英文單詞、空格和回行符,比較誰的程序效率最高。  閱讀全文

    posted @ 2008-05-10 09:37 銀河使者 閱讀(1670) | 評論 (1)  編輯

    百度面試題的java實(shí)現(xiàn)
         摘要: 有一根27厘米的細(xì)木桿,在第3厘米、7厘米、11厘米、17厘米、23厘米這五個(gè)位置上各有一只螞蟻。木桿很細(xì),不能同時(shí)通過一只螞蟻。開始時(shí),螞蟻的頭朝左還是朝右是任意的,它們只會朝前走或調(diào)頭,但不會后退。當(dāng)任意兩只螞蟻碰頭時(shí),兩只螞蟻會同時(shí)調(diào)頭朝反方向走。假設(shè)螞蟻們每秒鐘可以走一厘米的距離。編寫程序,求所有螞蟻都離開木桿的最小時(shí)間和最大時(shí)間。  閱讀全文

    posted @ 2008-05-10 09:23 銀河使者 閱讀(6663) | 評論 (10)  編輯

    一著名軟件公司的java筆試算法題的答案
         摘要: 原題如下:用1、2、2、3、4、5這六個(gè)數(shù)字,用java寫一個(gè)程序,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"與"5"不能相連。  閱讀全文

    posted @ 2008-05-10 09:19 銀河使者 閱讀(8073) | 評論 (11)  編輯

    Java正則表達(dá)式初學(xué)者指南
         摘要: 本文將介紹如何在Java中使用正則表達(dá)式來處理文本數(shù)據(jù)。正則表達(dá)式就是一個(gè)字符串,但和普通的字符串不同的是,正則表達(dá)式是對一組相似字符串的抽象  閱讀全文

    posted @ 2008-05-10 09:14 銀河使者 閱讀(14264) | 評論 (8)  編輯

    J2SE5.0中最有趣的新特性:注釋(annotation)
         摘要: 本文將向你介紹J2SE5.0中的新特性之一:注釋。本文將從什么是注釋;J2SE5.0中預(yù)定義的注釋;如何自定義注釋;如何對注釋進(jìn)行注釋以及如何在程序中讀取注釋5個(gè)方面進(jìn)行討論。  閱讀全文

    posted @ 2008-05-09 12:46 銀河使者 閱讀(3094) | 評論 (6)  編輯

    如何防止覆蓋(override)toString方法時(shí)產(chǎn)生遞歸調(diào)用
         摘要: 在Java中任何對象都繼承于Object類,因此,每個(gè)類都有一個(gè)toString方法用于返回當(dāng)前對象的字符串形式(可能是對象地址或其他和對象相關(guān)的信息)。在每個(gè)類中也可以覆蓋toString方法以返回自定義的字符串。  閱讀全文

    posted @ 2008-05-07 16:07 銀河使者 閱讀(1985) | 評論 (7)  編輯

    在Java中連接字符串時(shí)是使用+號還是使用StringBuilder
         摘要: 字符串是Java程序中最常用的一種數(shù)據(jù)結(jié)構(gòu)之一。在Java中的String類已經(jīng)重載的"+"。也就是說,字符串可以直接使用"+"進(jìn)行連接,如String s = "abc" + "ddd";但這樣做真的好嗎?當(dāng)然,這個(gè)問題不能簡單地回答yes or no。要根據(jù)具體情況來定。在Java中提供了一個(gè)StringBuilder類(這個(gè)類只在J2SE5及以上版本提供,以前的版本使用StringBuffer類),這個(gè)類也可以起到"+"的作用。那么我們應(yīng)該用哪個(gè)呢?  閱讀全文

    posted @ 2008-05-07 16:04 銀河使者 閱讀(25489) | 評論 (15)  編輯

    java.lang.Object是如何成為默認(rèn)父類的
         摘要: 經(jīng)常有Java初學(xué)者會問為什么一個(gè)沒有父類的Java類會自動(dòng)從java.lang.Object類繼承。如下面是一個(gè)普通的Java類:
    public class Test // 從Object類繼承
    {
    public static void main(String[] args)
    {
    System.out.println(new Test().toString());
    }
    }
    從上面的代碼可以看出,實(shí)際上,Test類的父類就是Object,因此,在Test中可以使用Object類的public或protected資源,如toString方法。那么Java編譯器和JVM到底是如何做的呢?  閱讀全文

    posted @ 2008-05-06 15:14 銀河使者 閱讀(2772) | 評論 (0)  編輯

    Java SE 6之GUI:讓界面更加絢麗(下)
         摘要: 在上一篇中我介紹了Java SE 6在GUI上的部分改進(jìn)。在這篇 文章中我接著介紹另外幾種新的GUI功能。這些功能是:

    1. 帶有排序和過濾功能的JTable。

    2. 增強(qiáng)的JTabbedPane組件

    3. 增強(qiáng)的打印功能

    4. 增強(qiáng)的拖放功能  閱讀全文

    posted @ 2008-04-30 20:19 銀河使者 閱讀(7918) | 評論 (6)  編輯

    Java SE 6之GUI:讓界面更加絢麗(上)
         摘要: Java是一種非常強(qiáng)大的編程語言,但Java的GUI能力一直是它的軟肋。雖然Java提供2種圖形解決方案,AWT和Swing。但這2種圖形庫的功能十分有限,使用它們并不能帶來更多的用戶體驗(yàn)。而且AWT和Swing的更新速度很慢。一直到Java SE 5也沒什么明顯的變化。幸好Java SE 6終于為它們增加大更強(qiáng)大的功能。有了這些功能,使用AWT和Swing設(shè)計(jì)的用戶界面可以更貼近用戶。為了使讀者能夠更早地體驗(yàn)Java SE 6 GUI的美麗,本文就Java SE 6 GUI提供的主要功能進(jìn)行討論。  閱讀全文

    posted @ 2008-04-29 14:34 銀河使者 閱讀(8050) | 評論 (10)  編輯

    關(guān)于Java String對象創(chuàng)建問題解惑
         摘要: 先看看下面的代碼

    public String makinStrings()
    {
    String s = "Fred";
    s = s + "47";
    s = s.substring(2, 5);
    s = s.toUpperCase();
    return s.toString();
    }


    問:調(diào)用makinStrings方法會創(chuàng)建幾個(gè)String對象呢?  閱讀全文

    posted @ 2008-04-27 10:01 銀河使者 閱讀(3168) | 評論 (18)  編輯

    接口、類、抽象類、對象的另類解釋
         摘要: 大家也許都知道做工藝器或是工廠里做生產(chǎn)某些產(chǎn)品的模具模具。如做一個(gè)金屬的五角星,只要將鋼水罐到五角星的模具模具里就可以很容易地制做五角星。我們也可以將類比喻成做五角星的模具。 而生產(chǎn)出的一個(gè)個(gè)五角星就是一個(gè)個(gè)對象。 為了建立不同的對象(有的是金屬的、有的塑料的,等等),可通過向模具里灌入不同的液態(tài)材料就可以制做。這也相當(dāng)于向類的構(gòu)造方法中傳入不同的參數(shù)(相當(dāng)于不同的液態(tài)材料)。  閱讀全文

    posted @ 2008-04-27 09:50 銀河使者 閱讀(2743) | 評論 (9)  編輯

    主站蜘蛛池模板: 99精品视频在线免费观看| 国产男女性潮高清免费网站| 国产精品亚洲综合专区片高清久久久 | 亚洲春色另类小说| 成人片黄网站色大片免费观看cn| 毛片免费视频观看| 亚洲专区先锋影音| 和老外3p爽粗大免费视频 | 免费一级毛片正在播放| 亚洲另类自拍丝袜第1页| 拍拍拍无挡免费视频网站| 国产午夜免费福利红片| 亚洲综合伊人制服丝袜美腿| 久艹视频在线免费观看| 久久亚洲色一区二区三区| 国产亚洲女在线线精品| 成人免费看黄20分钟| 亚洲资源在线视频| 四虎国产精品永久免费网址| 色噜噜亚洲精品中文字幕| 色视频在线观看免费| 日韩在线免费播放| 亚洲伊人久久大香线蕉AV| a拍拍男女免费看全片| 亚洲狠狠综合久久| 好久久免费视频高清| 中文字幕亚洲第一| 一区二区三区AV高清免费波多| 国产男女猛烈无遮挡免费网站| 亚洲色无码专区一区| 久久电影网午夜鲁丝片免费| 亚洲国产午夜精品理论片| 84pao强力永久免费高清| 亚洲国产精品一区二区久久| 叮咚影视在线观看免费完整版| 亚洲日本韩国在线| 成人久久久观看免费毛片| 亚洲国产成人久久笫一页| 免费视频成人国产精品网站| 免费大片在线观看网站| 黄页网址大全免费观看12网站|