ALL is Well!

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

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

          2010年9月14日 #

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          主站蜘蛛池模板: 舞阳县| 通城县| 探索| 正安县| 儋州市| 仙桃市| 剑川县| 罗山县| 手机| 巴林右旗| 太康县| 保靖县| 阿勒泰市| 政和县| 宝鸡市| 汽车| 合肥市| 武隆县| 麟游县| 蒙山县| 龙里县| 泸西县| 崇文区| 普洱| 陇西县| 田阳县| 禹城市| 阿拉善右旗| 贵阳市| 资兴市| 梅河口市| 海兴县| 新竹市| 清新县| 杭州市| 梓潼县| 满洲里市| 阜南县| 墨竹工卡县| 临朐县| 什邡市|