2005年1月27日

          First, read this doc carefullly on  objectlearn.com

          Tips 1:EMF MUST BE INSTALLED PRIOR TO USING LOMBOZ.
          Using google, you'll find many article about the Installation of Lomboz. But many of them didn't talk about the EMF. I haven't used Lomboz 2.X on eclipse 2.X, perhaps that old version didn't need EMF. Now, Lomboz v3.x uses models based on EMF. So EMF must be installed with Lomboz.

          Tips 2: IT IS VERY IMPORTANT THAT YOU CLICK APPLY 
          Your change will be taken into account only after this. It's very strange -_-b

          BTW, the speed for exploring websites abroad is very very slow these days. For example , eclipse.org, sourceforge.net and so on.  My ISP is Shanghai's Oriental Cable Network.

          posted @ 2005-04-03 09:52 Blue Kong 閱讀(516) | 評論 (0)編輯 收藏

          Good, I prefer it to blojsom, for it's running well on my server now but blojsom can't.


          posted @ 2005-03-11 16:11 Blue Kong 閱讀(373) | 評論 (1)編輯 收藏

          最近剛開始使用firefox,雖然還有很多網站的代碼不能符合mozilla的標準。但是,因為一些細節,我還是喜歡上了firefox。

          舉兩個例子:
          你是否有時候被一些網站匪夷所思的小字體所困擾?IE提供的查看--〉字體大小在絕大多數場合下都是無用的 :(  firefox里,你只需要輕松的ctrl + +/- ,哈哈,再也不會有什么小字體看不清楚地惱人事情了。

          原本blogjava.net使用的post edit的代碼嵌入使用DIV,在處理 /* */ 注釋時,縮放的按鈕在IE下不能正常工作。現在在firefox里可以了。


          當然,由于兼容問題,如果只使用firefox,在訪問相當一部分網站時還是會發生問題的。所以,雙開啊。


          BTW,順便問一下,有人知道什么用java寫的優秀blog程序么? 如現在這樣使用.text總覺得有些奇怪,呵呵。嘗試過 blojsom ,不知道為什么,我始終無法成功的讓其使用mysql作為數據庫。 而且,在建立catalog時,也總是發生奇怪的結果。例如,同名catalog,post無法歸入某個catalog

          posted @ 2005-03-11 11:11 Blue Kong 閱讀(613) | 評論 (0)編輯 收藏

          找到兩個簡單的guide,記下來備用:

          http://fedoranews.org/contributors/stanton_finley/fc3_note/



          http://www.mjmwired.net/resources.php?PHPSESSID=e63a1fe2caddc29e491f26c285189cdf

          posted @ 2005-03-05 20:21 Blue Kong 閱讀(298) | 評論 (0)編輯 收藏

          //從老家搬篇過來,看看排版與顯示效果如何。

           

          6. Reusing Classes

          Java編譯器并不會給任何reference產生缺省對象,這樣就避免了大多數情況下的不必要的負擔。初始化需要的對象可以在以下地點:

          1,對象定義處。由于類初始化順序的規則,這樣做可以保證以此方法初始化的對象將會在構造函數被調用前完成初始化。
          2,構造函數內部。
          3,當需要使用該對象時,這種方式被稱為(緩式初始化)lazy initialization。如果一個對象并非總是必須,那么這種方式可以減少額外負擔。

          關于清理動作,要注意的是順序:首先執行當前類的所有清理動作(其中次序和生成次序相反),而后再調用base class的清理函數。外帶一句,除了內存,最好永遠不要相信垃圾回收機制。

          Final data

          Bruce在這部分說:Java中final修飾對于基本類型和對象引用(object reference)而言,意義是不同的。用于基本類型時,final讓value(數值)保持不變。用于object reference時,final讓reference保持不變,但對象本身的內容卻是可以更動的惡。Java并未提供讓任何對象保持不變的機制,雖然可以自己編寫具有保持不變效果的class。特別提醒,array也是對象。

          我要說的是,我沒發現final在基本類型與對象引用的意義有何不同。final都是讓兩者的value保持不變,基本類型的value就是對應的數值或者bool值。而對象引用的value在理解上可以解釋為指向object的地址。當然,這里似乎對于Java的底層實現做了假設而我確實也沒細究過Java如何實現object reference的。但是,就Java語法及我個人的體會而言,我覺得這是很好的一種理解方式。

          Blank finals

          Java允許把數據成員聲明為final卻不賦予初始值。當然,final修飾的數據成員必須在其被使用前完成初始化,這一點由編譯器保證。這個特性讓我們可以把某個數據成員聲明為final具有不變的特性,卻在每個對象中為不同的值。

          Final arguments

          Java中還可以把method的arguments聲明為final,意義不變,只是不變特性的范圍僅僅在此method內。對于對象引用,即是在此method內擁有此對象的一個不可變更的引用,而不影響此對象存在其他非final的引用。

          Final method

          有兩個原因把一個method修飾成final。第一,對于類A中的某個method,你希望在類A所有子類中此方法的表現不變,即此方法不可被覆寫(overriding)。第二,處于效率考慮,因為編譯器會嘗試把不太長的final method改為inner method。而Bruce Eckel建議我們不要相信編譯器的智商,只在確實處于設計的考慮需要時,才把method修飾為final。

          final & private

          private的method對于子類是不可見的,自然也無法覆寫(overriding)。似乎,private隱含了final?如果一個函數已經是private,似乎final修飾與否都無關緊要? 
          首先,這兩個假設,前者錯誤,后者正確。因為private的method對于子類是不可見的, 所以對于子類而言如此的函數就如同是父類中的一段普通代碼。如果此時在子類中聲明一個與父類中的private method同名的函數,編譯器是允許的。然而,注意,此時只是在這個繼承體系中加入了一個新函數而已,并非是一個覆寫。因為覆寫(overriding)的前提是,被覆寫的函數是可見,是父類的對外的界面。至于對private函數再加final修飾,編譯器是允許的。但毫無意義,因為private的函數對于子類不可見,所以也就無需聲明是否允許覆寫(overriding)。

          下面還是貼段代碼來解釋:

          /*
           * Created on 2004-11-30
           *
           * TODO To change the template for this generated file go to
           * Window - Preferences - Java - Code Style - Code Templates
           
          */

          package com.smilereader.test;

          /**
           * @author Sinbadblue Kong
           *
           * TODO To change the template for this generated type comment go to
           * Window - Preferences - Java - Code Style - Code Templates
           
          */

          class Treasure {
              
              
          private final void f(){
                  System.
          out.println("Treasure.f()");
              }

              
              
          private void g(){
                  System.
          out.println("Treasure.g()");        
              }

              
              final 
          void e(){
                  System.
          out.println("Treasure.e()");
              }

              
          }


          /*
           * Created on 2004-12-5
           *
           * TODO To change the template for this generated file go to
           * Window - Preferences - Java - Code Style - Code Templates
           
          */

          package com.smilereader.test;

          /**
           * @author Sinbadblue Kong
           *
           * TODO To change the template for this generated type comment go to
           * Window - Preferences - Java - Code Style - Code Templates
           
          */

          class Gemstone extends Treasure {
              
              
          //    add a new method Gemstone.f(), it isn't an overriding
              public final void f(){
                  System.
          out.println("Gemstone.f()");
                  
              }

              
              
          //  add a new method Gemstone.g(), it isn't an overriding
              public void g(){
                  System.
          out.println("Gemstone.g()");
              }

           
              
          //can't overriding Treasure.e()
          //    public void e(){
          //        System.out.println("Gemstone.e()");
          //    }

          }


          我覺得Java的編譯器在此處的處理不太合適,容易導致混淆。如果對于private 與 final修飾做互斥處理,我個人覺得會是比較合適的又容易理解的方式。

          posted @ 2005-01-27 08:58 Blue Kong 閱讀(568) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 台北市| 鹤峰县| 九寨沟县| 五常市| 涿州市| 杂多县| 武陟县| 西畴县| 新营市| 河津市| 舞阳县| 洛阳市| 攀枝花市| 吴旗县| 临西县| 化隆| 伊宁市| 八宿县| 沾化县| 宁国市| 丰县| 吴堡县| 涟源市| 隆昌县| 石城县| 柳河县| 万全县| 广宁县| 运城市| 衡东县| 乌鲁木齐市| 陵川县| 永兴县| 肥乡县| 南昌市| 偃师市| 贵州省| 巨鹿县| 本溪| 木里| 于田县|