【发布时间】:2010-06-01 16:30:57
【问题描述】:
我的应用正在分配大量对象(每秒超过 100 万;大多数对象是大小约为 80-100 的字节数组和大小相同的字符串),我认为这可能是其性能不佳的原因。
应用程序的工作集只有几十兆字节。分析应用程序显示 GC 时间小到可以忽略不计。
但是,我怀疑分配过程可能取决于正在使用的 GC,并且某些设置可能会使分配更快,或者可能对缓存命中率产生积极影响等。
是这样吗?或者在垃圾收集本身花费很少时间的假设下,分配性能是否独立于 GC 设置?
【问题讨论】:
-
您分配的对象是长期存在的,还是它们一创建就超出范围?
-
它们的寿命很短:每 10-20 次左右分配就会超出范围。
标签: java performance garbage-collection memory-management