我目前正在优化定期从数据库重新加载大量数据的代码。每次执行此操作时,都会创建约 800k 个对象,并在操作结束后立即将其释放以进行垃圾收集。
作为代码的一项优化,我想使用对象池,以便重用池中的对象并稍微降低对垃圾收集的影响。我考虑过使用 Disruptor 库来实现此目的,但遗憾的是我找不到任何最近处理借用和归还对象到池中的示例。大多数示例都集中在消息处理上。
我现在的问题是,是否有任何示例项目/代码仅处理池化,或者是否有人可以提供如何使用干扰器解决此问题的想法。
更新 我发现this github repo 基本上在后台使用disruptor 实现了池化解决方案。
最佳答案
对象池概念用在你可以借用对象(即调用borrow())并且应该将对象返回到池中(即调用returnObject()方法)的地方 否则对象池将会失败。 如果一旦不再需要该对象,您能够将对象再次返回到池中,那么请尝试一下。这会有很大帮助。
关于java - 如何仅将disruptor库用作对象池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36771852/