Time of Update: 2018-12-05
gc即垃圾收集機制是指JVM用於釋放那些不再使用的對象所佔用的記憶體。Java語言並不要求JVM有gc,也沒有規定gc如何工作。不過常用的JVM都有gc,而且大多數gc都使用類似的演算法管理記憶體和執行收集操作。 在充分理解了垃圾收集演算法和執行過程後,才能有效最佳化它的效能。有些垃圾收集專用於特殊的應用程式。比如,即時應用程式主要是為了避免垃圾收集中斷,而大多數OLTP應用程式則注重整體效率。理解了應用程式的工作負載和JVM支援的垃圾收集演算法,便可以進行最佳化配置垃圾收集器。 垃圾收集的目的
Time of Update: 2018-12-05
從部署、展示、設計等方面,全面比較Java報表工具,如報表工具的領導者 href="http://www.runqian.com.cn/rqrpt/rqwebreport.htm" target=_blank>潤乾,傑表,Style Report,Jasper等,以及聲稱支援Java的Crystal Report,數巨等。Java報表工具,首先可以分成兩大類:純Java報表工具,和"支援"Java的報表工具."支援"Java的報表工具:我們所說的"支援"Java的報表工具.其實就是非Jav
Time of Update: 2018-12-05
在發行的Java1.4中在核心程式碼程式庫中增加了許多新的API(如Loging,Regex,NIO)等,在最新發行的JDK1.5和即將發布的JDK1.6中也新增了許多API,其中比較有重大意義的就是Generics(範型)。一.什麼是Generics?Generics可以稱之為參數類型(parameterized types),由編譯器來驗證從用戶端將一種類型傳送給某一對象的機制。如Java.util.ArrayList,編譯器可以用Generics來保證型別安全。在我們深入瞭解Generic
Time of Update: 2018-12-05
一.誰在做Garbage Collection? 一種流行的說法:在C++裡,是系統在做記憶體回收;而在Java裡,是Java自身在做。在C++裡,釋放記憶體是手動處理的,要用delete運算子來釋放分配的記憶體。這是流行的說法。確切地說,是應用認為不需要某實體時,就需用delete告訴系統,可以回收這塊空間了。這個要求,對編碼者來說,是件很麻煩、很難做到的事。隨便上哪個BBS,在C/C++版塊裡總是有一大堆關於記憶體流失的話題。Java採用一種不同的,很方便的方法:Garbage
Time of Update: 2018-12-05
翻譯 by SuperMMX 閱讀整個的 "為效能而設計" 系列: 第一部分: 介面事宜 第二部分: 減少對象建立 第三部分: 遠程介面 (March 23, 2001) 第三部分: 遠程介面 概述 許多 Java 的通常效能問題來源於設計過程早期的類設計想法中, 早在開發人員開始考慮效能問題之前. 在這個系列中, Brian Goetz 討論了一些通常的 Java 效能的冒險, 解釋了怎樣在設計時間避免它們. 在這篇文章中,
Time of Update: 2018-12-05
翻譯 by SuperMMX 閱讀整個的 "為效能而設計" 系列: 第一部分: 介面事宜 第二部分: 減少對象建立 第三部分: 遠程介面 (March 23, 2001) 第二部分: 減少對象建立 概要 許多通常的 Java 效能問題都起源於在設計過程早期中的類設計的思想, 早在許多開發人員開始考慮效能問題之前. 在這個系列中, Brian Goetz 討論了通常的 Java 效能上的冒險以及怎麼在設計時候避免它們. 在第二部分,
Time of Update: 2018-12-05
解析Java類和對象的初始化過程類的初始化和對象初始化是 JVM 管理的類型生命週期中非常重要的兩個環節,Google 了一遍網路,有關類裝載機制的文章倒是不少,然而類初始化和對象初始化的文章並不多,特別是從位元組碼和 JVM 層次來分析的文章更是鮮有所見。 本文主要對類和對象初始化全過程進行分析,通過一個實際問題引入,將原始碼轉換成 JVM 位元組碼後,對 JVM 執行過程的關鍵點進行全面解析,並在文中穿插入了相關 JVM 規範和 JVM 的部分內部理論知識,以理論與實際結合的方式介紹對象初
Time of Update: 2018-12-05
java進階多線程編程(一)--關於線程的停止問題 多線程是java的一個優勢,java使得程式員可以很方便的進行多線程程式開發。獲得更好的效能。關於多線程的概念以及一般的多線程編程,比如如何以及為何實現runnable介面,為何stop()會被Deprecated掉等等,這個請看matrix之前的多線程編程基礎或者sun的java文檔。關於多線程編程,有幾點這裡要提到的:1。既然stop()是不被推薦的,那麼我們如何停止一個線程呢?直接kill嗎?在這裡,筆者總結一種比較通用也比較穩定的方法:
Time of Update: 2018-12-05
1.Duplicated Code 代碼重複幾乎是最常見的異味了。他也是Refactoring的主要目標之一。代碼重複往往來自於copy-and-paste的編程風格。與他相對應OAOO是一個好系統的重要標誌。2.Long method 它是傳統結構化的“遺毒”。一個方法應當具有自我獨立的意圖,不要把幾個意圖放在一起。3.Large Class 大類就是你把太多的責任交給了一個類。這裡的規則是One Class One Responsibility.4.Divergent Change
Time of Update: 2018-12-05
摘 要:介紹了XML應用中合并XML文檔的方法與應用,在基於XML的應用中,有著廣泛的應用前景。關鍵詞:XML文檔 解析器 元素在XML應用中,最常用也最實用的莫過於XML檔案的讀寫。由於XML語義比較嚴格,起始標記必須配對,所以合并XML文檔並不像合并普通檔案那樣簡單。在JAVA中,如何合并XML文檔,下面介紹一種方法。設計思想應用javax.xml.parsers包中的解析器解析得到兩個XML檔案的根項目,再採用遞迴的方式逐一複製被合并檔案的元素。
Time of Update: 2018-12-05
一、在jdk1.2以後,類載入是通過委託來完成的,這意味著如果 ClassLoader 不能找到類,它會請求父代 ClassLoader 來執行此項任務,所有 ClassLoaders 的根是系統 ClassLoader,它會以預設方式裝入類 -- 即,從本地檔案系統。今天我們就來探討一下在jvm中這些機制是怎樣啟動並執行。讓我們假設有一個class位元組碼檔案(比如Hello.class檔案),那麼在應用程式中,他是如何被載入進來,並形成一個類對象的呢?我們這篇文章的目的就是為瞭解釋這個問題。
Time of Update: 2018-12-05
介紹作為一個已經工作了很多年的軟體開發人員和諮詢師,我看過大量形形色色的程式語言代碼。其中有文雅的也有醜陋的,但是不幸的是,它們中大多數代碼都是醜陋的。 我希望能夠說服你們,我的開發夥伴們,我們應該足夠的重視我們的代碼風格,尤其是那些在應用程式中提供使用者介面和其他可視化部分的代碼。在這兩部分系列的第一部分, 我會解釋為什麼我們應該關心我們的代碼外觀,然後闡述一些好的JAVA風格的一般要素。為什麼代碼很重要儘管JAVA是用來寫程式而不是散文, 但它仍然被用來表達思想和觀點的。而且,在調查中顯示,
Time of Update: 2018-12-05
翻譯 by SuperMMX 閱讀整個的 "為效能而設計" 系列: 第一部分: 介面事宜 第二部分: 減少對象建立 第三部分: 遠程介面 (March 23, 2001) 第一部分: 介面事宜 概要 許多通常的 Java 效能問題都起源於在設計過程早期中的類設計的思想, 早在許多開發人員開始考慮效能問題之前. 在這個系列中, Brian Goetz討論了通常的 Java效能上的冒險以及怎麼在設計時候避免它們. 許多程式員在開發週期的後期才可是考慮效能管理.
Time of Update: 2018-12-05
什麼是IO -------------------------------------------------------------------------------- IO(Input/Output)是電腦輸出/輸出的介面。Java的核心庫java.io提供了全面的IO介面,包括:檔案讀寫,標準裝置輸出等等。Java中IO是以流為基礎進行輸入輸出的,所有資料被序列化寫入輸出資料流,或者從輸入資料流讀入。此外,Java也對塊傳輸提供支援,在核心庫java.nio中採用的便是塊IO。關於NI
Time of Update: 2018-12-05
Java Web Start(以下簡稱JWS)是SUN提供的一種通過Web來部署和發布Java
Time of Update: 2018-12-05
點擊上傳按鈕後,webwork的程式流如下:step 1)進入ServletDispatcher.servicepublic void service(HttpServletRequest request, HttpServletResponse response) throws ServletException {........request = wrapRequest(request);.........
Time of Update: 2018-12-05
Java 程式中也有記憶體漏洞?當然有。與流行的觀念相反,在 Java 編程中,記憶體管理仍然是需要考慮的問題。在本文中,您將瞭解到什麼會導致記憶體漏洞以及何時應該關注這些漏洞。您還有機會實踐一下在您自己的項目中解決漏洞問題。 Java 程式中的記憶體漏洞是如何顯現出來的 大多數程式員都知道,使用像 Java 這樣的程式設計語言的一大好處就是,他們不必再擔心記憶體的分配和釋放問題。您只須建立對象,當應用程式不再需要這些對象時,Java
Time of Update: 2018-12-05
JDK 1.6.0_beta API: http://www.dlog.cn/javadoc/jdk1_6_0_beta2/index.htmlJ2EE 5.0 Update 1 : http://java.sun.com/javaee/5/docs/api/Struts 1.3.5 API: http://www.dlog.cn/javadoc/struts-1.3.5/docs/apidocs/index.htmlHibernate 3.2 ga :
Time of Update: 2018-12-05
本文介紹了三種修改現有代碼提高其可重用性的方法,它們分別是:改寫類的執行個體方法,把參數類型改成介面,選擇最簡單的參數介面類型。 措施一:改寫類的執行個體方法 通過類繼承實現代碼重用不是精確的代碼重用技術,因此它並不是最理想的代碼重用機制。換句話說,如果不繼承整個類的所有方法和資料成員,我們無法重用該類裡面的單個方法。繼承總是帶來一些多餘的方法和資料成員,它們總是使得重用類裡面某個方法的代碼複雜化。另外,衍生類別對父類的依賴關係也使得代碼進一步複雜化:對父類的改動可能影響子類;修改父類或者子
Time of Update: 2018-12-05
Effective Java(TM) Programming Language Guide (2nd Edition) (The Java Series) (Paperback) by Joshua Bloch (Author)Paperback: 256 pages Publisher: Prentice Hall PTR; 2 edition (June 29, 2007) Language: English ISBN-10: 0321356683 ISBN-13: 978-03213566