摘要: 第一部分 類和類的裝載
我們來看一下類以及它們被JVM裝載的時候做了些什么?
閱讀全文
posted @
2007-05-24 11:02 cheng 閱讀(199) |
評論 (0) |
編輯 收藏
摘要: 大多數好的設計者象躲避瘟疫一樣來避免使用實現繼承(extends 關系)。實際上80%的代碼應該完全用interfaces寫,而不是通過extends。“JAVA設計模式”一書詳細闡述了怎樣用接口繼承代替實現繼承。這篇文章描述設計者為什么會這么作。
閱讀全文
posted @
2007-05-24 11:01 cheng 閱讀(211) |
評論 (0) |
編輯 收藏
摘要: 如果您認為 Java 游戲開發人員是 Java 編程世界的一級方程式賽車手,那么您就會明白為什么他們會如此地重視程序的性能。 游戲開發人員幾乎每天都要面對的性能問題,往往超過了一般程序員考慮問題的范圍。哪里可以找到這些特殊的開發人員呢?Java 游戲社區就是一個好去處。 雖然在這個站點可能沒有很多關于服務器端的應用,但是我們依然可以從中受益,看看這些“惜比特如金”的游戲開發人員每天所面對的,我們往往能從中得到寶貴的經驗。讓我們開始游戲吧!
閱讀全文
posted @
2007-05-24 11:00 cheng 閱讀(254) |
評論 (0) |
編輯 收藏
摘要: 首先,推薦對Java有一定理解的同仁一本書《Practical Java》。在《Practical Java》中也有一個章節介紹Java中關于傳值和傳引用的問題,堪稱經典。
《Practical Java》
閱讀全文
posted @
2007-05-24 10:59 cheng 閱讀(1304) |
評論 (0) |
編輯 收藏
摘要: 通過使用一些輔助性工具來找到程序中的瓶頸,然后就可以對瓶頸部分的代碼進行優化。一般有兩種方案:即優化代碼或更改設計方法。我們一般會選擇后者,因為不去調用以下代碼要比調用一些優化的代碼更能提高程序的性能。而一個設計良好的程序能夠精簡代碼,從而提高性能。
閱讀全文
posted @
2007-05-24 10:59 cheng 閱讀(224) |
評論 (0) |
編輯 收藏
摘要: Java性能優化技巧集錦
可供程序利用的資源是有限的,優化的目的就是讓程序用盡可能少的資源完成預定的任務。
可供程序利用的資源(內存、CPU時間、網絡帶寬等)是有限的,優化的目的就是讓程序用盡可能少的資源完成預定的任務。優化通常包含兩方面的內容:減小代碼的體積,提高代碼的運行效率。本文討論的主要是如何提高代碼的效率。
閱讀全文
posted @
2007-05-24 10:58 cheng 閱讀(201) |
評論 (0) |
編輯 收藏
摘要: 類加載是java語言提供的最強大的機制之一。盡管類加載并不是討論的熱點話題,但所有的編程人員都應該了解其工作機制,明白如何做才能讓其滿足我們的需要。這能有效節省我們的編碼時間,從不斷調試ClassNotFoundException, ClassCastException的工作中解脫出來。
閱讀全文
posted @
2007-05-24 10:57 cheng 閱讀(274) |
評論 (0) |
編輯 收藏
摘要: 定制類加載器
要較好地控制類的加載,就要實現定制的類加載器。所有自定義的類加載器都應繼承自java.lang.ClassLoader。而且在構造方法中,我們也應該設置父類加載器。然后重寫findClass()方法。differentversionspush文件夾包含了一個叫做FileSystemClassLoader的自訂制的類加載器。其結構如圖9所示。
閱讀全文
posted @
2007-05-24 10:56 cheng 閱讀(368) |
評論 (0) |
編輯 收藏
摘要: 1. 棧(stack)與堆(heap)都是Java用來在Ram中存放數據的地方。與C++不同,Java自動管理棧和堆,程序員不能直接地設置棧或堆。
2. 棧的優勢是,存取速度比堆要快,僅次于直接位于CPU中的寄存器。但缺點是,存在棧中的數據大小與生存期必須是確定的,缺乏靈活性。另外,棧數據可以共享,詳見第3點。堆的優勢是可以動態地分配內存大小,生存期也不必事先告訴編譯器,Java的垃圾收集器會自動收走這些不再使用的數據。但缺點是,由于要在運行時動態分配內存,存取速度較慢。
閱讀全文
posted @
2007-05-24 10:55 cheng 閱讀(263) |
評論 (0) |
編輯 收藏
摘要: 對于這個系列里的問題,每個學Java的人都應該搞懂。當然,如果只是學Java玩玩就無所謂了。如果你認為自己已經超越初學者了,卻不很懂這些問題,請將你自己重歸初學者行列。內容均來自于CSDN的經典老貼。
問題一:我聲明了什么!
閱讀全文
posted @
2007-05-24 10:54 cheng 閱讀(209) |
評論 (0) |
編輯 收藏
摘要: 下面的論述針對32位系統,對64位系統不適用,后敘。
經常你寫了一個程序,一測試,功能沒問題,一看內存占用也不多,就不去考慮其它的東西了。但可能程序使用了一個什么數據結構,會當數據規模變大時,內存占用激增。
閱讀全文
posted @
2007-05-24 10:53 cheng 閱讀(339) |
評論 (0) |
編輯 收藏
摘要: 1. java中堆與棧
在Java程序運行時,有6個地方可以用于保存數據:
(1) 寄存器。最快的保存區域,位于處理器內部,數量十分有限,它是根據需要由編譯器分配。我們對此沒有直接的控制權.
閱讀全文
posted @
2007-05-24 10:51 cheng 閱讀(352) |
評論 (0) |
編輯 收藏
摘要: 一、什么是Java虛擬機
當你談到Java虛擬機時,你可能是指:
1、抽象的Java虛擬機規范
2、一個具體的Java虛擬機實現
3、一個運行的Java虛擬機實例
閱讀全文
posted @
2007-05-24 10:49 cheng 閱讀(330) |
評論 (0) |
編輯 收藏
摘要: 一、引言
Java虛擬機(JVM)的類裝載就是指將包含在類文件中的字節碼裝載到JVM中, 并使其成為JVM一部分的過程。JVM的類動態裝載技術能夠在運行時刻動態地加載或者替換系統的某些功能模塊, 而不影響系統其他功能模塊的正常運行。本文將分析JVM中的類裝載系統,探討JVM中類裝載的原理、實現以及應用。
閱讀全文
posted @
2007-05-24 10:48 cheng 閱讀(265) |
評論 (0) |
編輯 收藏
摘要: JVM(Java虛擬機)一種用于計算設備的規范,可用不同的方式(軟件或硬件)加以實現。編譯虛擬機的指令集與編譯微處理器的指令集非常類似。Java虛擬機包括一套字節碼指令集、一組寄存器、一個棧、一個垃圾回收堆和一個存儲方法域。
閱讀全文
posted @
2007-05-24 10:44 cheng 閱讀(512) |
評論 (0) |
編輯 收藏
摘要: Java的白皮書為我們提出了Java語言的11個關鍵特性
(1)Easy:Java的語法比C++的相對簡單,另一個方面就是Java能使軟件在很小的機器上運行,基礎解釋其和類庫的支持的大小約為40kb,增加基本的標準庫和線程支持的內存需要增加125kb
閱讀全文
posted @
2007-05-24 10:41 cheng 閱讀(360) |
評論 (0) |
編輯 收藏