我还没有找到任何好的答案,但是在数组等数据结构中,java是将对象存储在数组中还是指向所述对象的指针,
这是一个相关的示例,我有一个需要 50 个字节的对象,并且希望以两种不同的方式组织它,而不必在每次搜索之前对其进行排序,因此我将它放在 2 个数组中。假设指针为 2 字节,则需要 2*50*n 字节或 ((2*2)+50)*n
我知道这不准确,但如果 n 是 2000,那就很接近了
最佳答案
Java 中的所有对象都是通过引用处理的——当你有一个除基本数据类型之外的任何数组时,该数组只包含指针。不可能(就像在 C 中一样)构造一个存储值而不是引用的数组(或者任何其他类型的对象)。
因此,为了回答上面的示例,Java 数组占用 ((2*2)+50)*n 字节。 2*2*n 表示两个指针数组,n*50 表示您的对象。
关于java - java如何存储数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5364045/