原创 數組轉化爲List——List轉化爲數組

List<Integer> keys = new ArrayList<Integer>(); for (int i = 0; i < 5; i++) { keys.add(i); keys.add(i); } //List轉化爲數組

原创 byte用於數字排序

【問題】    對一百萬個不相同的數字進行排序,要求時間複雜度O(1),空間複雜度儘可能小!【分析】    大數據的排序問題,首選方法是“歸併”,之前我也寫過十億個數的歸併排序算法,且在此基礎上的優化方案——大範圍內歸併小範圍內插入排序

原创 Mallet的基本使用

【官網下載】 http://mallet.cs.umass.edu/ MALLET is a Java-based package for statistical natural language processing, documen

原创 使用SSD解決10億條元數據讀寫問題

一、問題描述 將10億個元數據通過SSD 存儲起來,能夠實現快速的存和取   二、解決思路 2.1 聯合使用三級存儲設備 DRAM:作爲數據緩存區 SSD : 作爲熱數據存儲區 HDD :作爲冷數據存儲區 2.2 設計文件

原创 java詞頻統計

package com.cmcm.goods_classification; import java.util.ArrayList; import java.util.Collections; import java.util.Com

原创 log4j的使用

        Log4j是Apache的一個開放源代碼項目,通過使用Log4j,我們可以控制日誌信息輸送的目的地是控制檯、文件、GUI組件,甚至是套接口服務器、NT的事件記錄器、UNIX Syslog守護進程等;我們也可以控制每一條日

原创 大範圍歸併小範圍插入排序

首先介紹歸併和插入的算法思想,其實現細節可以參考博客http://java--hhf.iteye.com/blog/2034925/,然後再具體實現本文主要介紹的“大範圍歸併小範圍插入排序” (一)插入排序 算法執行思路如圖 實現算法:

原创 並行中的順序執行——CountDownLatch

    java.util.concurrent.CountDownLatch : 一個同步輔助類,在完成一組正在其他線程中執行的操作之前,它允許一個或多個線程一直等待。--《JDK API 1.6.0》     換句話說,你可以並行的

原创 java郵件發送

【0】導入java郵件jar包——javax.mail.jar 在附件中的測試工程中有捎帶 【1】配置文件 mail-info.properties mail.host=smtp.163.com mail.port=25 mail.us

原创 用enum實現單例模式的方法來讀取配置文件

    使用enum關鍵字來實現單例模式的好處是可以提供序列化機制,絕對防止多次實例化,即使是在面對複雜的序列化或者反射攻擊的時候。—— 來自《Effective Java》 【1】配置文件test.properties #info a

原创 java壓縮和解壓文件

package hhf.mail; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.i

原创 jieba中文分詞

package com.huaban.analysis.jieba.test; import java.util.Iterator; import java.util.List; import com.huaban.analysis

原创 優先級隊列(堆實現)

(一)優先級隊列定義 (二)方法實現  獲得最大元素方法 去掉最大元素方法  修改優先級方法 添加節點  (三)實現 /** * 用堆實現一個優先級隊列 * 主要是添加、修改、刪除節點 * 節點具有唯一性 * @author

原创 10億個字符串的排序問題

一、問題描述 有一個大文件,裏面有十億個字符串,亂序的,要求將這些字符串以字典的順序排好序   二、解決思路         將大文件切割成小文件,每個小文件內歸併排序;         對所有的小文件進行歸併排序——多重歸併排序  

原创 Git入門

  首先,簡單介紹一下Git、GitLab、GitHub: Git - 版本控制工具,類似於我們熟悉的SVN GitHub - 一個網站,提供給用戶空間創建git倉儲 GitLab - 一個網站,仿GitHub而生   主要介紹第三