240 發(fā)簡信
IP屬地:廣西
  • 120
    Lucene的Smart CN實(shí)現(xiàn)分詞阀蒂、停用詞戚炫、擴(kuò)展詞

    Lucene 中提供了 SmartCN 為中文提供分詞功能猜旬,實(shí)際應(yīng)用中還會涉及到停用詞桩砰、擴(kuò)展詞(特殊詞阶捆、專業(yè)詞)等凌节,因此本文將聚焦在 SmartCN 而暫時不考慮其他中文分詞...

  • 120
    H2 全文檢索功能

    在前面的文章中钦听,我們介紹了 H2 的一些特性以及 為什么H2 適合應(yīng)用在測試環(huán)境中。H2 不但可以作為嵌入式數(shù)據(jù)庫倍奢、內(nèi)存數(shù)據(jù)庫使用朴上。在適當(dāng)?shù)膱鼍跋驴梢赃x擇使用 H2 替換掉 ...

  • 將H2 應(yīng)用于測試代碼中

    上面篇文章中介紹了 H2 的一些特性。H2 因其提供了內(nèi)存數(shù)據(jù)庫的模式卒煞,經(jīng)常應(yīng)用在測試當(dāng)中痪宰,快速驗(yàn)證某些SQL 操作的結(jié)果。本文將 H2 應(yīng)用于測試中的原因畔裕,并使用一個簡單的...

  • H2 的簡介

    H2 是一個使用 Java 編寫的數(shù)據(jù)庫酵镜,支持內(nèi)存、文件等多種模式柴钻,經(jīng)常用于項(xiàng)目的測試環(huán)境淮韭。除此之外,通過 H2 的官網(wǎng)了解到贴届,H2 還提供了豐富的特性靠粪。 1 關(guān)于 H2 的...

  • 120
    識別代碼中的壞味道(三)

    前兩篇文章 《識別代碼中的壞味道(一)》 和 《識別代碼中的壞味道(二)》 中已經(jīng)介紹了 18 個代碼壞味道『硫荆《重構(gòu)》中還涉及到另外 4 個代碼壞味道占键,本文將將詳細(xì)介紹剩余的...

  • 120
    識別代碼中的壞味道(二)

    在上一篇文章中,介紹了通過名字就能理解的 8 個壞味道元潘,感興趣可以查看識別代碼中的壞味道(一)畔乙。本篇文章將識別代碼中的另外 10 個代碼壞味道:10個晦澀但是通過簡單的即可識...

  • 120
    識別代碼中的壞味道(一)

    在前面的文章中,我們介紹了 《提升編程效率:重構(gòu)》 以及 《何時開始重構(gòu)翩概?》牲距。了解了那些能夠更好的輔助團(tuán)隊(duì)或者個人進(jìn)行重構(gòu),但是要讓重構(gòu)真正產(chǎn)生作用是需要能夠代碼中的壞味道钥庇,...

  • 120
    何時開始重構(gòu)牍鞠?

    “任何時候都可以重構(gòu)”,如果這樣回答太過于寬泛评姨,因?yàn)榭傆心敲匆恍r候重構(gòu)的 ROI (投入產(chǎn)出比)并不高难述,設(shè)置與對重構(gòu)還不那么熟悉的開發(fā)者相當(dāng)于什么都沒有說。 所以整理了下日...

  • 120
    提升編程效率:重構(gòu)

    提升編程效率的大致可以分三類:任務(wù)拆解(Tasking To Action)吐句、使用高效的開發(fā)工具/框架胁后、關(guān)注高效的工程實(shí)踐。 其中任務(wù)拆解嗦枢,我們在【實(shí)戰(zhàn)TDD(2):Task...

  • 120
    善用技術(shù)債

    01 技術(shù)債是什么攀芯? 白話的解釋就是技術(shù)上的債務(wù)。 比如: (1)功能已經(jīng)實(shí)現(xiàn)净宵,但是需要手動做很多配置的事情敲才,不可復(fù)用裹纳; (2)某個功能為熱點(diǎn)功能業(yè)務(wù)上更重要,因此單位時間內(nèi)...

  • 120
    ArrayList 需要了解的事情

    ArrayList 是日常開發(fā)經(jīng)常使用到的容器類紧武。它能夠方便的進(jìn)行數(shù)據(jù)的查詢剃氧、替換。但是因?yàn)槠涞蛯訉?shí)現(xiàn)的原因在數(shù)據(jù)容量阻星、性能朋鞍、線程安全上都存在問題,主要涉及到下面的內(nèi)容: (...

  • Java多線程:使用 CompletionService 接口避免 Future 的阻塞

    01 CompletionService 簡介 在上一篇內(nèi)容中妥箕,介紹了 Future 的使用滥酥,其中也涉及到了 Future 的不足,就是當(dāng)通過 get() 方法獲取線程的返回...

  • 120
    實(shí)戰(zhàn) TDD(9):PAIR PROGRAMMING

    Pair (結(jié)對)已經(jīng)不是什么新鮮的事情畦幢。工作中我們進(jìn)行 Pair坎吻。但是也會經(jīng)常發(fā)現(xiàn)一個問題:“兩個人單純的坐在一起工作或者被領(lǐng)導(dǎo)命令坐到一起工作,并沒有什么工作效率提升的“...

  • 120
    Java中線程池實(shí)現(xiàn)的兩種方式

    01 線程池的應(yīng)用場景 (1)應(yīng)用 比如現(xiàn)在收集上的修圖軟件宇葱。一張 1920 x1080 的圖片有 200多萬個像素點(diǎn)瘦真,對整個圖片的每個像素點(diǎn)處理一遍也是需要不少的計(jì)算量。 ...

  • 使用 Phaser 更加靈活的控制阻塞節(jié)點(diǎn)的停留

    01 Phaser Phaser 與 CountDownLatch黍瞧、CyclicBarrier 做的事情類似诸尽,只是Phaser 提供了更加豐富的API,左右處理同樣一個場景時...

  • CyclicBarrier 實(shí)現(xiàn)階段性同步

    01 CyclicBarrier CyclicBarrier 提供了如下功能: (1)向上增加計(jì)數(shù)的功能 (2)阻塞等待功能 (3)階段性同步功能(線程數(shù)大于 parties...

  • CountDownLatch實(shí)現(xiàn)多線程等待后共同執(zhí)行

    01 CountDownLatch CountDownLatch 通過 count 計(jì)數(shù)實(shí)現(xiàn)屏障設(shè)定(阻塞)印颤,當(dāng)滿足設(shè)定的條件后一個或者多個線程時候一起執(zhí)行您机。這里的屏障指的就...

  • 120
    用 Exchanger兩個線程之間的通信

    01 Exchanger 作用 使兩個線程之間進(jìn)行數(shù)據(jù)傳遞。(對是兩個之間而不是三個或者更多個線程之間) 02 常用方法 exchange() 阻塞當(dāng)前線程并等待其他線程來...

個人介紹
ThoughtWorks 高級咨詢師年局。
亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品