Ehcache - ehcache如何获知当前内存大小
Ehcache - How does ehcache get to know about the current memory size
我在 Cache 的 Put 函数中没有看到任何地方调用了 sizeof Object 或类似的东西。那么ehCache是怎么知道当前内存满的呢。
我知道还有其他函数可以获取它,但需要明确调用它们。
我想知道在运行时,它是怎么知道memoey被填满的。
首先,如果 Ehcache 配置为这样做,它只会调整堆上的对象大小。当它是时,大小调整发生在堆上存储和 ARC 相关代码中,而不是在 Cache.put
方法中。
因此,如果您想查找代码,请从 net.sf.ehcache.store.MemoryStore#put
开始,另请参阅 net.sf.ehcache.pool.impl.AbstractPoolAccessor#add(java.lang.Object, java.lang.Object, java.lang.Object, boolean)
。
我在 Cache 的 Put 函数中没有看到任何地方调用了 sizeof Object 或类似的东西。那么ehCache是怎么知道当前内存满的呢。 我知道还有其他函数可以获取它,但需要明确调用它们。 我想知道在运行时,它是怎么知道memoey被填满的。
首先,如果 Ehcache 配置为这样做,它只会调整堆上的对象大小。当它是时,大小调整发生在堆上存储和 ARC 相关代码中,而不是在 Cache.put
方法中。
因此,如果您想查找代码,请从 net.sf.ehcache.store.MemoryStore#put
开始,另请参阅 net.sf.ehcache.pool.impl.AbstractPoolAccessor#add(java.lang.Object, java.lang.Object, java.lang.Object, boolean)
。