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

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

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

    I want to fly higher
    programming Explorer
    posts - 114,comments - 263,trackbacks - 0

    1.測試驅動開發
     測試驅動開發的基本思想就是在開發功能代碼之前,先編寫測試代碼,然后只編寫使測試通過的功能代碼,從而以測試來驅動
     整個開發過程的進行。這有助于編寫簡潔可用和高質量的代碼,有很高的靈活性和健壯性,能快速響應變化,并加速開發過程
     。
    2.//TODO Auto-generated method stub
    -自動生成方法存根;其實這是eclipse自動生成的;那是因為我們之前操作過了自動代碼生成的功能,如用eclipse向導創建類的時候

    有一個選項:which method stubs would you like to create?如果我們選擇上了,則會自動生成該方法,且有一句注釋://TODO
    auto-generate
    method stub,它強調這是自動生成的方法存根,你可能需要添加一些具體的代碼。
     可以編寫方法調用->再調用生成方法存根 (Stub) 操作->創建新的方法聲明
      個人理解:即一個自動生成代碼的功能。比如測試驅動開發的時候,我們可以直接編寫方法調用,然后讓IDE自動生成方
      法
      聲明即可,這樣可以大大提高工作效率(Visual Studio 已提供該功能)
         http://msdn.microsoft.com/zh-cn/library/tcz8b6zc(v=vs.80).aspx
     當然我們的eclipse也有這樣的功能,比如本來一個Calculate的類只有add和deduct方法,然后我們完全可以在client調用:
     calculate.devide(number),雖然我們的Calculate中沒有除的方法;這時候編譯出錯,點擊紅叉,eclipse會提示:
     Create method 'devide(int)',然后右面會有生成的該方法聲明的提示;雙擊,即生成了該方法存根,便看到了熟悉的
     //TODO Auto-generated method stub

      對真實方法的模擬方法,這個方法稱之stub;存根(stub) 提供一種可以預先測試的未實現的對真實方法進行模擬的機制;顧
      stub被翻譯為'存根'。
    3.Mylyn/BugZilla
    4.Java類中熱替換的概念、設計與實現http://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/
    5.eclipse debug:
     1.條件斷點-右鍵斷點->break point properties->Conditional->輸入條件
     2.Inspect選項->選擇感興趣的變量->Ctrl+shift+I/右鍵Inspect選項->計算表達式的值->Display 窗口的 Expressions 視圖中會顯示結果
      (右鍵變量->Display)->Ctrl+shift+D->在Display中可以輸入變量名,然后鼠標移過去即可或者Ctrl+shift+I
     3.熱交換錯誤修正->允許在調試器會話中改變源代碼->Resume
     4.遠程調試->Remote Java Application
     5.F5,step info-> 單步調試,會進入方法里面;
        F6,step over,一行一行的調試;
        F7,step return,執行完當前method,然后return跳出此method
        step filter->一直執行直到遇到未經過濾的位置或斷點->window-preferences-java-Debug-step Filtering
        resume 重新開始執行debug,一直運行直到遇到breakpoint
        hit count 設置執行次數 適合程序中的for循環(設置 breakpoint view-右鍵hit count)
        inspect 檢查 運算。執行一個表達式顯示執行值(Ctrl+shift+I)
        watch 實時地監視對象、方法或變量的變化(選擇變量->右鍵watch)
      6.我們常說的斷點(breakpoints)是指line breakpoints,除了line breakpoints,還有其他的斷點類型:field(watchpoint)breakpoint,method
    breakpoint ,exception breakpoint;
        field breakpoint 也叫watchpoint(監視點) 當成員變量被讀取或修改時暫掛
        添加method breakpoint 進入/離開此方法時暫掛(Run-method breakpoint)
        添加Exception breakpoint 捕抓到Execption時暫掛
      斷點屬性-1.hit count 執行多少次數后暫掛 用于循環
        2.enable condition 遇到符合你輸入條件(為ture\改變時)就暫掛
        3.suspend thread 多線程時暫掛此線程
        4.suspend VM 暫掛虛擬機
     7.variables 視圖里的變量可以改變變量值,在variables 視圖選擇變量點;擊右鍵--change value.一次來進行快速調試
     8.debug 過程中修改了某些code后--〉save&build-->resume-->重新暫掛于斷點
        resume 當debug調試跑出異常時,運行resume,重新從斷點開始調試
     9.如果一行有很多方法,就按幾次F5和F7
     10.斷點:
      1.條件斷點:顧名思義就是一個有一定條件的斷點,只有滿足了用戶設置的條件,代碼才會在運行到斷點處時停止(見1)
      2.變量斷點:變量也可以接受斷點,在變量所指示的所在行,雙擊->出現一個不同于行斷點的標記->變量的值初始化,或是
      變量值改變時可以停止(access/modification)
      3.方法斷點-將斷點打在方法的入口處;方法斷點的特別之處在于它可以打在 JDK的源碼里,由于 JDK 在編譯時去掉了調試
      信
      息,所以普通斷點是不能打到里面的,但是方法斷點卻可以,可以通過這種方法查看方法的調用棧
      4.代碼停在了斷點處,但是傳過來的值不正確,如何修改一下變量值保證代碼繼續走正確的流程,或是說有一個異常分支
      老是進不去,能不能調試時改一下條件,看一下異常分支代碼是否正確?
       Variables ->選擇"Change Value..." 在彈出的對話框中修改變量的值
       或是在下面的值查看窗口中修改,保用Ctr+S 保存后,變量值就會變成修改后的新值了
      5.調試回退-能在當前線程的棧幀中回退,也就說最多只能退回到當前線程的調用的開始處->回退時,請在需要回退的線程
      方法上點右鍵,選擇 "Drop to Frame"
      6.遠程調試-使用遠程調試的前提是服務器端和客戶端的代碼是一致的
      7.異常斷點-debug的Breakpoints視圖->工具欄上有一個黃色的嘆號工具->add java exception breakpoint
     調試結束后,如果想重新debug的話,右鍵supend的線程,resume
     可以通過Expressions選項計算表達式的值
    6.Resin illegal utf8 encoding at 0x..-
     http://flysnail.net/?p=42
     linux(修改Linux系統變量,把LANG=zh_CN.utf8,改成LANG=en_US.utf8)
     本人解決問題-是jsp編譯的問題->GMLangConstants中沒有ACTIVE;由于本人沒有安裝jsp/j2ee插件,所以沒有在ide中顯示編譯錯
     誤;我勒個擦
      com.caucho.jsp.JspParseException:illegal utf8 encoding at 0x5
      at com.caucho.jsp.JspCompilerInstance.compile(JspCompilerInstance.java:434)
       .....從錯誤提示看, 也應該是jsp編譯的問題啊
      at com.caucho.java.JavaErrorParser.parseErrors
      at com.cahcho.java.InternalCompiler.executeInt()
      at com.caucho.java.InternalCompiler.compileInt()
       ....從錯誤提示看,也應該看的出來是編譯int出錯。。應該可以聯想到是GMLangConstants中常量的問題

      決定裝WTP插件
     安裝wtp插件后,xml報錯-默認情況下wtp會去驗證這些xml文件;可以不用去管它;目前只是用wtp來提示java語法和編譯錯誤
     http://www.360doc.com/content/11/0329/22/715213_105734713.shtml;當然裝上wtp后,會在xml catalog中添加一些dtd;若不影響web應用運
     行,可以取消eclipse的xml validate功能;
    7.groovy腳本
     Groovy是一種新興的 Java 2 平臺語言。Groovy 代碼能夠與 Java 代碼很好地結合,也能用于擴展現有代碼。
    8.數據庫連接池BoneCP/C3P0/DBCP
    9.一定要多去http://www.ibm.com/developerworks/cn/,不了解的東西先去這里查詢;
    10.JSON
    11w3c-"&lt;" represents the < sign;"&gt;" represents the > sign;"&amp;" represents the & sign. ;"&quot; represents the " mark.
    12.eclipse使用-
     1.剛發現每切換eclipse的文件,就會打開該文件所在的package位置,很煩人;其實這個是可以取消的->Package Explorer右側有一
     個倒立的小三角,這里面有關于package的設置,其中經常用到的是Package Presentation->Flat/Hierarchical/,還有Link with Editor,將
     這個勾干掉,就解決了提出的問題;如果需要查該文件所在的package,則可以用快捷鍵alt+shit+w或者菜單選項Navigate的show in選
     項
     2.Working Set-http://www.cnblogs.com/bjzhanghao/archive/2005/11/29/287251.html
     3.eclipse編譯-工程->右鍵build path->Source->最下面有一個Default output folder,這個即編譯輸出的目錄,默認是工程的bin目錄,
     不過做web項目,通常是WEB-INF/classes
     4.eclipse不能自動編譯->eclipse菜單選項Project->勾選上Build Automatically->Clean
      eclipse的clean選項-重新構建項目/清理項目/用eclipse或myeclipse重新編譯(含class文件、jsp文件、ftl文件等等),前提是Java
      Build Path中配置好了;其實主要作用就是把編譯好的class等文件刪除,激活eclipse的自動編譯。解決的問題就是,有時候
      你
      把代碼改了,但因為一些未知的原因,eclipse的自動編譯沒有成功,導致運行結果不正常。當你的工程出現一些莫名其妙
      的
      錯誤時(當然不是語法錯誤),用一下這個功能,效果不錯的;clean 是將 bin 文件夾里面的所有文件都刪除,如果你是自動
      編譯的話就會復制資源文件到 bin,并復制編譯 Java 生成的 class。但這是一個 Java 項目才可以這樣處理;將工程中的.class文
      件刪除,同時重新編譯工程(Java文件),生成.class文件,類似于jbuild中的rebuild。
      http://m.tkk7.com/javafield/archive/2008/01/05/172940.html
      http://wangbaoaiboy.blog.163.com/blog/static/52111910200911312342271/
     5.svn-update to revision->選擇版本號,Revision或者Head revision- Latest Revision,It is the very latest/current revision of the project.
      svn使用必須要先update
     6.eclipse-Refactor功能
     7.Ctrl+Shift+G-eclipse->Search->Reference->Workspace
     8.選中代碼行,Alt+上下方向鍵可移動代碼行位置
     9.選中-shift+end/home,alt+shift+left/right  選中上一個/下一個單詞-Ctrl+Shift+Left/Right
     10.顯示快捷鍵幫助:Ctrl+Shift+L
     11.eclipse 3.6 Ctrl+shift+down/up快捷鍵不好用,不過用Ctrl+shift+L,可以看到,然后可以使用;
      解決-快捷鍵沖突, 與Intel顯示芯片驅動快捷鍵沖突http://hbxflihua.iteye.com/blog/1225301
       桌面->右鍵屬性->菜單設置->高級->Inter(R) Graphics Media Accelerator Driver->圖形屬性->快捷鍵->將啟用快捷鍵的對勾
       干掉
     12.工程添加user liberary,這樣可以更好的管理lib,否則的話,所有的jar放在一起,很難管理,也不方便;
     13.{@link}javadoc必須指明包名,成功的標志是方法名和類名都可以通過f3或者ctrl+左鍵訪問; 且輸入包名后按#號可以出現方法
     14.如果工程包很多,需要查看某個包時,可以更改包查看方式-Package presentation->hierarchical即可,還可以選擇filter過濾條件
     15.debug的時候,可以通過Display窗口根據代碼提示輸入某表達式,(復制太麻煩)然后放到Expressions中查看值或者右鍵watch
     自動放入Expressions或者右鍵inspect
     16.eclipse debug模式下:
      1. 開發工具(Eclipse)編譯出的classes文件,默認即為debug模式
      2. 使用javac命令編譯,需要加入 –g 參數
      3. 使用ant中的javac任務編譯,需要為javac任務添加deubg屬性
       debug=”true”
       debuglevel="lines,vars,source"
      效果:使用debug模式編譯出的classes文件里面包含代碼行號信息,體積比非debug模式編譯出的文件稍大一點,如果此類
      代碼中拋出異常,Exception中會明確標出發生異常代碼的行號,而不是Unknown Source;
      此類方法編譯出的classes文件支持按行進行debug跟蹤,支持以JPDA方式跟蹤調試,定位問題和排錯都非常方便
     17.熱部署->所謂熱部署,就是在應用正在運行的時候升級軟件,卻不需要重新啟動應用。   對于Java應用程序來說,熱部署
     就是在運行時更新Java類文件。在基于Java的應用服務器實現熱部署的過程中,類裝入器扮演著重要的角色。大多數基于Java的
     應用服務器,包括EJB服務器和Servlet容器,都支持熱部署。類裝入器不能重新裝入一個已經裝入的類,但只要使用一個新的類
     裝入器實例,就可以將類再次裝入一個正在運行的應用程序。
     18.eclipse debug-熱交換錯誤修正:動態代碼修正:---尿性
     如果運行的是 Java 虛擬機(Java Virtual Machine,JVM)V1.4 或更高的版本,Eclipse 支持一個叫做熱交換錯誤修正(Hotswap Bug
     Fixing)的功能,JVM V1.3 或更低的版本不支持該功能。該功能允許在調試器會話中改變源代碼,這比退出應用程序、更改代
     碼、重新編譯、然后啟動另一個調試會話更好。要利用該功能,在編輯器中更改代碼后重新調試即可。由于 JVM V1.4 與 Java
     平臺調試器架構(Java Platform Debugger Architecture,JPDA)兼容,所以才有可能具備該功能。JPDA 實現了在運行的應用程序
     中替換經過修改的代碼的功能。如果應用程序啟動時間較長或執行到程序失敗的地方時間很長,那么這一點特別有用。
     19.Java啟動內存參數-xmx,xms,xss

    13.JSTL/javascript
    14.Jdk1.6自帶的JavaDb,derby
    15.深入理解Java虛擬機:JVM高級特性與最佳實踐
    16.List轉數組-int size = list.size(); String[] arr = (String[])list.toArray(new String[size]); //寫demo測試一下
    17.http://www.javaconcurrencyinpractice.com/
    18.javap反編譯顯示的方法簽名-參數+返回值
    Field Descriptor Java Language Type
     Z   boolean
     B   byte
     C   char
     S   short
     I   int
     J   long
     F   float
     D   double
    引用數據類型-以“L”開頭,以“;”結束,中間對應的是該類型的路徑
     如-如:
      String : Ljava/lang/String;
      Object: Ljava/lang/Object;
    數組表示:  數組表示的時候以“[” 為標志,一個“[”表示一維數組
     如:int [] :[I
     Long[][]  : [[J

    例子-
    public void test1(int i){}-(I)V  -------"()" 里面代表的是方法的參數,后面外面的部分代表的是該方法的返回值
    public Cat test4(Cat c){ return new Cat();}  --------(Lcom/demo/cat;)Lcom/demo/cat
    http://www.cnblogs.com/luxiaofeng54/archive/2011/08/18/2143977.html
    19.win+r進入運行,輸入system32可以直接進入C:\WINDOWS\system32目錄;輸入c:或者d:可直接進入相應的盤符;
    20.ScriptEngine/javax.xml/Velocity.mergeTemplate
     1.Velocity是一個基于java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java
     代碼定義的對象。
     http://airport.iteye.com/blog/23634
     http://www.ibm.com/developerworks/cn/java/j-velocity/
     2.freemaker
     FreeMarker是一個模板引擎,一個基于模板生成文本輸出的通用工具,使用純Java編寫;
     http://blog.csdn.net/ITFLY8/article/details/1662057
    21.Xshell/SecureCRT/putty/MobaXterm/pietty/ssh secure shell client/kitty
    22.webgame機器人壓力測試-scala
     五大基于JVM的腳本語言
     Groovy/JRuby /Scala/Fantom/ Jython
    23.BeanShell
    24.動態調用動態語言,第 1 部分: 引入 Java 腳本 API-http://www.ibm.com/developerworks/cn/java/j-javascripting1/
    25.主題:java腳本框架介紹與應用(1)-http://www.iteye.com/topic/464932
    26.<<Java腳本編程>>,語言,框架與模式-某讀書筆記http://macrochen.iteye.com/blog/833351-準備今天購買
     注意-時刻關注新書
     購書-Java腳本編程/深入理解Java虛擬機/Effective Java中文版第二版/Java編程語言(第三版)
     [這本書太早了,2003年就上架,得考慮一下]-晚上回去買吧
    27.Scala程序設計:Java虛擬機多核編程實戰
    28.《Programming Scala》《Programming in Scala》

    posted on 2011-12-26 20:53 landon 閱讀(1601) 評論(2)  編輯  收藏 所屬分類: ProgramNote

    FeedBack:
    # re: 2011-11下半月工作雜記
    2011-12-26 21:31 | landonlv
    L的意思是class,在javaVM的規范當中有說。 因為C已經代表char了,所以用后一個字母l  回復  更多評論
      
    # re: 2011-11下半月工作雜記
    2011-12-26 21:37 | landonlv
    Z為什么表示boolean,z可能是zero的意思,boolean在內存中的表示就是一個int或者byte,為0表示false,非0表示true;而jdk源碼中Filed的setBoolean方法,boolean的參數就是用的z;Public void setBoolean(Object obj, boolean z)  回復  更多評論
      
    主站蜘蛛池模板: 亚洲国产精品久久久天堂| 亚洲中文无码av永久| 亚洲成色999久久网站| 最刺激黄a大片免费网站| 久久激情亚洲精品无码?V| 极品色天使在线婷婷天堂亚洲| 高清一区二区三区免费视频 | 亚洲一区精品无码| 8x8x华人永久免费视频| 亚洲成av人片天堂网无码】| av无码国产在线看免费网站 | 亚洲国产精品综合久久网各| 最近2019免费中文字幕视频三| 亚洲日韩一区精品射精| 成人性生交大片免费看无遮挡| 又硬又粗又长又爽免费看| 亚洲人成电影网站国产精品| 99re6免费视频| 亚洲精品国产专区91在线| 国产福利免费观看| 中文字幕亚洲免费无线观看日本 | 国产精品亚洲αv天堂无码| 国产精品玖玖美女张开腿让男人桶爽免费看 | 精品亚洲成a人片在线观看 | gogo全球高清大胆亚洲| 日韩亚洲人成在线综合| 久久久无码精品亚洲日韩按摩| 四虎精品亚洲一区二区三区| 无码区日韩特区永久免费系列 | 成视频年人黄网站免费视频| 中文字幕的电影免费网站| 亚洲成a人片77777老司机| 免费人成无码大片在线观看| 在线看片无码永久免费视频| 日韩电影免费在线观看| 免费精品国产自产拍在线观看| 亚洲一久久久久久久久| 亚洲中文字幕伊人久久无码| 在线免费观看污网站| 无码国产精品一区二区免费式影视| a级毛片毛片免费观看久潮|