6

我有一个 Web 应用程序,用户可以在其中向 Lucene 索引提交查询。查询由 Lucene 解析 QueryParser。我学到了QueryParser不是线程安全的艰难方法。

使用单个QueryParser实例并同步对其parse()方法的调用会更好吗?还是为每个查询构造一个新实例更好?(或者我会更好地被一群QueryParsers 服务吗?)

我知道像这样的一般问题取决于细节并需要分析,但也许有人可以明确地说“QueryParser构建起来非常便宜/昂贵”?

4

1 回答 1

6

每次创建一个新的。这些是轻量级对象,JVM 可以很好地处理对象创建和垃圾收集。绝对不要使用对象池。

于 2011-04-02T19:07:11.940 回答