<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    求索

    Make it work, make it right, make it fast and make it open。
    posts - 8, comments - 11, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    2005年7月6日

    幾天之前就聽說Eclipse官方網站要改版,今天又看到了在EclipseZone上讓大家投票選首頁的Skin,網站上提供了三種皮膚。每個都不錯,不過我最喜歡第一個。

    eclipse.org (Click on the image for a bigger version)
    其他Skin:
    http://www.eclipsezone.com/java/forums/t44832.html
    自從我開始用Eclipse,看到的eclipse.org的頁面就一直是老樣子,原來內容少的時候用著還可以,現在內容多了很多,總感覺找起資料來非常費勁,有一種很亂的感覺。是該改一改了!

    posted @ 2005-09-02 12:54 Java求索 閱讀(672) | 評論 (0)編輯 收藏

    感覺3.1好像昨天才剛剛發布,今天3.2M1就呈現在人們的面前。3.2M1在UI上的最大的改變就是啟動進度條終于集成到了Splash Screen上了。
    o_startup.png
    而傳說中的SWT.VERTICAL style Coolbars卻沒有出現。也許會在下一個版本中加入吧!期待中……。不過,Eclipse的UI真的是越來越漂亮了。
    更多New and Noteworthy
    下載

    posted @ 2005-08-14 08:05 Java求索 閱讀(903) | 評論 (1)編輯 收藏

    我在試著使用Hyades測試項目的時候,知道了Eclipse還可以從控制臺啟動:
    在控制臺中輸入
    Java -XrunpiAgent -classpath ./startup.jar org.eclipse.core.launcher.Main -data ./my_workspace

    其中:
    -XrunpiAgent: 可以不加,這是為了啟動Hyades的Agent controller用的。
    -classpath ./startup.jar: 要是指定eclipse目錄下startup.jar文件的位置。
    -data ./workspace-new: -data常用的一個啟動參數,用來指定eclipse項目文件的位置。

    posted @ 2005-07-27 17:39 Java求索 閱讀(740) | 評論 (1)編輯 收藏

    今天寫代碼涉及到大量的String操作,突然間想起一些關于String與其它class的不同之處,我是我以前在一篇文章上看到的,具體出處實在記不得了,現在加上一點兒自己的理解記錄下來,以作備忘。

    String的特殊之處就是它可以像int等簡單類型一樣,使用“=”來生成一個Object,而不必用new這個關鍵字,為什么呢?先來看下面的代碼:
    import junit.framework.TestCase;

    public class TestStringPool extends TestCase {

        
    private String string1;
        
    private String string2;

        
    protected void setUp() {
            string1 
    = "abc";
            string2 
    = "abc";
        }


        
    public void testStringPool() {
            assertTrue(string1 
    == string2);
        }


        
    public void testNewString() {
            string1 
    = new String("abc");
            string2 
    = new String("abc");
            assertFalse(
    "The objects don't use the 
                string pool", string1 == string2);
        }

    }

    這里用到了JUnit,用來測試String pool

    第一個測試,說明兩個String是同一個Object,(==就是用來比較objectreference)。而第二個測試則說明兩個String Object不同。

    眾所周知,JavaString不可改變的字符串對象。為了提高效率,JavaString類提供了串池(String pool)。正如大家所看到的那樣,在第一個test中就使用了串池。當你重新聲明一個String型變量為abc時,將使用串池里原來的那個abc,而不重新分配內存,也就是說,string2string1將會指向同一塊內存。所以結果為true。在第二個test case中使用了普通對象的聲明方式,系統將會為string1string2各分配一塊內存。所以結果為false

     結論:我們比較兩個String的值,最好用equals()方法,而最好不要使用==。這就避免了一些不必要的麻煩。另外,聲明String的時候,最好用=,這樣就可以體現String pool的作用了。

    posted @ 2005-07-15 09:31 Java求索 閱讀(1148) | 評論 (1)編輯 收藏

         原來一直聽說wordpress很好,是用php做的。由于前幾天開始接觸PHP,所以今天就試著在自己pc上安裝wordpress。我用的是PHP的最新版本,PHP5。剛開始我按照wordpress的readme文件一步步地安裝,首先apache http server,然后PHP5,wordpress。最后修改wp-config文件里的Database設置,打開瀏覽器,本以為可以大功告成了。但是運行/wp-admin目錄里的install.php文件,卻提示我"Your PHP installation appears to be missing the MySQL which is required for WordPress." 于是我就檢查mysql的DB_NAME,DB_USER,DB_PASSWORD,DB_HOST,都對啊。怎么會呢?

    百思不得其解,實在沒有辦法了,我就一遍一遍的查PHP的文檔,后來終于在FAQ里面找到了原因,原來是因為PHP5在默認情況下,不再提供mysql的支持,必須手動的設置。

    方法是:在PHP.ini文件激活php_mysql.dll擴展庫,此外,要將php_mysql.dll拷貝到適當的 %SYSTEMROOT% 目錄中.

    posted @ 2005-07-13 16:57 Java求索 閱讀(1212) | 評論 (1)編輯 收藏

    維護一個J2EE項目,經常需要修改client端所連接的server. 最麻煩的就是每次都需要把client里面的所有的config和properties文件里的IP地址改一遍。如果不小心忘掉幾個,就會出現一些意想不到的錯誤。如果要避免這種麻煩的事情,可以用windows IP影射。

    具體方法:

    在windows安裝目錄修改\system32\drivers\etc\hosts:文件

    在文件里加上例如這樣的字段

    123.456.0.1           abcde

    前面一段為IP地址,后面為一個任意的server名字,可以是任意的字符串。然后,在所有的屬性文件里使用這個名字。以后再想更改server,就只需要修改hosts文件就行了。

    posted @ 2005-07-06 17:50 Java求索 閱讀(916) | 評論 (1)編輯 收藏

    JDK5.0已經release很久了,但一直沒機會好好學習一下,今天可有機會了。

    先來看一段代碼:

    public class TestDate {

        
    public static void main(String[] args) {
            Date date 
    = new Date();
            Object 
    object = new Object();
            Timestamp stamp 
    = new Timestamp(date.getTime());
            System.
    out.println("date&stamp:" + date.compareTo(stamp));
            System.
    out.println("stamp&date:" + stamp.compareTo(date));
            System.
    out.println("date&object:" + date.compareTo(object));
        }
    }


    這段代碼看上去很普通,但是如果用1.4和1.5分別編譯就會出現不同的結果。先來說用1.4編譯的情況:首先用1.4編譯,編譯器不會報錯,如果運行的話,前面兩個輸出語句會分別打印“0,0”,而第三個會throw一個ClassCast exception. 因為Date不能與object比較,但是為什么能編譯通過呢?察看JDK源代碼就可以知道了,Date實現了Comparable接口,這個接口中的CompareTo()方法的參數就是Object。所以Date也不得不有一個以Object為參數的CompareTo()方法,但是這個方法是沒有意義的,Date應該與Date比較,所以Date這個Class里面就出現了兩個ComparaTo方法,一個是以Date為參數,另一個是以Object為參數,這是1.4以前,不得不采用的方法。不然Date就沒法實現Comparable接口了。

    JDK1.5中Generics的出現解決了這個問題,如果看1.5中Date類的源代碼的話,就會發現它只有一個CompareTo()方法了,那它怎么來實現Comparable接口呢,這就是Generics的功勞了。在Date聲明時,實現Comparable接口是這么寫的:...Comparable...,并且Comparable接口的聲明是這樣的:Comparable。這個T代表Type。它可以是任何Object。Comparable的實現類只要說明T是什么具體類型就可以了。因此,Date就可以只有一個CompareTo()方法,又可以實現Comparable接口了。如果用1.5編譯上面的Code的話,就會發現這段Code是不能編譯通過的,編譯器會提示“Severity Description Resource In Folder Location Creation Time 2 The method compareTo(Date) in the type Date is not applicable for the arguments (Object)”,這就避免了1.4中出現的問題。我想如果使用了1.5以后咱們編寫代碼時,出現ClassCastException的幾率就會很小了,因為編譯器會替你發現這樣的錯誤。

    這就是Generics的好處了。

    但是還有一點值得考慮,如果我們去掉錯誤的那一行代碼,在1.5中編譯然后運行,會發現還有地方與1.4的不同。第一行輸出語句會打印1,而不是0,這說明1.5認為具有相同時間的timestamp和date是不同的,但1.4認為它們相同。我有看了一下1.5和1.4的源代碼,發現它們CompareTo(Date ...)的實現方法是不一樣的,可能問題就出現在這里。我沒有試著去讀它的代碼,等有時間,一定好好研究一下。

    最后,還有一個問題,如果用1.5編譯并運行,會throw一個ClassCastException,而用1.4則不會出現這個問題。我想這是因為timestamp繼承了Date的CompareTo()方法,所以一個timestamp就可以與Date比較了,但是應用了Generics以后這種情況是不允許的,而且代碼也沒有特殊處理,因此就會有Exception了。看來Generics也會帶來一些其他的問題。

    我想這種情況是可以避免的,原則就是只比較具有相同類型的兩個對象,而不與其父類或子類比較。如果必須比較的話,也應該用相應的方法轉化為相同的類,再進行比較。

    posted @ 2005-07-06 15:57 Java求索 閱讀(920) | 評論 (5)編輯 收藏

    主站蜘蛛池模板: 在线91精品亚洲网站精品成人| 亚洲人成网站影音先锋播放| 亚洲国产系列一区二区三区| 国产精品怡红院永久免费| 亚洲视频小说图片| 一级毛片在线观看免费| 亚洲日韩在线视频| 无码日韩精品一区二区免费| 亚洲精品国产日韩| 日韩免费视频在线观看| 美女被免费网站视频在线| 国产成人无码a区在线观看视频免费| 国产AV无码专区亚洲AV蜜芽 | 久久国产精品萌白酱免费| 亚洲AV福利天堂一区二区三| 50岁老女人的毛片免费观看| 亚洲人成人77777网站不卡| 成人毛片免费视频| 黄网站在线播放视频免费观看| 国产偷窥女洗浴在线观看亚洲 | 亚洲中文字幕人成乱码| 午夜毛片不卡高清免费| 欧美亚洲国产SUV| 亚洲精品乱码久久久久久蜜桃不卡 | 亚洲综合无码一区二区痴汉| 午夜a级成人免费毛片| 黄网站在线播放视频免费观看| 国产亚洲情侣一区二区无码AV| 久久久久久久岛国免费播放| 亚洲美女视频免费| 狼友av永久网站免费观看| 一级毛片免费在线观看网站| 久久精品国产精品亚洲蜜月| 一个人看的www在线观看免费| 国产成人高清亚洲一区久久| 亚洲av中文无码乱人伦在线播放 | 四虎成人精品永久免费AV| 亚洲日韩看片无码电影| 亚洲自偷自偷在线制服| 四虎永久在线观看免费网站网址 | 人人玩人人添人人澡免费|