看《java優化編程》一些細節上的東東

          java程序設計風格:(類的說明介紹)
              

          Java文件注釋頭

          類中開頭處插入如下 注釋

          /******************************************************************

           *該類功能及特點的描述(例如:該類是用來.....)

           *

           *

               *該類未被編譯測試過。

               *

               *@see(與該類相關聯的類):(AnotherClass.java)

               *

               *

           *

           *開發公司或單位:XXX軟件有限公司研發中心

           *

           *版權:本文件版權歸屬XXX公司研發中心

           *

           *

                 *@author(作者):XXX

                 *

                 *@since(該文件所支持的JDK版本):Jdk1.3Jdk1.4

                 *

                 *@version(版本):1.0

                 *

           *

           *@date(開發日期):      1999-01-29

           *

           *最后更改日期:        2003-01-02

           *

           *

           *修改人:    XXXX

           *

           *復審人:    張三李四 王五

           *

           */



          內存管理


           

          伊甸園用來保存新的對象,它就像一個堆棧,新的對象被創建,就像指向該棧的指針在不斷的增長一樣,當伊甸園區域中的對象滿了之后,JVM系統將要做可到達性測試,主要任務是檢測有哪些對象由根集合出發是不可到達的,這些對象就可以被JVM回收,并且將所有的活動對象從伊甸園區域拷到TO區域,此時一些對象將發生狀態交換,有的對象就從TO區域被轉移到From區域,此時From區域就有了對象,這個過程都是JVM控制完成的。

          Java 中的析構方法 finalize

           對象是使用完了 盡量都賦 null

          共享靜態變量存儲空間

          不要提前創建對象

              ........

              void f(){

                 int i;

                 A a = new A();

                 //A的對象a被創建

                 //在判斷語句之中沒有

                 //應用過a對象

                 .....

                 if(....){

                     //A的對象a僅在此處被應用

                     a.showMessage();

                     ....

                 }

                 .....

              }

              ..........

             

             

             

              正確的書寫方式為:

              void f(){

                 int i;

                 .....

                 if(...){

                     A a = new A();

                     //A的對象a被創建

                     //應用過a對象

                     a.showMessage();

                 }

                 ......

              }

          JVM內存參數調優


          表達式、語句和保留字

          非靜態方法中可引用靜態變量

          靜態方法不可以引用非靜態變量

          靜態方法中可 創建 非靜態變量

          調用父類的構造方法必須將其放置子類構造方法的第一行



          JAVA核心類與性能優化

          線程同步:Vector Hashtable

          非線程同步: ArrayList HashMap

           

          字符串累加 盡量使用 StringBuffer  += 

          方法length() length屬性  區別

           

          IO緩存,讀寫文件優化。


          類與接口
           

                 內部類(Inner Class)是Java語言中特有的類型,內部類只能被主類以外的其他內部類繼承,主類是不能繼承其內部類的,因為這樣就引起了類循環繼承的錯誤,下面的代碼就是錯誤的。

                 public class A extends x {

                        public A(){}

                        ……

                     Classs x{

                               …..

          }

          }

          上面的代碼將引發類循環繼承的錯誤,這種錯誤在編譯時就會被發現,比較容易發現和排除。

          但是下面例子中的內部類的繼承方式卻是正確的:

          class A{

                 ….

                 public  A(){}

                 ……

                 class  X  extends Y  {

                 ……….

          }

                 calss  Y {

                 ……

          }

          }

          什么時候使用繼承,什么樣的繼承是合理的:

          1.       現實世界的事物繼承關系,可以作為軟件系統中類繼承關系的依據。

          2.       包含關系的類之間不存在繼承關系。如:主機,外設 ,電腦。 把主機類和外設類作為電腦類的成員就可以了。

          3.       如果在邏輯上類B是類A的一種,并且類的所有屬性和行為對類而言都有意義,則允許B繼承A的行為和屬性(私有屬性與行為除外)。





               

          posted on 2009-07-26 17:33 胡鵬 閱讀(218) 評論(0)  編輯  收藏 所屬分類: java基礎

          導航

          <2009年7月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          統計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          agile

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 苏州市| 多伦县| 金塔县| 东海县| 丹东市| 沛县| 白水县| 偃师市| 象州县| 罗城| 通化县| 富阳市| 鄂托克前旗| 额济纳旗| 苏州市| 长兴县| 当阳市| 涟水县| 温泉县| 福泉市| 南充市| 济宁市| 德州市| 泰宁县| 和田县| 石首市| 萨迦县| 泰来县| 剑河县| 右玉县| 信宜市| 湾仔区| 高淳县| 沾益县| 斗六市| 乡宁县| 金山区| 汉中市| 文化| 福海县| 昌宁县|