ALL is Well!

          敏捷是一條很長的路,摸索著前進著

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            30 隨筆 :: 23 文章 :: 71 評論 :: 0 Trackbacks

          2010年9月1日 #

               摘要: 快速排序的算法思想:
          快速排序采用了分治的策略,將原問題分解為若干個規(guī)模更小但結(jié)構(gòu)與原問題相似的子問題。用遞歸方法解決子問題,然后將這些子問題的解組合為原問題的解。
            閱讀全文
          posted @ 2011-04-09 17:37 李 明 閱讀(2071) | 評論 (1)編輯 收藏

               摘要: 在項目中實現(xiàn)了一個工具(獨立運行的Java工程,打成jar包后 通過 java -jar **.jar 執(zhí)行的。),該工具通過配置能夠?qū)崿F(xiàn)一些業(yè)務(wù)功能,
          并且該工具提供了接口與抽象類,供其他人擴展它的功能。

          這就涉及到一個問題:別人在擴展它的時候,需要引入一些jar或者配置文件,本來工具依賴的jar和配置文件都記錄在manifest文件中了,
          不可能別人加了jar包和配置文件就要修改manifest文件的。
          所以我為工具提供了另外一個入口,通過 該通過的配置文件 進行配置 路徑,由于考慮到擴展的人可能多人或者多組,所以配置文件如下定義:
          以ext_classpath開頭的,諸如 ext_classpath_biz1等對應(yīng)的路徑均被加入到classpath中。
          以ext_resourcepath開頭的,諸如 ext_resourcepath_biz1等對應(yīng)的路徑均被加入classpath中。  閱讀全文
          posted @ 2011-04-01 20:39 李 明 閱讀(13706) | 評論 (1)編輯 收藏

          posted @ 2011-03-30 13:07 李 明 閱讀(732) | 評論 (0)編輯 收藏

          posted @ 2011-03-17 11:17 李 明 閱讀(2826) | 評論 (0)編輯 收藏

               摘要: 問題:
          freemarker在解析數(shù)據(jù)格式的時候,默認將數(shù)字按3位來分割,例如1000被格式化為1,000,這樣做看似美觀,但在實際操作時候會帶來問題。例如我一個頁面有一個元素,該元素的值由后臺綁定且超過1000,那么當我要使用這個元素的值的時候,便會出現(xiàn)問題。  閱讀全文
          posted @ 2010-12-29 14:54 李 明 閱讀(5833) | 評論 (6)編輯 收藏

               摘要: 總體上來說,jMock 是一個輕量級的模擬對象技術(shù)的實現(xiàn)。它具有以下特點:
          1.可以用簡單易行的方法定義模擬對象,無需破壞本來的代碼結(jié)構(gòu)表;
          2.可以定義對象之間的交互,從而增強測試的穩(wěn)定性;
          3.可以集成到測試框架;
          4.易擴充;
            閱讀全文
          posted @ 2010-12-17 09:28 李 明 閱讀(12087) | 評論 (3)編輯 收藏

               摘要: 淺談TDD
          JUnit4的用法介紹
          測試方法 @Test
          @Before(SetUp)
          @After(TearDown)
          @Before和@After小結(jié)
          @BeforeClass和@AfterClass
          測試異常@Test(expected=XXXException.class)
          參數(shù)化測試
            閱讀全文
          posted @ 2010-12-15 15:34 李 明 閱讀(13218) | 評論 (1)編輯 收藏

               摘要: 本次分頁組件著重于頁面(Freemarker部分)、及Action部分。
          至于Service及持久層處理,只是做了一個模擬的實現(xiàn),實際開發(fā)中,我是應(yīng)用了iBatis,封裝了分頁調(diào)用。
          由于用法有所不同,所以就不放在源碼范圍內(nèi),也不在這里介紹了。
          這里的分頁功能只提供了 上一頁、下一頁、指定頁 的分頁,但在分頁Java代碼中包含了 首頁、末頁的實現(xiàn)。有需要的可自行添加。


          分頁的效果如圖:  閱讀全文
          posted @ 2010-12-01 17:35 李 明 閱讀(5868) | 評論 (4)編輯 收藏

               摘要: struts2 的Result type chain:基本用途是構(gòu)造成一條動作鏈。前一個Action將控制權(quán)轉(zhuǎn)交給后一個Action,而前一個Action的狀態(tài)在后一個Action里仍然保持著。
          但這種數(shù)據(jù)傳遞前提是數(shù)據(jù)要在Value stack里。
          本文介紹基于Struts2 Result type 為 chian時, 通過增加攔截器、注解的方式,實現(xiàn)Action之間的數(shù)據(jù)傳遞。所傳遞的數(shù)據(jù)可以不在Value stack里。
          實現(xiàn)的基本思路是Result type為chain時,在準備執(zhí)行當前Action時,可以得到上一個Action對象的實例,上一個Action的實例被加入到了ValueStack中...
            閱讀全文
          posted @ 2010-11-19 17:25 李 明 閱讀(5333) | 評論 (2)編輯 收藏

               摘要: 默認情況下,freemarker的變量必須有值,如果沒有被賦值的變量在頁面上使用就會拋出異常,出錯的信息都會顯示在頁面上,讓人感覺不爽(開發(fā)時還可以忍忍)。
          以下介紹四種解決辦法。  閱讀全文
          posted @ 2010-11-17 13:54 李 明 閱讀(2332) | 評論 (0)編輯 收藏

               摘要: 統(tǒng)一處理系統(tǒng)中的異常并將其以固定的格式顯示在頁面上。

          當使用js做前臺的表單驗證的時候,提示用戶的輸入有問題,則可以使用 Message.showMsg('...'),提示信息也會顯示在同一個位置。

          這樣就實現(xiàn)了異常提示信息的統(tǒng)一展示了。

          這是一個比較簡易的實現(xiàn),只提供一個思路。  閱讀全文
          posted @ 2010-11-16 14:53 李 明 閱讀(2801) | 評論 (0)編輯 收藏

               摘要: 在上一篇 Hessian構(gòu)建分布式系統(tǒng)應(yīng)用 的基礎(chǔ)上,我們對程序進行改進。
          現(xiàn)在有以下比較突出的問題:
          a.如果hessian服務(wù)端我要做的業(yè)務(wù)很多,怎么辦?
          我要定義很多個接口,然后再寫實現(xiàn)類,最煩的是還要配置它。
          我的設(shè)想是,hessian服務(wù)只提供一個歸口,再此對外的接口實現(xiàn)中反射調(diào)用具體的業(yè)務(wù)類。

          b.客戶端在調(diào)用時,每次調(diào)用遠程接口都要用以下代碼嗎:  閱讀全文
          posted @ 2010-10-17 22:10 李 明 閱讀(1706) | 評論 (1)編輯 收藏

               摘要: Hessian是一個輕量級的remoting onhttp工具,使用簡單的方法提供了RMI的功能. 相比WebService,Hessian更簡單、快捷。
          采用的是二進制RPC協(xié)議,因為采用的是二進制協(xié)議,所以它很適合于發(fā)送二進制數(shù)據(jù)。

          本文將分為以下幾個內(nèi)容:
          一、一個簡單的Hessian調(diào)用例子
          二、Spring+Hessian的例子
          三、使我們的調(diào)用變得通用

          第一?%  閱讀全文
          posted @ 2010-10-17 21:11 李 明 閱讀(2825) | 評論 (0)編輯 收藏

               摘要: 通過上一篇 利用自定義Java注解實現(xiàn)資源注入 介紹的方法,我們實現(xiàn)了通過自定義注解完成了對DataSource資源的注入,但在實際應(yīng)用中,我們通常不希望去顯式的去聲明這樣的MyAnnotationBeanProcessor對象來幫助我們完成注入,而是希望通過Spring幫我們“悄悄地”完成。  閱讀全文
          posted @ 2010-10-04 10:31 李 明 閱讀(8240) | 評論 (1)編輯 收藏

               摘要: 這里是想介紹一下如何通過Java的注解機制,實現(xiàn)對bean資源的自動注入。主要介紹實現(xiàn)方法,至于例子的實用性不必討論。
          需求:一個應(yīng)用有兩個數(shù)據(jù)庫,分別為DB-A,DB-B。
          假設(shè)持久層框架使用iBatis來完成,那么SqlMapClient對象在創(chuàng)建時,對于兩個不同的DB連接要有兩個不同的SqlMapClient對象,
          假設(shè)我們有一個Service類為MyService.java,該類中有兩個SqlMapClient對象分別對應(yīng)著DB-A、DB-B。  閱讀全文
          posted @ 2010-10-04 10:19 李 明 閱讀(5350) | 評論 (0)編輯 收藏

               摘要: 繼上一篇 擴展Spring-實現(xiàn)對外部引用的屬性文件的 屬性值 進行加密、解密 ,這次要實現(xiàn)的是對整個外部屬性文件進行加密,Spring在加載這個外部屬性文件時進行解密。
          分析過程與在 擴展Spring-實現(xiàn)對外部引用的屬性文件的 屬性值 進行加密、解密 中介紹的基本一致,只不過這次的入口就在 PropertiesLoaderSupport.java 這個抽象類的loadProperties方法。代碼片段:(注意注釋部分)  閱讀全文
          posted @ 2010-10-02 12:44 李 明 閱讀(4379) | 評論 (8)編輯 收藏

               摘要: 當我們在使用Spring進行開發(fā)時,我們經(jīng)常使用占位符引用屬性文件的屬性值來簡化我們的配置及使我們的配置具有更高的靈活性和通用性。
          使用這種方式的好處這里就不贅述了,這里要講的是怎樣對此外部屬性文件的屬性值進行加密、解密。  閱讀全文
          posted @ 2010-09-30 14:34 李 明 閱讀(2745) | 評論 (0)編輯 收藏

               摘要: 此程序需要ganymed-ssh2-build210.jar包。
          下載地址:http://www.ganymed.ethz.ch/ssh2/
          為了調(diào)試方便,可以將\ganymed-ssh2-build210\src下的代碼直接拷貝到我們的工程里,
          此源碼的好處就是沒有依賴很多其他的包,拷貝過來干干凈凈。

          此程序的目的是執(zhí)行遠程機器上的Shell腳本。  閱讀全文
          posted @ 2010-09-26 13:03 李 明 閱讀(13610) | 評論 (7)編輯 收藏

               摘要: 一個Java應(yīng)用程序的日志里,出現(xiàn)了很不和諧的記錄:
          java.io.IOException: Too many open files

          在網(wǎng)上查了一些關(guān)于此異常的解決方案,基本上都是說要擴大linux系統(tǒng)的文件句柄數(shù)限制。
          但如果程序?qū)τ赟ocket、Stream等使用后沒能及時關(guān)閉的話,擴大這個文件句柄數(shù)限制是治標不治本的。

            閱讀全文
          posted @ 2010-09-14 19:36 李 明 閱讀(11128) | 評論 (2)編輯 收藏

               摘要: 他山之石可以攻玉。
          Spring為我們提供了一個PropertyPlaceholderConfigurer,它能夠使Bean在配置時引用外部屬性文件。
          可以將BeanFactory定義中的一些屬性值放到另一個單獨的標準Java Properties文件中。
          我們在部署應(yīng)用時只需要在屬性文件中對一些屬性進行修改,而不用對主XML定義文件或容器所用文件進行復(fù)雜和危險的修改。
          讓我們看看下面的例子:  閱讀全文
          posted @ 2010-09-13 15:44 李 明 閱讀(4918) | 評論 (2)編輯 收藏

               摘要:
          LINUX常用命令(基礎(chǔ))

          1. man 對你熟悉或不熟悉的命令提供幫助解釋

          eg:man ls 就可以查看ls相關(guān)的用法

          注:按q鍵或者ctrl+c退出,在linux下可以使用ctrl+c終止當前程序運行。

            閱讀全文
          posted @ 2010-09-13 10:09 李 明 閱讀(327) | 評論 (0)編輯 收藏

               摘要: cglib版本為cglib-nodep-2.2.jar.
          本次只為演示在使用中出現(xiàn)的Java內(nèi)存泄漏的問題,以及如何解決這樣的問題。
          cglib的應(yīng)用是非常多的,但是當我們使用它的時候,如果一不小心,等出了問題再去查,就比較杯具了。所以好的解決方案就是寫代碼時就注意這些細節(jié)。
          近期項目在做壓力測試,就暴露了內(nèi)存泄漏的Bug,cglib的使用不當,就是原因之一。  閱讀全文
          posted @ 2010-09-09 17:00 李 明 閱讀(3675) | 評論 (1)編輯 收藏

               摘要: Quartz版本為1.8.3
          Spring版本為2.5

          自定義作業(yè)表 QRTZ_JOB。
          其中定義 作業(yè)標識、作業(yè)名稱、類名、觸發(fā)器名稱、觸發(fā)器腳本等。
          下面看看在Spring中如何配置Quartz。
            閱讀全文
          posted @ 2010-09-06 19:08 李 明 閱讀(2470) | 評論 (0)編輯 收藏

               摘要: 接上一篇Maven2 學(xué)習(xí)筆記[5]-構(gòu)建一個Java Application項目。
          一個一個來處理不符合我們需求的地方。

          1.問題:在QrtzPrj.jar的同一目錄下并沒有l(wèi)ib文件夾,也沒有依賴的jar包。
          這個問題的解決辦法便是引入Maven的maven-dependency-plugin插件。
          內(nèi)容如下:(配置在 ... 中)  閱讀全文
          posted @ 2010-09-04 11:37 李 明 閱讀(1767) | 評論 (0)編輯 收藏

               摘要: 這個 Java App 項目,包含的東西還是蠻多的。
          在我構(gòu)建這個項目的過程中遇到了很多問題,讓我著實的痛苦了一天,在這一天中,我在網(wǎng)上看到很多構(gòu)建類似項目的文章,但寫的都不是很詳細。至少不能滿足我的需求。
          對于像我這樣,需要在1天內(nèi)就要搞定打包的人來講,這確實很失望。
          所以我要把我構(gòu)建這個項目的過程,記錄下來,希望能對 與我有類似需求的人 有一些幫助。
          里面的一些配置也許不夠完美,還請指正。謝謝。  閱讀全文
          posted @ 2010-09-04 10:48 李 明 閱讀(766) | 評論 (0)編輯 收藏

               摘要: 搭建repository私服的用處有很多。
          除了如何如何管理好jar包外,還有就是當 maven2 無法自動獲取某個jar包時,(例如 oracle的jdbc jar包)
          我們需要手動下載此jar包,將其上傳至我們得私服,填寫groupId,artifactId,version等信息。
          然后再在pom.xml里進行依賴配置。  閱讀全文
          posted @ 2010-09-03 14:15 李 明 閱讀(898) | 評論 (0)編輯 收藏

               摘要: 位于Maven2安裝目錄conf文件夾下的settings.xml文件,是maven2作為全局性質(zhì)的配置。
          打開剛剛安裝的Maven2的settings.xml文件,里面基本都是被注釋掉了的。
          settings.xml有主要有下面幾個配置節(jié)點:

          localRepository:用于設(shè)置本地倉庫的位置。如果不設(shè)置此節(jié)點,則本地倉庫在 ${user.dir}/.m2/repository。  閱讀全文
          posted @ 2010-09-03 13:34 李 明 閱讀(648) | 評論 (0)編輯 收藏

               摘要: 1.創(chuàng)建一個項目
          建立一個文件夾mvntest(由于我是在做測試,所以隨便建立一個文件夾,但習(xí)慣上,這應(yīng)該是我們的Workspaces。)
          通過cmd切換到此文件夾下:
          cd mvntest
          mvn archetype:create -DgroupId=com.jn -DartifactId=HW -DpackageName=com.jn
          然后看看 mvntest的文件夾下發(fā)生了什么變化。  閱讀全文
          posted @ 2010-09-03 13:00 李 明 閱讀(476) | 評論 (0)編輯 收藏

               摘要: 1.下載
          2.安裝
          3.環(huán)境變量配置  閱讀全文
          posted @ 2010-09-03 12:36 李 明 閱讀(417) | 評論 (0)編輯 收藏

               摘要: 1.刪除相關(guān)Software
          2. 下載Maven插件
          3.重新啟動MyEclipse
          4.配置在MyEclipse中配置 Maven
          5.在MyEclipse中使用Maven  閱讀全文
          posted @ 2010-09-03 08:56 李 明 閱讀(17815) | 評論 (7)編輯 收藏

               摘要: 此問題在項目中被發(fā)現(xiàn),經(jīng)查看JDK源碼(JDK1.6),String類的public String substring(int beginIndex, int endIndex)的實現(xiàn)讓我很意外。

          想重現(xiàn)這個場景很容易,請看代碼。  閱讀全文
          posted @ 2010-09-01 12:41 李 明 閱讀(1466) | 評論 (0)編輯 收藏

               摘要: 最近項目中要將較大數(shù)據(jù)生成Excel2003或Excel2007文件。

          由于POI很好的采用了面向接口編程的思想,所以其實生成Excel2003和生成Excel2007的代碼多數(shù)是可以復(fù)用的。



          我的做法是:

          1.定義Excel2003FileCreator,用來生成Excel2003文件

          2.定義Excel2007FileCreator,用來生成Excel2007文件,Excel2007FileCreator extends Excel2003FileCreator。  閱讀全文
          posted @ 2010-09-01 12:36 李 明 閱讀(2628) | 評論 (1)編輯 收藏

          posted @ 2010-09-01 12:32 李 明 閱讀(8953) | 評論 (5)編輯 收藏

               摘要: 現(xiàn)在我們要做一個簡單的界面。

          包括一個進度條、一個輸入框、開始和停止按鈕。

          需要實現(xiàn)的功能是:

          當點擊開始按鈕,則更新進度條,并且在輸入框內(nèi)把完成的百分比輸出(這里只做例子,沒有真正去做某個工作)。  閱讀全文
          posted @ 2010-09-01 12:05 李 明 閱讀(1040) | 評論 (3)編輯 收藏

          posted @ 2010-09-01 11:36 李 明 閱讀(1388) | 評論 (0)編輯 收藏

          posted @ 2010-09-01 11:33 李 明 閱讀(2145) | 評論 (0)編輯 收藏

          posted @ 2010-09-01 11:16 李 明 閱讀(305) | 評論 (0)編輯 收藏

          posted @ 2010-09-01 11:13 李 明 閱讀(2203) | 評論 (0)編輯 收藏

          posted @ 2010-09-01 11:09 李 明 閱讀(408) | 評論 (0)編輯 收藏

          posted @ 2010-09-01 11:01 李 明 閱讀(422) | 評論 (0)編輯 收藏

          posted @ 2010-09-01 10:56 李 明 閱讀(425) | 評論 (0)編輯 收藏

          posted @ 2010-09-01 10:40 李 明 閱讀(883) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 南丹县| 麻栗坡县| 蓬安县| 永吉县| 长武县| 临武县| 克拉玛依市| 衡东县| 加查县| 凤山市| 印江| 巴林右旗| 友谊县| 翼城县| 托克托县| 纳雍县| 东源县| 东乡县| 丰城市| 扬中市| 拉孜县| 新巴尔虎左旗| 海林市| 云浮市| 和硕县| 朔州市| 全南县| 萨迦县| 闻喜县| 大石桥市| 忻城县| 蕲春县| 台山市| 洞口县| 中牟县| 新昌县| 琼中| 贵州省| 阳城县| 本溪| 石渠县|