原创 java內部類

1.爲什麼使用內部類? 使用內部類最吸引人的原因是:每個內部類都能獨立地繼承一個(接口的)實現,所以無論外圍類是否已經繼承了某個(接口的)實現, 對於內部類都沒有影響 1.1.使用內部類最大的優點就在於它能夠非常好的解決多重繼承的問

原创 synchronize的使用

1、synchronize可以修飾限定方法或者代碼塊 2、 (1)當兩個併發線程訪問同一個對象object中的這個synchronized(this)同步代碼塊時,一個時間內只能有一個線程得到執行。另一個線程必須等待當前線程執行完這個

原创 Java進程間通信

進程間通信的方式有: (1)管道(Pipe):管道可用於具有親緣關係進程間的通信,允許一個進程和另一個與它有共同祖先的進程之間進行通信。 (2)命名管道(named pipe):命名管道克服了管道沒有名字的限制,因此,除具有管道所具有

原创 文檔過濾

1、早期的過濾器 早期的都是基於規則的分類器,使用事先設計好的一組規則,用於指明某條信息屬於垃圾信息。典型的規則有: -英文大寫字母的過度使用 -與醫藥學相關的單詞 -過於花哨的HTML用色等 2、智能分類器 a. 特徵提取 將單詞

原创 優化

1、成本函數 成本函數是用優化算法解決問題的關鍵它通常最難確定。任何優化算法的目標就是要尋找一組能夠使成本函數的返回結果達到最小化的輸入,,因此成本函數需要返回一個值用以表示方案的好壞。 2、隨機搜索 從 輸入集中隨機選取一部分,然

原创 MapReduce

Hadoop MapReduce is a software framework for easily writing applications which process vast amounts of data (multi-tera

原创 YARN

Apache YARN(Yet Another Resource Negotiator)是Hadoop的集羣資源管理系統,YARN提供請求和使用集羣資源的API。 1、YARN運行機制 YARN通過兩類長期運行的守護進程提供自己的

原创 Java的多線程

一、創建 1、新建一個類,實現Runnable接口,重寫run方法,在run方法內寫要完成的任務,在main函數中,使用該類的對象 .run(),此時是使用main方法的線程,並非新建一個線程。 class Task implement

原创 ES6-函數的擴展

1、參數默認值 function log(x, y ='world'){ console.log(x,y); } log('hello'); // hello world log('hello','china'); //hello

原创 常見排序算法(js實現)

交換兩個元素的值 unction swap(i,j){ var tmp; tmp = i; i = j; j = tem; } 一、冒泡排序 不斷比較相鄰兩個元素的值,遍歷一次,將最大(小)值冒泡到

原创 基於Lucene的搜索引擎的建立

一、基礎知識 1、索引概念 索引建立:數據——>分詞——>索引創建 搜索過程:獲取關鍵字——>分詞——>檢索索引——>返回結果 2、索引數學模型 詞元的權重計算:文檔中的每個詞元都對應一個權重 空間向量模型:將每個詞元可以對應

原创 快排的實現(Java)

1、partition函數用於返回主元在排序後所在的索引 2、quickSort函數遞歸調用,分別對主元兩側的子數組排序 public static void quickSort(arr,p,r){ if(p<r){

原创 java io流基礎

個人感悟: 1、流是具有在端與端之間傳輸數據能力的一類類 2、根據傳輸數據種類的不同可以分爲字節流和字符流,根據傳輸方向的不同可以分爲輸入流和輸出流,上圖 3、轉換流可以實現字節流到字符流的轉換 //字節輸出流轉爲字符輸出流 W

原创 搜索與排名

一、搜索 1、爬蟲 一般爬蟲將網絡視爲一張圖,對於圖而言,常見的算法有兩種:深度優先和廣度優先 2、分詞與索引 爬蟲獲取的一般都是文檔,我們需要進行分詞處理,處理之後,搜索引擎要完成從單詞到文檔的映射,一般採取倒排索引的方法。

原创 推薦

一、推薦算法的分類 二、協同過濾 以用戶爲基礎(User-based)的協同過濾 用相似統計的方法得到具有相似愛好或者興趣的相鄰用戶,所以稱之爲以用戶爲基礎(User-based)的協同過濾或基於鄰居的協同過濾(Neighbor-ba