【发布时间】:2012-08-21 12:17:45
【问题描述】:
我在读取内存跟踪时遇到问题。我已阅读并在地图上保存了页面及其引用
地图结构:
Map<Integer, List<Integer>> map = new HashMap<>();
然后我再次读取文件并从整数列表中删除引用
FileReader arq = new FileReader(new File(Path));
BufferedReader reader = new BufferedReader(arq, 41943040);
while ( (std = reader.readLine()) != null ) {
requestedPage = Integer.parseInt(std, 16);
//do something
M.map.get(requestedPage).remove(0));
}
问题是删除这些引用需要很长时间,而对于大的痕迹,删除这些引用需要几个小时。有人有其他解决方案吗?
谢谢!
【问题讨论】:
-
你在使用
List的什么实现? -
对不起,它是一个 ArrayList 实现
-
谢谢,我恢复了LinkedList并从最后删除,现在只需4秒即可读取跟踪。