是否有AtomicReferenceArray的替代方法来处理大量数据?

迈克尔·安德森

我目前存储在中的大量数据AtomicReferenceArray<X>,并同时从大量线程进行处理。

每个元素都很小,所以我将要拥有更多的Integer.MAX_VALUE条目。不幸的是List,java中的数组仅限于Integer.MAX_VALUE(或更少)值。现在,我有足够的内存来在内存中保留更大的结构-该计算机在64b VM中具有约250GB的内存。

是否AtomicReferenceArray<X>有用longs索引的替代项(否则,我将不得不创建自己的包装器,该包装器存储几个较小的包装AtomicReferenceArray并将长访问映射为较小的int访问。)

彼得·劳瑞

听起来是时候使用本机内存了。拥有4+十亿个对象将导致一些戏剧性的GC暂停时间。但是,如果使用本机内存,则几乎不会对堆产生任何影响。您还可以使用内存映射文件来支持更快的重新启动并在JVM之间共享数据。

不确定您的特定需求是什么,但是有很多类似的开源数据结构;HugeArrayChronicle QueueChronicle Map您可以创建一个1 TB但几乎不使用堆且不影响GC的阵列。

顺便说一句,对于您创建的每个对象,都有一个8字节的引用和一个16字节的标头。通过使用本机内存,您可以为每个对象节省24个字节,例如4 bn * 24是96 GB的内存。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否有替代AtomicReferenceArray的大量数据?

来自分类Dev

使用JavaScript替代方法来处理具有属性的开关箱

来自分类Dev

Python umlaut字符问题-需要mbcs,是否有更好的方法来处理所有字符

来自分类Dev

有没有更好的方法来处理pandas数据框中的列名?

来自分类Dev

有没有更好和更短的方法来处理异步数据?

来自分类Dev

Redux是否有更好的方法来处理非常大的状态对象?

来自分类Dev

在gson / retrofit中,是否有内置方法来处理各种格式的日期?

来自分类Dev

是否有一致的方法来处理在Scala 2.11中被淘汰的库?

来自分类Dev

python post server是否有更好的方法来处理不同的文件类型?

来自分类Dev

有更好的方法来处理默认true吗?

来自分类Dev

有什么更好的方法来处理此类问题?

来自分类Dev

有没有更有效的方法来处理整数数据类型?

来自分类Dev

寻找更好的Java OO方法来处理大量的布尔if语句

来自分类Dev

在为Django 1.6和1.7设计应用程序时,是否有推荐的方法来处理AppConfig?

来自分类Dev

在WPF应用程序中是否有一种干净的方法来处理单位(度,弧度等)转换

来自分类Dev

SQL-是否有更好的方法来处理一个表上的许多事务?

来自分类Dev

使用Appium测试React Native应用程序时,是否有更好的方法来处理.app文件的路径?

来自分类Dev

有没有更好的方法来处理可变大小的切片?

来自分类Dev

有没有更好的方法来处理相同的回调函数但输入参数不同?

来自分类Dev

有没有更简单的方法来处理复选框?

来自分类Dev

有没有更干净的方法来处理文本框验证事件

来自分类Dev

有没有更好的(即更Pythonic的)方法来处理打包/解包函数参数?

来自分类Dev

有没有更好的方法来处理pygobject中的双击

来自分类Dev

有没有更好的方法来处理异常?尝试捕获块真的很丑

来自分类Dev

有没有更好的方法来处理相同的回调函数但输入参数不同?

来自分类Dev

有没有更清晰的方法来处理链式承诺?

来自分类Dev

有没有更好的(即更Pythonic的)方法来处理打包/解包函数参数?

来自分类Dev

有没有更好的方法来处理Android中的CRUD操作?

来自分类Dev

有没有更干净的方法来处理 for 循环中的(连续)独占 if 语句?

Related 相关文章

  1. 1

    是否有替代AtomicReferenceArray的大量数据?

  2. 2

    使用JavaScript替代方法来处理具有属性的开关箱

  3. 3

    Python umlaut字符问题-需要mbcs,是否有更好的方法来处理所有字符

  4. 4

    有没有更好的方法来处理pandas数据框中的列名?

  5. 5

    有没有更好和更短的方法来处理异步数据?

  6. 6

    Redux是否有更好的方法来处理非常大的状态对象?

  7. 7

    在gson / retrofit中,是否有内置方法来处理各种格式的日期?

  8. 8

    是否有一致的方法来处理在Scala 2.11中被淘汰的库?

  9. 9

    python post server是否有更好的方法来处理不同的文件类型?

  10. 10

    有更好的方法来处理默认true吗?

  11. 11

    有什么更好的方法来处理此类问题?

  12. 12

    有没有更有效的方法来处理整数数据类型?

  13. 13

    寻找更好的Java OO方法来处理大量的布尔if语句

  14. 14

    在为Django 1.6和1.7设计应用程序时,是否有推荐的方法来处理AppConfig?

  15. 15

    在WPF应用程序中是否有一种干净的方法来处理单位(度,弧度等)转换

  16. 16

    SQL-是否有更好的方法来处理一个表上的许多事务?

  17. 17

    使用Appium测试React Native应用程序时,是否有更好的方法来处理.app文件的路径?

  18. 18

    有没有更好的方法来处理可变大小的切片?

  19. 19

    有没有更好的方法来处理相同的回调函数但输入参数不同?

  20. 20

    有没有更简单的方法来处理复选框?

  21. 21

    有没有更干净的方法来处理文本框验证事件

  22. 22

    有没有更好的(即更Pythonic的)方法来处理打包/解包函数参数?

  23. 23

    有没有更好的方法来处理pygobject中的双击

  24. 24

    有没有更好的方法来处理异常?尝试捕获块真的很丑

  25. 25

    有没有更好的方法来处理相同的回调函数但输入参数不同?

  26. 26

    有没有更清晰的方法来处理链式承诺?

  27. 27

    有没有更好的(即更Pythonic的)方法来处理打包/解包函数参数?

  28. 28

    有没有更好的方法来处理Android中的CRUD操作?

  29. 29

    有没有更干净的方法来处理 for 循环中的(连续)独占 if 语句?

热门标签

归档