我在读取内存跟踪时遇到问题。我已经阅读并保存地图remove()方法太慢
地图结构上的网页和他们的参考:
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'的实现? – cheeken
对不起,它的一个ArrayList实现 –
谢谢你,我恢复了LinkedList,并从最后删除,现在只需要4秒钟来读取跟踪。 –