作者:Ms丶娇丶 | 来源:互联网 | 2023-05-16 17:14
我试图循环一个2-D
尺寸为的数组,12000 * 20
我不断得到java.lang.OutOfMemoryError.
最初我认为这可能是因为堆大小所以我增加了我的堆大小但我仍然得到相同的错误.所以我像这样运行垃圾收集器:
我倾倒了周围的空闲记忆850MB
:
在这里,我试图创建一个XML变量,并在循环时我收到堆错误:
<#ucase(local.array[2][j])#>
#ucase(local.array[2][j])#>
这是堆栈跟踪:
java.io.WinNTFileSystem.getBooleanAttributes(Native Method)的java.lang.OutOfMemoryError,位于coldfusion的coldfusion.xml.XmlProcessor.getSourceURL(XmlProcessor.java:246)的java.io.File.exists(File.java:733). xml.XmlProcessor.parse(XmlProcessor.java:155)在coldfusion.tagext.lang.XmlTag.doEndTag(XmlTag.java:85)在cffeeds2ecfc1003675922 $ funcDEMO1._factor8(C:\部件\ abc.cfc:1235)在cffeeds2ecfc1003675922 $在coldfusion的coldfusion.runtime.UDFMethod $ ReturnTypeFilter.invoke(UDFMethod.java:405)的coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)的funcDEMO1.runFunction(C:\ component\abc.cfc:1192). runtime.UDFMethod $ ArgumentCollectionFilter.invoke(UDFMethod.java:368)在coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)在coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)在coldfusion.runtime.UDFMethod .invoke(UDFMethod.java:220)at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2582)at cffeeds2ecfc1003675922 $ funcDEMO.runFunction(\ comp onent\abc.cfc:935)在coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)在coldfusion.runtime.UDFMethod $ ReturnTypeFilter.invoke(UDFMethod.java:405)在coldfusion.runtime.UDFMethod $ ArgumentCollectionFilter.invoke (UDFMethod.java:368)coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java: 517)在coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:496)的coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:355)和coldfusion的coldfusion.filter.ComponentFilter.invoke(ComponentFilter.java:188). filter.ApplicationFilter.invoke(ApplicationFilter.java:374)在coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)在coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)在coldfusion.filter.PathFilter.invoke (pathFilter.java:94)在coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)a t coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28),位于coldfusion.filter的coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38),位于coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46). GlobalsFilter.invoke(GlobalsFilter.java:38)位于coldfusion.xml.rpc.CFC服务(冷却文件中),位于coldfusion.xml.rpc.CFCS服务网站上的coldfusion.xml.rpc.CFCServlet.invoke(CFCServlet.java:139) .doPost(CFCServlet.java:290)位于javax的org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)的javax.servlet.http.HttpServlet.service(HttpServlet.java:760). servlet.http.HttpServlet.service(HttpServlet.java:853)位于com.intergral.fusionreactor的jrun.servlet.FilterChain.doFilter(FilterChain.java:86)的coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) .filter.FusionReactorFilter.i(FusionReactorFilter.java:566)at com.intergral.fusionreactor.filter.FusionReactorFilter.c(FusionReactorFilter.jav)一:258)在com.intergral.fusionreactor.filter.FusionReactorFilter.doFilter(FusionReactorFilter.java:164)在jrun.servlet.FilterChain.doFilter(FilterChain.java:94)在coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter .java:42)在jrun.servlet.FilterChain.service(FilterChain.java:101)的jrun.servlet.FilterChain.doFilter(FilterChain.java:94)的coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)在jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)的jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)jrun.servlet. ServletEngineService.dispatch(ServletEngineService.java:543)在jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)在jrunx.scheduler.ThreadPool $ DownstreamMetrics.invokeRunnable(ThreadPool.java:320)在jrunx.scheduler.ThreadPool $ threadThrottle.invokeRunnable(ThreadPool.java:428)at jrunx.scheduler.Thr eadPool $ UpstreamMetrics.invokeRunnable(ThreadPool.java:266)at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
有没有更好的解决方案来避免这样的循环或解决此错误?
我在本地创建了一个cfm页面并在其中添加了一些变量,如下所示:
每次刷新此页面时,可用内存大小都会减少,直到我运行GC.我仍在试图弄清楚为什么会这样.对此有何建议?
请帮忙.提前致谢.