例如,假设我有一个应用程序可以读取包含大量数据行的CSV文件.我根据数据类型向用户提供行数的摘要,但我想确保我不读取太多数据行并导致OutOfMemoryErrors.每行都转换为一个对象.有没有一种简单的方法可以通过编程方式找出该对象的大小?是否有一个引用定义了大型基元类型和对象引用的大小VM?
现在,我的代码可以读取多达32,000行,但我还希望代码能够读取尽可能多的行,直到我使用了32MB的内存.也许这是一个不同的问题,但我仍然想知道.
在Java中,如果我在其中创建Hashtable<K, V>并放置N个元素,它将占用多少内存?如果它依赖于实现,那么什么是一个好的"猜测"?
我有一个简单的pojos(一个User类)列表,其中包含大约15个简单字段和1个arrayList.那些代表用户并且可能100或1000个将存储在内存中以避免每次从外部系统检索它们.(我正在使用Ehcache)
我想通过junit测试知道这些用户的K列表使用了多少内存. 我有直觉认为简单的pojo就像那些即使是1000个也不会以任何方式威胁(换言之,小于100 Ko)
在此先感谢您的回复.我非常感谢你的帮助.