如何禁用 BufferRecycler?

How to disable BufferRecycler?

我需要禁用 BufferRecycler 以检查其对垃圾收集时间的影响。

知道如何实现吗?

编辑:我通过返回 null 覆盖了 JsonFactory 的 _getBufferRecycler 方法,并使用此 JsonFactory 实例来构造我的 ObjectMapper,但它不起作用。似乎 Writer 实现可以使用 null BufferRecycler 但 IOContext 不行。

您将需要在本地修改代码、重新编译、注释掉部分代码,直到它起作用。这不是旨在供用户修改或访问的扩展点。

实际上这里可能有一些新的东西:Jackson 2.6 确实有一个新的 JsonFactory.FeatureUSE_THREAD_LOCAL_FOR_BUFFER_RECYCLING:禁用它会阻止 BufferRecycler 的重用。 您可以尝试使用此选项的 2.6.0-SNAPSHOT 来查看差异。