在Java中,创建对象还是从缓存中获取两次?[已关闭]

thtygnil  于 2023-02-02  发布在  Java
关注(0)|答案(1)|浏览(112)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

9小时前关门了。
Improve this question
对象有6,7个字段。cache.get()是一个map读取。哪个更快?

obj temp = cache.get(key);                              // temporary object creation
Int id = temp != null ? temp.getId() : null;

Int id = cache.get(key) != null ? cache.get(key).getId() : null;       // cache read twice

对于低延迟的Java,以上哪一个更好?

kqlmhetl

kqlmhetl1#

在第一个代码片段中,你不是创建一个临时引用--你是将一个现有的对象赋给一个即将超出作用域的局部变量。
第一个代码片段更可取,尽管如果cache是一个简单的HashMap,它可能不明显,但如果cache是更花哨的东西,例如某种需要处理并发的同步Map,它就变得更重要了。

相关问题