效率和实例化-Java



我知道在不知道问题的细节的情况下可能很难回答这个问题,但我希望有人以前遇到过类似的情况并可以帮助我。

我正在Java编写一个模拟器,并且在模拟时间内有N神经元相互通信。这些神经元中的每一个都有特定的参数和属性,我需要在模拟时间内访问或操纵其值。

我想知道以下哪项是"正确"的选择:

  1. 将信息存储在1-D和2-D阵列列表中 - 这意味着很多查找,需要额外的谨慎才能确保信息正确链接。

  2. 让一个类具有神经元所需的字段和方法的类,并为每个神经元进行不同的实例(使用构造函数提供特定于该神经元的参数)。

基本上,我的问题是举行班级实例的极限在哪里?什么时候会变得太多且效率低下?100s?1000s?

让我知道我是否应该解释更多。

也感谢任何其他建议。

谢谢。

唯一的内存是使课堂实例的限制,没有其他与绩效相关的问题,即有许多类实例(*)。

但是,类实例确实包含了一些其他信息,因此与使用数组相比,它们带有更多的内存开销。对于课程的每个实例,您都可以期待16个字节的开销。

(*)从理论上讲,实际上,如果在内存中与数组解决方案没有有利的传播,则可能会遇到更多的GC开销,或者由于缓存的误差而导致的性能较差。

最新更新