說的不錯,其實這段說明已經包含在Collections.synchronizedMap的API文檔說明中了,所以官方文檔還是十分重要的。
re: Java程序員不該有的6種陋習 Feenn 2012-07-16 22:49
文章講的挺好,只是我個人覺得:try之后的繁瑣的資源釋放恰恰就是Java7解決了的問題之一;另外不覺得printStackTrace不能提供錯誤信息,如果是對客戶,需要提示某些錯誤信息,這沒錯;但是對于程序員真正的錯誤分析,printStackTrace恰恰提供了完整的跟蹤信息。
bz提供的方案也挺好的,不過我覺得還可以這樣搞:
1.JNI方式:典型的開源項目有:
http://sourceforge.net/projects/jsysmonitor/2.以爬蟲為例,守護程序與爬蟲之間維持一個連接,使用某種具有連接屬性的協議,如socket TCP。當連接異常斷開則認為爬蟲出錯需要重啟,好處是通過使用事件機制,可以實時監控爬蟲。當然,前提是爬蟲源代碼可見,且可以修改。
典型實現:某些大型分布式系統
3.JConsole方式:
http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html,當然前提是程序都在JVM中運行。
當然,守護進程最高效、最完美的做法是使用C/C++來編寫,在各種平臺如Linux/Unix上都有豐富的API可以使用。
個人建議,僅供參考。
@Tovep
因此針對于你的文章,結論1是正確的,但是文章的例子和整個推導過程并不能體現這個結論。
對于結論2,個人不敢茍同,是否方便實現共享是設計的問題,而不是某個類或接口天生具有的屬性。因此,能方便的實現資源共享并不是我們在設計的時候優先選擇runnable的理由。
@Tovep
是可以有很多方法,但是你文中的這種比較方法明顯是有問題的。繼承Thread的方法在實例化的時候使用了三個實例,而在實現Runnable的時候實例化只使用了一個實例,因此這兩種實驗是不具備可比性的,因此結論也無從說起。
............
第一種實現方法中,每一個thread都傳入了一個new MyThread(),那是三個實例啊,能和runnable的實現一樣的么,能實現共享才怪了。。。。
re: 將字符串分解成標記的類[未登錄] feenn 2010-06-27 20:34
敢于嘗試很好,其實最通用的是詞法解析工具。可以看看JFlex
文章很好,JAR不只是包含代碼——其實還可以包含動態鏈接庫(比如SWT)、壓縮包甚至是jar本身
re: Lombok 消除Java的冗長 Feenn 2010-05-06 18:42
懶人工具嗯~
re: java “亂序”[未登錄] feenn 2010-04-23 17:01
Math.random()不會有重復么?
不應該出現這種低級錯誤,建議應該從理解入手,而不是只知道調用API。
re: Javadoc的chm制作 Feenn 2010-01-17 10:46
@李順利
回復到你郵箱里了
看了一下說一點感受:其實chm的javadoc文檔最重要的一點是可以使用索引來快速查找某一個類或者方法的文檔,不過貌似沒有在博主文章中的圖片上體現出來。
另外推薦使用FAR HTML來制作,網上有很多綠色的版本。這款軟件在文檔制作方面比微軟自家的強很多,推薦博主使用。
我平時是使用自己寫的一個程序來生成目錄、索引和工程文件的,然后使用FAR HTML簡單編輯一下就可以生成一個很好用的chm,推薦博主有時間的話可以自己寫一個。
中間在說PropertyChangeListener的時候說錯了吧,PropertyChangeListener是java.beans中的接口,代碼中都寫正確了的
re: 原創一道Java筆試面試題考考大家 feenn 2009-11-28 11:16
這個題目其實是一個小Trick,要注意whoAmI和tellName函數的區別:一個是打印field的值,而另一個是打印參數。
其實過程是這樣的:
1.創建Son的時候先創建Father,而Father中的whoAmI是已經被Son覆蓋了,因此這里打印的name這個field是Son中的field,而此時還沒有構造Son,因此Son中的name的值是null(這里即使是寫了String name = "SON"也是沒有用的,因為父類沒有構造結束之前,這里是不會被執行的)。
2.Father在執行tellName的時候,傳遞的參數name是Father自身的name這個field值,這個值是已經被賦值為"FATHER"的,因此會打印出“Son's name is FATHER”
3.Father構造完畢后開始構造Son,這里的打印結果就可以按照常規方式來解釋了。
re: 關于ArrayList類的疑惑! feenn 2009-10-27 09:51
@charlie's logic
re
re: Ajax異步返回方式處理 feenn 2009-07-27 07:27
evel……eval吧?
re: 深入理解i++和++i feenn 2009-07-26 06:51
@ahx
正確。先執行賦值操作,然后執行增量操作。