我打算使用Collections类中的unmodifiableMap API。
我正在使用此API来限制其他类来修改我的父Map
对象。
我知道这个API比创建Map的新副本更好,但是在频繁更新的情况下我仍然对性能有疑问。
如果我的父地图经常被修改 - 50K times per day
(包括put和remove调用),这个unmodifiableMap
API是否会为性能增加额外的开销?
答案 0 :(得分:4)
首先,每天50K的修改并不多。它平均每秒不到一个。
其次,unmodifiableMap()
仅返回原始地图的视图。它增加了访问原始地图值的微不足道的开销,但它不会影响直接对原始地图进行的修改。
第三,担心微观优化并不是确保绩效的好方法。猜测某些内容是否会以有意义的方式影响性能,这与从StackOverflow中随机回复粘贴代码片段一样有效,以便获得有效的程序。当您需要查找使您的计划变慢的内容时,请使用分析器,不要尝试提前计划纳秒(甚至是那样)的节省。