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

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

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

    MicroFish

    Open & Open hits
    隨筆 - 33, 文章 - 2, 評論 - 4, 引用 - 0
    數(shù)據(jù)加載中……

    (轉(zhuǎn))《Pro Spring》學(xué)習(xí)筆記(1)--寫在前面的話

    不是剛開始接觸Spring了,也用Spring做過一些東西。我的感覺是用Spring會有一種很爽的感覺,一切都是那么的簡單高效,順理成章。
    ????? 在網(wǎng)上也看到過很多牛人對Spring的評論文章,其中不乏一些頗有微詞的評論。當(dāng)然,任何事務(wù)都不可能十全十美的,我只是一個普通的Java程序員,還無法站在一定的高度,看到Spring這樣那樣的不足。我感覺到的只是Spring給我?guī)淼暮锰幒捅憷虼宋疫x擇了Spring。
    ????? 接下來的文字,記錄的只是在學(xué)習(xí)《Pro Spring》這本書的過程中,我覺得需要著重了解的部分,大部分文字屬于抄書,外加一點(diǎn)點(diǎn)個人的理解。
    ????? 感謝Rob Harrop和Jan Machacek給我們帶來了這本通俗易懂的Spring入門書籍。

    posted @ 2006-12-21 10:19 劉璐 閱讀(299) | 評論 (0)編輯 收藏

    springIDE

    首先嘗試link方式安裝,無法使用。上網(wǎng)查詢后,網(wǎng)友都認(rèn)為應(yīng)該用updata方式安裝

    1.打開eclipse,菜單"help"->"software updates"->"find and install"
    2.在彈出的界面中選擇“Search for new features to install”
    3.這一步可分成兩種情況:
    a.如果本地已經(jīng)下載SpringIDE的壓縮包,請解壓到一個目錄(比如SpringIDE),里面有兩個目錄(features、plugins)和一個文件site.xml,在彈出的界面中選擇"New Local Site",指到前面的解壓后目錄(SpringIDE),點(diǎn)“OK”,在"Name"中輸入“SpringIDE Update”
    b.如果沒有下載SpringIDE的壓縮包,在彈出的界面中選擇“New Remote Site”,在"Name"中輸入“SpringIDE Update”,在“URL”中輸入“http://springide.org/updatesite/”,點(diǎn)“OK”
    4.選中"SpringIDE Update",點(diǎn)“finish”,開始搜索站點(diǎn)的更新信息
    5.在搜索界面的界面中選中要更新的,繼續(xù)
    因?yàn)槲业木W(wǎng)絡(luò)有防火墻隔離,所以直接下載了springide_updatesite_1.2.1.zip在本地安裝。

    安裝過程中,出現(xiàn)error retrieving “feature.xml“的錯誤,這時候刪除了根目錄的site.xml文件,就可以updata了

    另外,springIDE的使用方法可以參考 http://www.volitation.net/Dynamic/print.asp?SelectID=101

    posted @ 2006-11-18 16:13 劉璐 閱讀(548) | 評論 (0)編輯 收藏

    Eclipse 插件集

    Eclipse SQLExplorer plugin
    一個數(shù)據(jù)庫管理插件
    http://sourceforge.net/projects/eclipsesql

    Poperties Editor
    ?
    http://propedit.sourceforge.jp/eclipse/updates/

    eclipseME
    ?
    http://eclipseme.org/updates/

    Eclipse加速插件KeepResident
    http://suif.stanford.edu/pub/keepresident/

    ?
    MyEclipse? J2EE開發(fā)插件,支持SERVLET/JSP/EJB/數(shù)據(jù)庫操縱等
    www.myeclipseide.com
    ?
    Properties Editor? 編輯java的屬性文件,并可以自動存盤為Unicode格式
    http://propedit.sourceforge.jp/index_en.html
    http://propedit.sourceforge.jp/eclipse/updates/
    ?
    Colorer Take? 為上百種類型的文件按語法著色
    http://colorer.sourceforge.net/
    ?
    XMLBuddy 編輯xml文件
    www.xmlbuddy.com
    ?
    Code Folding? 加入多種代碼折疊功能(比eclipse自帶的更多)
    http://www.coffee-bytes.com/servlet/PlatformSupport
    ?
    Easy Explorer? 從eclipse中訪問選定文件、目錄所在的文件夾
    http://easystruts.sourceforge.net/
    ?
    Fat Jar 打包插件,可以方便的完成各種打包任務(wù),可以包含外部的包等
    http://fjep.sourceforge.net/
    ?
    RegEx Test 測試正則表達(dá)式
    http://brosinski.com/stephan/archives/000028.php
    ?
    JasperAssistant 報表插件(強(qiáng),要錢的)
    http://www.jasperassistant.com/
    ?
    Jigloo GUI Builder JAVA的GUI編輯插件
    http://cloudgarden.com/jigloo/
    ?
    Profiler 性能跟蹤、測量工具,能跟蹤、測量BS程序
    http://sourceforge.net/projects/eclipsecolorer/
    ?
    AdvanQas 提供對if/else等條件語句的提示和快捷幫助(自動更改結(jié)構(gòu)等)
    http://eclipsecolorer.sourceforge.net/advanqas/index.html
    ?
    Log4E???? Log4j插件,提供各種和Log4j相關(guān)的任務(wù),如為方法、類添加一個logger等
    http://log4e.jayefem.de/index.php/Main_Page
    ?
    VSSPlugin VSS插件
    http://sourceforge.net/projects/vssplugin
    ?
    Implementors?? 提供跳轉(zhuǎn)到一個方法的實(shí)現(xiàn)類,而不是接中的功能(實(shí)用!)
    http://eclipse-tools.sourceforge.net/implementors/
    ?
    Call Hierarchy 顯示一個方法的調(diào)用層次(被哪些方法調(diào),調(diào)了哪些方法)
    http://eclipse-tools.sourceforge.net/call-hierarchy/index.html
    ?
    EclipseTidy 檢查和格式化HTML/XML文件
    http://eclipsetidy.sourceforge.net/
    ?
    Checkclipse 檢查代碼的風(fēng)格、寫法是否符合規(guī)范
    http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm
    ?
    Hibernate Synchronizer Hibernate插件,自動映射等
    http://www.binamics.com/hibernatesync/
    ?
    spring updatesite 插件
    http://springide.org/updatesite/

    VeloEclipse? Velocity插件
    http://propsorter.sourceforge.net/
    ?
    EditorList?? 方便的列出所有打開的Editor
    http://editorlist.sourceforge.net/
    ?
    MemoryManager 內(nèi)存占用率的監(jiān)視
    http://cloudgarden.com/memorymanager/

    Eclipse的游戲插件
    http://eclipse-games.sourceforge.net/

    JBoss-IDE
    http://jboss.sourceforge.net/jbosside/updates/

    自動反編譯class,安裝后要設(shè)定class文件缺省關(guān)聯(lián)到j(luò)ode
    http://www.technoetic.com/eclipse/update


    jigloo swing/sw設(shè)計工具,里面自帶的form/anchor布局很好用!
    http://cloudgarden.soft-gems.net/update-site/

    jinto的資源文件編輯工具,同時編輯多種語言,而且自動轉(zhuǎn)換成iso8859-1編碼。很好用!
    http://www.guh-software.de/eclipse/

    posted @ 2006-10-29 13:54 劉璐 閱讀(607) | 評論 (0)編輯 收藏

    JAVA斷言使用

    相信學(xué)過c,c++的朋友一定不會對斷言感到陌生。下面介紹一下斷言在JAVA中的使用,JAVA是從JDK1.4才開始支持?jǐn)嘌缘模ㄌ砑恿岁P(guān)鍵字assert),請注意老版的JRE不支持。

    斷言概述


    ??編寫代碼時,我們總是會做出一些假設(shè),斷言就是用于在代碼中捕捉這些假設(shè)
    ??可以將斷言看作是異常處理的一種高級形式
    ??斷言表示為一些布爾表達(dá)式,程序員相信在程序中的某個特定點(diǎn)該表達(dá)式值為真
    ??可以在任何時候啟用和禁用斷言驗(yàn)證,因此可以在測試時啟用斷言而在部署時禁用斷言。同樣,程序投入運(yùn)行后,最終用戶在遇到問題時可以重新起用斷言。
    ??使用斷言可以創(chuàng)建更穩(wěn)定,品質(zhì)更好且易于除錯的代碼
    ??當(dāng)需要在一個值為FALSE時中斷當(dāng)前操作的話,可以使用斷言
    ??單元測試必須使用斷言(Junit/JunitX)
    ??除了類型檢查和單元測試外,斷言還提供了一種確定個種特性是否在程序中得到維護(hù)的極好的方法
    ??使用斷言使我們向按契約式設(shè)計更近了一部

    常見的斷言特性


    ??前置條件斷言:代碼執(zhí)行之前必須具備的特性
    ??后置條件斷言:代碼執(zhí)行之后必須具備的特性
    ??前后不變斷言:代碼執(zhí)行前后不能變化的特性

    斷言使用方式


    ??斷言可以有兩種形式
    ??1.assert?Expression1
    ??2.assert?Expression1:Expression2
    ??其中Expression1應(yīng)該總是一個布爾值,Expression2是斷言失敗時輸出的失敗消息的字符串。如果Expression1為假,則拋出一個?AssertionError,這是一個錯誤,而不是一個異常,也就是說是一個不可控制異常(unchecked?Exception),AssertionError由于是錯誤,所以可以不捕獲,但不推薦這樣做,因?yàn)槟菢訒鼓愕南到y(tǒng)進(jìn)入不穩(wěn)定狀態(tài)。

    起用斷言


    ??斷言在默認(rèn)情況下是關(guān)閉的,要在編譯時啟用斷言,需要使用source1.4標(biāo)記?既javac?source1.4?Test.java?,在運(yùn)行時啟用斷言需要使用?-ea參數(shù)?。要在系統(tǒng)類中啟用和禁用斷言可以使用?-esa?和?-dsa參數(shù)。
    ??
    例如:
    public class AssertExampleOne{
    ?? public AssertExampleOne(){}
    ?? public static void main(String args[]){
    ????? int x=10;
    ????? System.out.println("Testing Assertion that x==100");
    ????? assert x==100:"Out assertion failed!";
    ????? System.out.println("Test passed!");
    ?? }
    }

    如果編譯時未加?-source1.4,則編譯通不過
    在執(zhí)行時未加?-ea?時輸出為
    Testing?Assertion?that?x==100
    Test?passed
    jre忽略了斷言的就代碼,而使用了該參數(shù)就會輸出為
    Testing?Assertion?that?x==100
    Exception?in?thread?"main"?java.lang.AssertionError:?Out?assertion?failed!
    ????????at?AssertExampleOne.main(AssertExampleOne.java:6)

    斷言的副作用


    ??由于程序員的問題,斷言的使用可能會帶來副作用?,例如:
    ??boolean?isEnable=false;
    ??//...
    ??assert?isEnable=true;
    ??這個斷言的副作用是因?yàn)樗薷牧顺绦蛑凶兞康闹挡⑶椅磼伋鲥e誤,這樣的錯誤如果不細(xì)心的檢查是很難發(fā)現(xiàn)的。但是同時我們可以根據(jù)以上的副作用得到一個有用的特性,根據(jù)它來測試斷言是否打開。

    ?public?class?AssertExampleTwo{

    ???public?static?void?main(String?args[]){
    ?????boolean?isEnable=false;
    ?????//...
    ?????assert?isEnable=true;
    ?????if(isEnable==false){
    ???????throw?new?RuntimeException("Assertion?shoule?be?enable!");
    ?????}
    ???}
    }

    何時需要使用斷言


    ??1.可以在預(yù)計正常情況下程序不會到達(dá)的地方放置斷言?:assert?false
    ??2.斷言可以用于檢查傳遞給私有方法的參數(shù)。(對于公有方法,因?yàn)槭翘峁┙o外部的接口,所以必須在方法中有相應(yīng)的參數(shù)檢驗(yàn)才能保證代碼的健壯性)
    ??3.使用斷言測試方法執(zhí)行的前置條件和后置條件
    ??4.使用斷言檢查類的不變狀態(tài),確保任何情況下,某個變量的狀態(tài)必須滿足。(如age屬性應(yīng)大于0小于某個合適值)

    什么地方不要使用斷言


    ??斷言語句不是永遠(yuǎn)會執(zhí)行,可以屏蔽也可以啟用
    因此:
    ??1.不要使用斷言作為公共方法的參數(shù)檢查,公共方法的參數(shù)永遠(yuǎn)都要執(zhí)行
    ??2.斷言語句不可以有任何邊界效應(yīng),不要使用斷言語句去修改變量和改變方法的返回值

    參考:
    http://jcp.org/en/jsr/detail?id=41
    http://java.sun.com/j2se/1.4.2/docs/guide/lang/assert.html
    http://www-128.ibm.com/developworkers/cn/java/jdiag0723/
    http://www-128.ibm.com/developworkers/cn/java/jmerlin/part9/

    posted @ 2006-10-24 16:17 劉璐 閱讀(21048) | 評論 (2)編輯 收藏

    static方法不應(yīng)該被重寫

    如果你認(rèn)為重寫只是在子類中簡單的替換了一個方法,你就很容易認(rèn)為static 方法也能
    被重寫。事實(shí)上,我有很多包含人們舉例指明static 方法能被重寫的代碼的郵件。然而,這
    些并沒有考慮方法重寫在運(yùn)行時決定哪個版本的方法被調(diào)用的細(xì)節(jié)問題。下面的代碼似乎表
    明static 方法是怎樣被重寫的。
    class Base{
    ???static void amethod(){
    ???System.out.println("Base.amethod");
    ???}
    }
    public class Cravengib extends Base{
    ???public static void main(String arg[]){
    ??????Cravengib cg = new Cravengib();
    ??????cg.amethod();
    ???}
    ???static void amethod(){
    ??????System.out.println("Cravengib.amethod");
    ???}
    }
    如果你編譯并運(yùn)行這段代碼,你會發(fā)現(xiàn)輸出文本Cravengib.amethod,這似乎很好的指
    明了重寫。然而,對于重寫,還有相對于在子類中使用一個方法簡單替換另一個方法更多的
    東西。還有運(yùn)行時決定的方法基于引用的類的類型的問題,這可以通過制造正在被實(shí)例化的
    類的引用類型(實(shí)例初始化語句的左半部分)來說明。
    在上面的例子中,因?yàn)槊纸衋method 的方法與類發(fā)生了關(guān)聯(lián),而不是與特定的類的實(shí)
    例相關(guān)聯(lián),它不在乎什么類型的類正在創(chuàng)建它,而僅僅在意引用的類型。因此,如果你在調(diào)
    用amethod 前改變一下這一行,
    Base cg= new Cravengib()
    你就會發(fā)現(xiàn)當(dāng)你運(yùn)行程序時,你會得到輸出:Base.amethod
    cg 是一個類Cravengib 在內(nèi)存中的一個Base 類型的實(shí)例的引用(或者指針)。如果一個static
    方法被調(diào)用了,JVM 不會檢查什么類型正在指向它,它只會調(diào)用跟Base 類相關(guān)聯(lián)的方法的
    實(shí)例。
    與上面的情況相對比:當(dāng)一個方法被重寫時,JVM 檢查通過引用正在指向的類的類型,
    并調(diào)用此類型相關(guān)的方法。可以結(jié)束這個例子了,如果你將兩個版本的amethod 方法改變?yōu)?br />非static,并依然創(chuàng)建類:
    Base cg= new Cravengib()
    編譯并運(yùn)行上述代碼,你會發(fā)現(xiàn)amethod 已經(jīng)被重寫了,并且輸出Cravengib.amethod。

    posted @ 2006-10-24 11:47 劉璐 閱讀(831) | 評論 (0)編輯 收藏

    僅列出標(biāo)題
    共7頁: 上一頁 1 2 3 4 5 6 7 下一頁 
    主站蜘蛛池模板: 女人18毛片特级一级免费视频| 中文字幕久精品免费视频 | 亚洲五月午夜免费在线视频| 国产又黄又爽又刺激的免费网址| 亚洲国产一级在线观看| 亚洲精品国产字幕久久不卡| 久久亚洲精品成人AV| 亚洲中文字幕无码一去台湾| 色吊丝免费观看网站| 久久成人18免费网站| 每天更新的免费av片在线观看| 歪歪漫画在线观看官网免费阅读| 免费欧洲美女牲交视频| 亚洲精品中文字幕无码蜜桃| 亚洲国产成人久久77| 美国免费高清一级毛片| 久草福利资源网站免费| 成人免费午间影院在线观看| 亚洲一级Av无码毛片久久精品 | 国产精品亚洲二区在线观看| 久久精品国产亚洲av高清漫画| 亚洲欧美国产国产一区二区三区| 一区二区三区在线观看免费| 91精品啪在线观看国产线免费| 在线观看免费精品国产| 亚洲av无码不卡| 日韩欧美亚洲中文乱码| 日本免费久久久久久久网站| 卡一卡二卡三在线入口免费| 亚洲精品制服丝袜四区| 亚洲精品无码国产片| 免费一级不卡毛片| 在线看片无码永久免费aⅴ| 亚洲av午夜成人片精品网站 | 在线观看免费污视频| 亚洲AV无码成人精品区在线观看| 亚洲人成www在线播放| 久久精品成人免费国产片小草| 歪歪漫画在线观看官网免费阅读 | 色久悠悠婷婷综合在线亚洲| 亚洲一区中文字幕在线观看|