【问题标题】:How to create an object pool to be able to borrow and return objects如何创建对象池以便能够借用和归还对象
【发布时间】:2012-02-13 23:54:06
【问题描述】:

我想知道,是否可以创建对象池?这样我就可以从池中取出一个对象,一旦完成工作,我就可以将它放入池中。

【问题讨论】:

标签: java pool


【解决方案1】:

我想知道,是否可以创建对象池?这样我就可以从池中取出一个对象,一旦完成工作,我就可以将它放入池中。

有可能是的。如果新对象的构建成本很高(例如建立数据库连接)或由于其他原因 GC 带宽太高(通常是 Android 领域的问题),您可以在许多情况下看到性能提升。

这里有一些资源可用于实现您的池。您可以直接使用 Apache 的 ObjectPool

【讨论】:

【解决方案2】:

作为替代方案,如果每个对象不是那么重,和/或您不介意为每个线程保留对象,请考虑使用 ThreadLocal 对象。

http://tutorials.jenkov.com/java-concurrency/threadlocal.html

【讨论】:

    【解决方案3】:

    虽然晚了,但可能有用。

    以下链接提供了使用 apache-commons-pool-2 创建对象池的足够信息和实现细节:

    http://www.techypages.com/2014/03/creating-object-pool-in-java.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 2015-03-27
      • 2022-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-25
      相关资源
      最近更新 更多