我正在使用对内存使用大小有限制的 lru 缓存。lru 缓存包括两种数据结构:hashmap 和链表。哈希映射保存缓存对象,链表保存缓存对象访问顺序的记录。为了确定 java 对象的内存使用情况,我使用了一个开源工具——Classmexer 代理,它是一个简单的 Java 检测代理,位于http://www.javamex.com/classmexer/。
我在http://sizeof.sourceforge.net/尝试了另一个名为 SizeOf 的工具。
问题是性能非常昂贵。测量对象大小的一项操作的时间成本约为 1.3 秒,非常缓慢。这可以使缓存的好处为零。
是否有任何其他解决方案来测量 Java 对象的内存大小?
谢谢。