类 LSMTree<T>
- java.lang.Object
-
- xin.manong.weapon.base.collection.LSMTree<T>
-
public class LSMTree<T> extends Object
LSM Tree实现:基于本地磁盘外部排序- 作者:
- frankcl
-
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voidaddRecord(T record)增加排序数据voidclose()关闭清理资源TgetRecord()获取排序数据voidreset()重置排序voidsetMaxCacheRecordNum(int maxCacheRecordNum)设置内存最大缓存记录数量voidsetMaxOpenFileNum(int maxOpenFileNum)设置最大打开合并文件数量voidsetTempDirectory(String tempDirectory)设置临时文件目录
-
-
-
构造器详细资料
-
LSMTree
public LSMTree(Class<T> recordClass, Comparator<? super T> comparator, String tempDirectory)
-
-
方法详细资料
-
addRecord
public void addRecord(T record) throws IOException
增加排序数据- 参数:
record- 数据- 抛出:
IOException
-
getRecord
public T getRecord() throws IOException
获取排序数据- 返回:
- 有序数据,如果没有数据返回null
- 抛出:
IOException
-
reset
public void reset()
重置排序
-
close
public void close()
关闭清理资源
-
setTempDirectory
public void setTempDirectory(String tempDirectory)
设置临时文件目录- 参数:
tempDirectory- 临时文件目录
-
setMaxOpenFileNum
public void setMaxOpenFileNum(int maxOpenFileNum)
设置最大打开合并文件数量- 参数:
maxOpenFileNum- 最大打开合并文件数量
-
setMaxCacheRecordNum
public void setMaxCacheRecordNum(int maxCacheRecordNum)
设置内存最大缓存记录数量- 参数:
maxCacheRecordNum- 内存最大缓存记录数量
-
-