原创 實現一個支持正則匹配的Filter以及Spring管理Filter遇到的問題

相信很多人都會對Http的Filter的url-pattern不支持正則而煩惱吧。就比如,在web項目中Struts,當我們想要對所有的或者某一個Action進行過濾,而不過濾其他的Action,尤其是不想過濾靜態資源,如果你的Strut

原创 Hadoop1.2.1源碼解析系列:JT與TT之間的心跳通信機制——JT篇

上一篇淺析了Hadoop心跳機制的TT(TaskTracker)方面,這一篇淺析下JT(JobTracker)方面。 我們知道心跳是TT通過RPC請求調用JT的heartbeat()方法的,TT在調用JT的heartbeat回收集自身的狀

原创 排序算法系列——八大排序算法對比分析

本系列最後一篇,綜合分析下前面介紹的八種排序算法的效率,以及各自的適用情況。 下面先看看八種排序算法的時間複雜度表格: 圖中八種排序被分成了兩組,一組時間複雜度爲O(n^2),另一組相對高效些。 下面先對第一組O(n^2

原创 FairScheduler的任務調度機制——assignTasks(續)

上一篇文章淺析了FairScheduler的assignTasks()方法,介紹了FairScheduler任務調度的原理。略過了最後一步通過JobScheduler獲取Task時調用JobInProgress的五個方法:obtainNe

原创 排序算法系列——直接插入排序

直接插入排序與希爾排序一起屬於插入排序的一種。插入適合於針對小數據量進行排序,當數據量很大時插入排序的效率相對其他排序會較低,因爲他的時間複雜度是0(n2)(下面會進行分析)。 基本思想:一組待排序的數據,首先將其劃分成兩部分,

原创 排序算法系列——快速排序

快速排序同冒泡排序,是交換排序的一種。快速排序是C.R.A.Hoare於1962年提出的一種劃分交換排序。它採用了一種分治的策略,通常稱其爲分治法(Divide-and-ConquerMethod)。快速排序的時間複雜度是O(nl

原创 Java 6 JVM參數選項大全(中文版)

作者:Ken Wu Email: [email protected] 轉載本文檔請註明原文鏈接 http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm!   本文是基

原创 排序算法系列——堆排序

堆排序同直接選擇排序一樣是選擇排序的一種。堆排序是藉助一種數據結構——堆來完成排序,堆是一個近似完全二叉樹的結構,並同時滿足堆積的性質:即子結點的鍵值或索引總是小於(或者大於)它的父節點。 什麼是堆: 關於二叉樹這裏就不敘述了

原创 Hadoop1.2.1源碼解析系列:JT與TT之間的心跳通信機制——TT篇

在Hadoop中JT(JobTracker)與TT(TaskTracker)之間的通信是通過心跳機制完成的。JT實現InterTrackerProtocol協議,該協議定義了JT與TT之間的通信機制——心跳。心跳機制實際上就是一個RPC請

原创 排序算法系列——基數排序

基數排序不同於其他的七種排序算法,它是基於一種分配法,而非比較。基數排序屬於“分配式排序”(distribution sort),基數排序法又稱“桶子法”(bucket sort)或bin sort,顧名思義,它是透過鍵值的部份資

原创 爲Hexo博客文章添加關鍵字

本文章是爲Hexo博客的next主題的文章增加關鍵字的設定,默認next主題的文章關鍵字取文章的標籤,所以如果想要設置很全的關鍵字,肯定會造成自己的標籤頁的標籤過多,看着過於雜亂,所以就想將文章的關鍵字與標籤分開,下面做簡單的修改即可達到

原创 數據結構系列——堆

堆(Heap)是計算機科學中一類特殊的數據結構的統稱。堆通常是一個可以被看做一棵樹的數組對象。在隊列中,調度程序反覆提取隊列中第一個作業並運行,因爲實際情況中某些時間較短的任務將等待很長時間才能結束,或者某些不短小,但具有重要性的作業,同

原创 數據結構系列——後綴樹(附Java實現代碼)

後綴樹,說的通俗點就是將一個字符串所有的後綴按照前綴樹(Trie樹,可參考此篇文章)的形式組織成一棵樹。 什麼是後綴樹 舉例:“banana\0”,其中 “\0” 作爲文本結束符號,該字符串所有的後綴如下: banana\0 anana

原创 JDK併發工具類源碼學習系列——ConcurrentSkipListMap

更多文章請閱讀:JDK併發工具類源碼學習系列目錄。 ConcurrentSkipListMap在JDK併發工具類使用範圍不是很廣,它是針對某一特殊需求而設計的——支持排序,同時支持搜索目標返回最接近匹配項的導航方法。一般情況下開發者很少

原创 JDK併發工具類源碼學習系列——介紹

JDK併發工具類是JDK1.5引入的一大重要的功能,集中在java.util.concurrent包下,java.util.concurrent包下還包括了java.util.concurrent.atomic以及java.util.co