可能是个愚蠢的问题但是..
对于基本的Java数据结构将消耗多少内存,有什么好的指导原则吗?
例如:一个包含一个int成员和一个String成员的简单POJO会消耗多少内存(比如包含一个10个字符的字符串)?上述对象中的10个对象的List将消耗多少内存?
等
发布于 2010-01-12 05:36:04
内存占用空间
http://java.sun.com/docs/books/performance/1st_edition/html/JPRAMFootprint.fm.html
字符串/对象内存使用情况
http://www.javamex.com/tutorials/memory/string_memory_usage.shtml
发布于 2010-01-12 06:14:05
字符串是出了名的棘手,因为它们持有下面的字符数组,该字符数组与其他字符串对象共享,这些字符串对象是原始字符串对象的子字符串。
发布于 2010-01-12 05:39:33
我认为字符串有144位(32位用于指针,80位用于10个字符,32位用于长度int),32位用于int,32位用于指向对象的指针,总共为208位。一个10位的列表需要2080位用于对象和指向它们的指针,另外32 *2* 10用于下一个和前一个指针,32个用于列表长度,32个用于指针。这使得总共2784位。在我使用Java与我认为它将需要什么(也就是C)的经验中,您应用了一个乘以2的乘数,使其成为5568位。
在一天结束的时候,如果你担心内存需求,测试一下,看看!但是要测试这么小的数字是相当困难的。试着用几千个来代替。
https://stackoverflow.com/questions/2045106
复制相似问题