Java Apache poi getColumn width正在关闭实例

Java Apache poi getColumn width正在关闭实例,java,performance,jakarta-ee,apache-poi,heap-dump,Java,Performance,Jakarta Ee,Apache Poi,Heap Dump,我的实例经常因为堆空间问题而宕机,而当我进行线程转储时,它总是失败 Current CompileTask: **C2:8428** ! //The number will vary org.apache.poi.ss.util.SheetUtil.getColumnWidth(Lorg/apache/poi/ss/usermodel/Sheet;IZ)D (799 bytes) JavaThread "CompilerThread1" daemon [_thread_in_native

我的实例经常因为堆空间问题而宕机,而当我进行线程转储时,它总是失败

Current CompileTask:
**C2:8428**  ! //The number will vary  org.apache.poi.ss.util.SheetUtil.getColumnWidth(Lorg/apache/poi/ss/usermodel/Sheet;IZ)D (799 bytes)
  JavaThread "CompilerThread1" daemon [_thread_in_native, id=12321
这是一个编译器线程,当它失败时,它会请求近18gb的内存

我们使用的是ApachePO版本3.8-beta4

我没有在任何地方使用getColumnWidth函数,但看起来autoSize方法正在调用此函数

你知道为什么它需要18gb的内存,为什么它是一个编译器线程吗


应用程序服务器是Jboss 5

请显示调用autoSize的相关代码,以及任何其他相关详细信息,如任何堆栈跟踪和工作表/工作簿中的数据大小。我对大型电子表格中的autoSize性能有疑问。根据我的经验,最好是自己计算和设置大小。我不确定是哪个autoSize代码将其删除,它只是一个编译器线程,我无法确定调用了哪个线程。为什么要使用非常旧的Apache POI测试版?最新的稳定版本解决了这个问题吗?您是否确保使用的是最新的JVM更新,而不是旧的或可能有缺陷的JVM更新?