gpt4 book ai didi

java - 使用静态变量节省数组空间

转载 作者:行者123 更新时间:2023-11-30 09:31:00 25 4
gpt4 key购买 nike

我正在处理一些相对较大的单个数据结构实例数组。每个实例包含大约六个字段。这些数组占用了大量空间,我发现即使在使用 7 GB 堆空间的虚拟机上运行时,我的开发环境也会死机。虽然我可以转移到更大的机器,但我也在探索如何在不对性能造成巨大影响的情况下节省空间。在检查数据时,我注意到数据中存在大量冗余。对于大约 80% 的数据,六个字段中的四个具有相同的值。

这给了我一个想法,我可以隔离这些具有冗余信息的实例,并将它们放入一种特殊形式的数据结构(原始数据结构的扩展)中,并为包含相同信息的四个字段设置静态字段信息。我的假设是静态字段只会在内存中实例化一次,因此即使这些信息由 100K 对象共享,这些字段占用的内存与仅实例化一个数据结构时的内存相同。因此,我应该能够实现显着的内存节省。

这是一个正确的假设吗?

谢谢,

埃利奥特

最佳答案

我不知道您的特定数据结构和构建享元的可能算法,但我会建议一个: http://en.wikipedia.org/wiki/Flyweight_pattern

该模式非常接近您正在考虑的解决方案,并让您很好地区分“如何获取数据”。

关于java - 使用静态变量节省数组空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13042958/

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