Tomcat Jasper PageContext池的意义是什么?

Tomcat Jasper PageContext池的意义是什么?,tomcat,Tomcat,标题几乎说明了一切 问题是jasperPageContext池默认情况下会在web容器线程的线程本地数据中创建一个包含8个PageContext项的池。如果存储在那里的BodyContent对象很大,那么这可能会导致大量数据,这些数据与web容器线程一起,具有足够长的生命周期,最终进入旧一代Java堆,在旧一代Java堆中,对其进行爬网的成本要比在eden空间中高得多 如果且仅当线程池的大小确定为很少创建/删除线程,那么唯一的问题就是结果数据的大小。尽管如此,游泳池的优势是什么?这是一个老问题,

标题几乎说明了一切

问题是jasper
PageContext
池默认情况下会在web容器线程的线程本地数据中创建一个包含8个
PageContext
项的池。如果存储在那里的
BodyContent
对象很大,那么这可能会导致大量数据,这些数据与web容器线程一起,具有足够长的生命周期,最终进入旧一代Java堆,在旧一代Java堆中,对其进行爬网的成本要比在eden空间中高得多


如果且仅当线程池的大小确定为很少创建/删除线程,那么唯一的问题就是结果数据的大小。尽管如此,游泳池的优势是什么?

这是一个老问题,但我又遇到了这个问题,浪费了一些时间。您可以通过设置系统属性org.apache.jasper.runtime.jspfactorympl.USE_POOL=false来关闭它。