java - 如何仅将disruptor库用作对象池?

标签 java disruptor-pattern

我目前正在优化定期从数据库重新加载大量数据的代码。每次执行此操作时,都会创建约 800k 个对象,并在操作结束后立即将其释放以进行垃圾收集。

作为代码的一项优化,我想使用对象池,以便重用池中的对象并稍微降低对垃圾收集的影响。我考虑过使用 Disruptor 库来实现此目的,但遗憾的是我找不到任何最近处理借用和归还对象到池中的示例。大多数示例都集中在消息处理上。

我现在的问题是,是否有任何示例项目/代码仅处理池化,或者是否有人可以提供如何使用干扰器解决此问题的想法。

更新 我发现this github repo 基本上在后台使用disruptor 实现了池化解决方案。

最佳答案

对象池概念用在你可以借用对象(即调用borrow())并且应该将对象返回到池中(即调用returnObject()方法)的地方 否则对象池将会失败。 如果一旦不再需要该对象,您能够将对象再次返回到池中,那么请尝试一下。这会有很大帮助。

关于java - 如何仅将disruptor库用作对象池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36771852/

相关文章:

java - 如何从我们的代码库和基础镜像中快速检测和删除 log4j 类? "mvn dependency:tree"不检查基础镜像

java - LMAX Disruptor最简单实际的示例代码

message-queue - 使用多个 LMAX Disruptor

java - 当我尝试从 GoogleApiClient 注销时,我在空对象引用上收到错误消息 GoogleApiClient.isConnected()

java - JAVAFX 骰子的最后值

java - wav 文件打开后无法删除,java

java - 干扰器 : Gating Sequence

java - LMAX Disruptor 依赖图/带有 SequenceBarrier 的门控

concurrency - 何时使用破坏者模式以及何时使用工作窃取本地存储?

java - 将标志传递给对象的正确设计模式