ALL is Well!

          敏捷是一條很長的路,摸索著前進(jìn)著

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

          2010年9月13日 #

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

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

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

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

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

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

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

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

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


          分頁的效果如圖:  閱讀全文
          posted @ 2010-12-01 17:35 李 明 閱讀(5877) | 評論 (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時, 通過增加攔截器、注解的方式,實(shí)現(xiàn)Action之間的數(shù)據(jù)傳遞。所傳遞的數(shù)據(jù)可以不在Value stack里。
          實(shí)現(xiàn)的基本思路是Result type為chain時,在準(zhǔn)備執(zhí)行當(dāng)前Action時,可以得到上一個Action對象的實(shí)例,上一個Action的實(shí)例被加入到了ValueStack中...
            閱讀全文
          posted @ 2010-11-19 17:25 李 明 閱讀(5343) | 評論 (2)編輯 收藏

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

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

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

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

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

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

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

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

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

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

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

               摘要: 這里是想介紹一下如何通過Java的注解機(jī)制,實(shí)現(xiàn)對bean資源的自動注入。主要介紹實(shí)現(xiàn)方法,至于例子的實(shí)用性不必討論。
          需求:一個應(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 李 明 閱讀(5356) | 評論 (0)編輯 收藏

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

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

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

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

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

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

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

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

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

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

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

          注:按q鍵或者ctrl+c退出,在linux下可以使用ctrl+c終止當(dāng)前程序運(yùn)行。

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

          主站蜘蛛池模板: 宝坻区| 曲阜市| 昌黎县| 日土县| 广西| 城口县| 洞头县| 班玛县| 丽水市| 聊城市| 台东县| 定兴县| 仪征市| 缙云县| 遂平县| 佛冈县| 梓潼县| 方城县| 永城市| 镶黄旗| 东至县| 财经| 揭东县| 项城市| 克什克腾旗| 克东县| 于田县| 理塘县| 榆树市| 象州县| 宁城县| 丹棱县| 台南市| 福建省| 保山市| 襄垣县| 永康市| 潮安县| 怀化市| 三穗县| 平昌县|