gpt4 book ai didi

java - 内存分配原始流与原始类型表

转载 作者:行者123 更新时间:2023-12-02 12:40:28 24 4
gpt4 key购买 nike

我的问题:我正在从 JFreeChart 数据库下载大量数据。我想在不使用原始表的情况下优化数据内存使用。

使用集合需要使用对象。我想知道是否可以使用像 IntStream 这样的原始 Stream 来优化内存使用而不是例如 LinkedList<Integer> .

我不知道如何制定可靠的基准。

最佳答案

如果您的起点是 LinkedList<Integer> ,只需将其替换为 ArrayList<Integer>将显着减少内存消耗,如 When to use LinkedList over ArrayList? 中所述。 。由于装箱的整数是小对象,其中一些甚至在装箱相同的值时会被重用,因此 this answer 的图具有重要意义。

如果你想让它更简单,只需使用 int[] 。如果您需要可以增量填充的内容,Stream API 确实有一个选择。使用 IntStream.builder() 获得 IntStream.Builder 您可以重复添加新的 int值(value)观。一旦包含所有值,您可以调用 build().toArray()就可以得到 int[]包含所有值的数组,也可以直接对 IntStream 进行过滤和聚合操作返回者 build() (如果你可以将聚合运算表示为归约)。

关于java - 内存分配原始流与原始类型表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44949322/

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