我实现了一个由一堆 AVL tres 和一些 RoaringBitmaps 组成的缓存。此缓存存储在应用程序启动时从数据库读取的数据,此后不联系数据库,所有请求均由上述缓存提供。这些 AVL 树和位图是实例化一次的 Java 对象,比如使用单例模式。我注意到从缓存中获取数据的速度很慢,如果一次又一次地重复相同的查询,它会变得更快,但是每个唯一请求的第一个查询很慢。我怀疑 GC 暂停存在一些问题,而长期存在的对象存在一些其他问题。你对此有什么想法吗?
最佳答案
如果您在服务器 VM 上运行,通常您可能会看到应用程序在使用一段时间后变得更快的效果,请参阅:Real differences between "java -server" and "java -client"?
您有 GC 暂停吗?网络上的人怎么知道?!请咨询:Java Garbage Collection Log messages
关于java - tomcat 应用程序服务器中的内存缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31641349/