Java Collections.unmodifiableMap API:在频繁更新父映射的情况下,是否有任何性能开销?

Java Collections.unmodifiableMap API:在频繁更新父映射的情况下,是否有任何性能开销?,java,collections,Java,Collections,我计划使用集合类的API 我使用此API限制其他类修改我的parentMap对象 我知道这个API比创建地图的新副本要好,但我仍然怀疑在频繁更新的情况下的性能 如果我的父映射经常被修改—每天有50K次put和remove调用,那么这个不可修改的映射API会给性能增加额外的开销吗?首先,每天50K次的修改不会太多。平均每秒不到一次 其次,unmodifiableMap只返回原始地图的视图。它为访问原始贴图的值增加了微不足道的开销,但不会直接影响对原始贴图所做的修改 第三,担心微观优化不是确保性能的

我计划使用集合类的API

我使用此API限制其他类修改我的parentMap对象

我知道这个API比创建地图的新副本要好,但我仍然怀疑在频繁更新的情况下的性能


如果我的父映射经常被修改—每天有50K次put和remove调用,那么这个不可修改的映射API会给性能增加额外的开销吗?

首先,每天50K次的修改不会太多。平均每秒不到一次

其次,unmodifiableMap只返回原始地图的视图。它为访问原始贴图的值增加了微不足道的开销,但不会直接影响对原始贴图所做的修改


第三,担心微观优化不是确保性能的好方法。猜测某件事情是否会以有意义的方式影响性能,其效果与从StackOverflow随机复制粘贴代码片段以获得工作程序一样有效。当你需要找出导致你的程序变慢的原因时,使用探查器,即使节省了纳秒,也不要试图提前计划。首先,每天50K的修改并不是那么多。平均每秒不到一次

其次,unmodifiableMap只返回原始地图的视图。它为访问原始贴图的值增加了微不足道的开销,但不会直接影响对原始贴图所做的修改

第三,担心微观优化不是确保性能的好方法。猜测某件事情是否会以有意义的方式影响性能,其效果与从StackOverflow随机复制粘贴代码片段以获得工作程序一样有效。当你需要找出是什么让你的程序变慢的时候,使用一个分析器,不要试图提前计划达到纳秒级的时间,即使节省了