2013-10-29 40 views
1

我必须使用一些遗留的库,这些库在某些部分对象创建时非常昂贵(只是“普通”对象,没有数据库连接或类似)。 当我用它写webservice时,会有很多针对这个库的线程。减少昂贵物体创建的时间的缓存?

主要的问题将是垃圾收集器不得不清理每个线程的所有重物。

现在我介绍了几种缓存池方法。但我没有这方面的经验。 如果对象创建非常昂贵,您可以推荐哪种缓存池库最适合?

  • 番石榴
  • 阿帕奇百科全书
  • 或自己的实现?
+0

你正在使用什么版本的Java?它有很大的不同。 “遗产”库并不重要,除非它使用自己的池。 – MadConan

+0

JDK 7,一般总是用最新的版本。传统没有自己的池化机制。 – membersound

+0

您是否确实对应用程序进行了描述,并确定对象构造/ GC是瓶颈?现代JVM很好地处理多个'new'。 – Dariusz

回答

4

对象创建不是它曾经是 - 它是更有效率。在大多数情况下,对于现代JVM,最好不要担心。除非你真的需要确定,否则不要介绍创建自己的高速缓存代码的复杂性和维护开销 - 直到通过测试获得一些性能指标后才能确定。