![]() |
1
7
除非你真的有性能问题(并将其追溯到这段代码),否则我不会担心。 在我试图替换Map之前,我会看看为什么我需要做4000次查找(200个条目,每次20次读取)来生成一个网页。 但我敢打赌,与该过程的其他部分相比,进行这4000次查找的时间将微不足道。 |
![]() |
2
2
如果所有写入都在任何读取之前完成,那么您可以使用 Collectons.unmodifiableMap 方法。 如果不是这样,那么编写代码来做你想做的事情并不难(四处寻找包含基本代码的帖子……) 嗯……只是为了确定问题是我在想什么。..只读方面是重要的部分,还是试图快速访问数据是最重要的部分? 编辑:(基于评论) 你有没有用分析器检查过代码是否很慢?如果没有,那么你现在还不应该担心。 |
![]() |
3
1
如果这真的是一个瓶颈,我会考虑调整地图的大小以避免冲突。 |
![]() |
4
1
如果真的值得麻烦,你可以试试 perfect hashing 。不过,我对任何Java实现都不熟悉。 |
![]() |
5
0
如果你严格写在开头,在阅读器启动之前,那么跨线程的同步和共享就不是问题。..HashMap是你的朋友。当你对此不确定时:ConcurrentHashMap。 这两个实现都是JDK的一部分。 |
![]() |
6
0
几年前(作为一个学校项目),我在C中实现了一个一次写入多读映射(和其他集合),它采用了一个现有的集合,然后通过创建一个更高效的内存和缓存表示来“密封”它(例如,一个图被存储为优化的数组)。我们看到了惊人的性能差异。 由于Java支持接口,实现这样的东西会容易得多(事实上是鼓励的),但我不熟悉开箱即用的实现。 |
![]() |
Sweepy Dodo · JSON lite的格式化 8 月前 |
![]() |
giantjenga · 优化整数向量到二进制向量的转换 9 月前 |
![]() |
Zegarek · Postgresql递归查询未提供预期结果 10 月前 |
![]() |
Joe · 为什么这两个查询之间的性能存在如此大的差异? 1 年前 |
![]() |
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 1 年前 |