gpt4 book ai didi

java - AtomicLong 与 Long 性能

转载 作者:搜寻专家 更新时间:2023-11-01 02:50:06 26 4
gpt4 key购买 nike

上下文:我正在使用 netty 并定义了一个处理程序,以便对传入/传出流量进行计数和分类。为此,我使用了如下所示的 enumMap:

EnumMap<MyEnum, AtomicLong>

但是现在我意识到只有一个线程在操作值(之前我认为它不止一个,netty 似乎保证每个 channel 一个线程)。这意味着 AtomicLong 不是必需的。 但是,由于 AtomicLong 是原始 long 的包装器,同时 Long 是不可变类型,我有理由认为仅将 AtomicLong 交换为 Long 会降低性能。

对此有什么想法吗?

我可能应该做的是移动到 int 并删除整个 enumMap 东西..

BR塞巴斯蒂安

最佳答案

假设你只有一个线程:

如果避免创建对象,AtomicLong 可以比使用 Long 更快。

再次快速是使用 long[] 或根本不使用像 TObjectLongHashMap 这样的集合的对象。

关于java - AtomicLong 与 Long 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12910981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com