上個月,我們分析了引用計數、復制、標記-清除和標記-整理這些經典的垃 圾收集技術。其中每一種方法在特定條件下都有其優點和缺點。例如,當有很多 對象
不管正在構建的是 J2EE 還是 J2SE 服務器應用程序,都有可能以某種方式 使用 Java Servlet —— 可能
不變對象是指在實例化後其外部可見狀態無法更改的對象。Java 類庫中的 String 、 Integer 和 BigDecimal 類就是不變對象
在Java類庫中出現的第一個關聯的集合類是 Hashtable ,它是JDK 1.0的一 部分。 Hashtable 提供了一種易於使用的、線程安
當項目中需要 XML 解析器、文本索引程序和搜索引擎、正則表達式編譯器、 XSL 處理器或 PDF 生成器時,我們中大多數人從不會考慮自己去編寫這
這個月,我著手撰寫一篇文章,分析一個寫得很糟糕的微評測。畢竟,我們 的程序員一直受性能困擾,我們也都想了解我們編寫、使用或批評的代碼的性能 特征。
ConcurrentHashMap 是 Doug Lea的 util.concurrent 包的一部分,它提供 比Hashtable 或者 syn
關於在 Java 語言中使用異常的大多數建議都認為,在確信異常可以被捕獲 的任何情況下,應該優先使用檢查型異常。語言設計(編譯器強制您在方法簽名
當單線程應用程序中的主線程拋出一個未捕獲的異常時,因為控制台中會打 印堆棧跟蹤(也因為程序停止),所以您很可能注意到。但在多線程應用程序中 ,尤其
下圖是簡單的線程狀態圖:
JDK1.6 集合類 UML 圖, 更好的使用Collection類。Sets:Lists (no need Vector)Map:Queues:
Sonar是開源的代碼質量管理平台,它把代碼質量相關軟件集成到一起統一管 理,集成的軟件如下:CPDCheckstyleCloverCobertu
這兩天做了一個Web Service,要記錄操作時間,定義為long型數據,因為 Java中可以把當前時間表示成long類型。Java中可以用 S
隨著Macromedia在Flash Lite方面的大力推廣,這支Mobile新軍看來終於要 展露頭角了。不可避免的,眾多的開發者會將它與現有的技
有幾個想學J2ME的朋友問過我這個問題。我想這個問題可以有兩個答案。J2ME是簡單的。說其簡單,更主要的原因是J2ME開發使用的是Java,離開平
“JDK1.5”(開發代號猛虎)的一個重要主題就是通過新增一些特性來簡化開發,這些特性包括泛型,for-each 循環,自
所有非byte類型的基本類型都可以通過String.valueOf() 方法來轉換為字符串非基本類型的比較需要使用equals方法取得表單提交的參
開始之初的架構設計決定著軟件產品的生死存亡。“好的開始相當於成功一半”。開始的架構設計也是最難的,需要調研同類產品的情況以
最近我從Java轉向了使用C#,這讓我絞盡腦汁,摸索它們的不同之處。不要認為我做的不對——它們確實很相似,但一些關鍵語法和
1.Java沒有預處理指令。(如C中的#define , #include , #ifdef等)。C中的常量定義在Java中用static fin