看《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 胡鵬 閱讀(221) 評論(0)  編輯  收藏 所屬分類: java基礎

          導航

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

          統計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          agile

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 普陀区| 楚雄市| 永善县| 东源县| 分宜县| 开江县| 新和县| 云霄县| 凤翔县| 山东| 天气| 宁晋县| 台东县| 泗洪县| 新巴尔虎左旗| 永昌县| 台中市| 灵台县| 越西县| 庆云县| 鹤峰县| 永嘉县| 苗栗县| 团风县| 牙克石市| 肃北| 永城市| 岐山县| 宁安市| 平安县| 临邑县| 大关县| 桐城市| 平江县| 鲜城| 武乡县| 海伦市| 南丰县| 上蔡县| 滨州市| 来凤县|