看《java優(yōu)化編程》一些細節(jié)上的東東

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

          Java文件注釋頭

          類中開頭處插入如下 注釋

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

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

           *

           *

               *該類未被編譯測試過。

               *

               *@see(與該類相關(guān)聯(lián)的類):(AnotherClass.java)

               *

               *

           *

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

           *

           *版權(quán):本文件版權(quán)歸屬XXX公司研發(fā)中心

           *

           *

                 *@author(作者):XXX

                 *

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

                 *

                 *@version(版本):1.0

                 *

           *

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

           *

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

           *

           *

           *修改人:    XXXX

           *

           *復審人:    張三李四 王五

           *

           */



          內(nèi)存管理


           

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

          Java 中的析構(gòu)方法 finalize

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

          共享靜態(tài)變量存儲空間

          不要提前創(chuàng)建對象

              ........

              void f(){

                 int i;

                 A a = new A();

                 //A的對象a被創(chuàng)建

                 //在判斷語句之中沒有

                 //應用過a對象

                 .....

                 if(....){

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

                     a.showMessage();

                     ....

                 }

                 .....

              }

              ..........

             

             

             

              正確的書寫方式為:

              void f(){

                 int i;

                 .....

                 if(...){

                     A a = new A();

                     //A的對象a被創(chuàng)建

                     //應用過a對象

                     a.showMessage();

                 }

                 ......

              }

          JVM內(nèi)存參數(shù)調(diào)優(yōu)


          表達式、語句和保留字

          非靜態(tài)方法中可引用靜態(tài)變量

          靜態(tài)方法不可以引用非靜態(tài)變量

          靜態(tài)方法中可 創(chuàng)建 非靜態(tài)變量

          調(diào)用父類的構(gòu)造方法必須將其放置子類構(gòu)造方法的第一行



          JAVA核心類與性能優(yōu)化

          線程同步:Vector Hashtable

          非線程同步: ArrayList HashMap

           

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

          方法length() length屬性  區(qū)別

           

          IO緩存,讀寫文件優(yōu)化。


          類與接口
           

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

                 public class A extends x {

                        public A(){}

                        ……

                     Classs x{

                               …..

          }

          }

          上面的代碼將引發(fā)類循環(huán)繼承的錯誤,這種錯誤在編譯時就會被發(fā)現(xiàn),比較容易發(fā)現(xiàn)和排除。

          但是下面例子中的內(nèi)部類的繼承方式卻是正確的:

          class A{

                 ….

                 public  A(){}

                 ……

                 class  X  extends Y  {

                 ……….

          }

                 calss  Y {

                 ……

          }

          }

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

          1.       現(xiàn)實世界的事物繼承關(guān)系,可以作為軟件系統(tǒng)中類繼承關(guān)系的依據(jù)。

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

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





               

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

          導航

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

          統(tǒng)計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          agile

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 婺源县| 锦州市| 安溪县| 宜黄县| 广南县| 吴江市| 陵水| 青州市| 天等县| 墨竹工卡县| 新建县| 高要市| 普安县| 三亚市| 桂阳县| 宜丰县| 连平县| 江陵县| 响水县| 郎溪县| 康保县| 甘德县| 鲁甸县| 孟津县| 牡丹江市| 河南省| 克什克腾旗| 阿荣旗| 东莞市| 临汾市| 毕节市| 南和县| 思茅市| 长兴县| 隆子县| 桃园市| 屯留县| 宁远县| 营山县| 岚皋县| 志丹县|