假设我有:
Class A{
int a;
}
A obj = new A();
那么obj的大小是多少?它的大小是否与 int 大小相同,就像在 C 中一样?
如果我能弄清楚这一点,那么我可以在不使用数据库的情况下将大型 HashMap 保存在 RAM 中。
提前致谢。
编辑
朋友们,
其实我有:
HashMap<Long, List<T>> map;
和
class T{
private int a;
private int b;
private int c;
// constructor, getters and setters
}
并且地图的大小可能会增长到拥有 10000000 个键,并且对于每个键,我将拥有大小为 100-1000 的列表。
整个地图会留在堆中吗?
编辑 2
当我用大约 70000 个键加载地图并将其序列化为文件时,文件大约为 18 MB,那么我的地图在堆中是否为 18 MB?