src/com/chenlb/mmseg4j/Dictionary.java
public synchronized boolean reload() {
		Map<File, Long> oldWordsLastTime = new HashMap<File, Long>(wordsLastTime);
		Map<Character, CharNode> oldDict = dict;
		Map<Character, Object> oldUnit = unit;
		
		try {
			wordsLastTime.clear();
			dict = loadDic(dicPath);
			unit = loadUnit(dicPath);
			lastLoadTime = System.currentTimeMillis();
		} catch (IOException e) {
			//rollback
			wordsLastTime.putAll(oldWordsLastTime);
			dict = oldDict;
			unit = oldUnit;
			
			if(log.isLoggable(Level.WARNING)) {
				log.log(Level.WARNING, "reload dic error! dic="+dicPath+", and rollbacked.", e);
			}
			
			return false;
		}
		return true;
	}
public synchronized boolean reload() {
		Map<File, Long> oldWordsLastTime = new HashMap<File, Long>(wordsLastTime);
		Map<Character, CharNode> oldDict = dict;
		Map<Character, Object> oldUnit = unit;
		
		try {
			wordsLastTime.clear();
			dict = loadDic(dicPath);
			unit = loadUnit(dicPath);
			lastLoadTime = System.currentTimeMillis();
		} catch (IOException e) {
			//rollback
			wordsLastTime.putAll(oldWordsLastTime);
			dict = oldDict;
			unit = oldUnit;
			
			if(log.isLoggable(Level.WARNING)) {
				log.log(Level.WARNING, "reload dic error! dic="+dicPath+", and rollbacked.", e);
			}
			
			return false;
		}
		return true;
	}
全新加载词库，没有成功加载会回滚。<P/>
注意：重新加载时，务必有两倍的词库树结构的内存，默认词库是 50M/个 左右。否则抛出 OOM。
@return 是否成功加载