JFreeChart 堆空间
我只是想知道是否有一种方法可以阻止 JFreeChart 破坏堆,或者有一种替代方法,不会这样做太多。 SpreadsheetDate
、Millisecond
和 Day
占用了大约 70 MB 的堆,但垃圾收集器也可能受到影响。总的来说,他们是我的应用程序中堆空间的最大用户。还有 TimeSeriesDataItem,它使用 12 MB。对于所有图表,每 200 毫秒左右记录一次。
我还更新/存储了相当多的数据集,这些数据集不会立即使用,只有当用户单击 UI 中的项目来显示它们时。
另外,在 Visual VM 中是否有可能显示许多垃圾收集抖动是由于内存采样器表中的特定类名造成的?
干杯,
克里斯
I'm just wondering if there's a way to stop JFreeChart thrashing the heap, or an alternative that doesn't do it so much. SpreadsheetDate
, Millisecond
and Day
are taking up about 70 MB of the heap, but the garbage collector is probably getting thrashed too. They are, collectively, the biggest users of heap space in my app. There's also TimeSeriesDataItem which uses 12 MB. This is with recording things every 200 milliseconds or so, for all charts.
I'm also updating / storing a fair few datasets which aren't used immediately, only when the user clicks on the item in the UI to display them.
Also, is it possible in Visual VM to show much garbage collection thrashing is due to a particular class name in the memory sampler table?
Cheers,
Chris
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我想我通过一个简单的修复解决了这个问题 - 我现在在每次
addOrUpdate
操作后调用timeSeries.removeAgedItems(false)
。效果很好,我的堆使用量下降了:)I think I solved this with a simple fix -- I now call
timeSeries.removeAgedItems(false)
after everyaddOrUpdate
op. Works a treat, my heap usage is down :)