htmlunit out of memoery error:java heap space
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了htmlunit out of memoery error:java heap space,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3566字,纯文字阅读大概需要6分钟。
内容图文
程序 WebClient webClient = new WebClient(BrowserVersion.CHROME); webClient.getOptions().setJavaScriptEnabled(false); webClient.getOptions().setCssEnabled(false); HtmlPage page; try { page = webClient.getPage("http://www.taolife.com.cn/"); System.out.print(page.asText()); } catch (FailingHttpStatusCodeException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
bug:
1Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at java.lang.Class.getDeclaredFields0(Native Method) at java.lang.Class.privateGetDeclaredFields(Class.java:2583) at java.lang.Class.getField0(Class.java:2975) at java.lang.Class.getField(Class.java:1701) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.configureConstants(JavaScriptEngine.java:612) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.init(JavaScriptEngine.java:271) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.access$000(JavaScriptEngine.java:105) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$1.run(JavaScriptEngine.java:173) at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:628) at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:513) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.initialize(JavaScriptEngine.java:184) at com.gargoylesoftware.htmlunit.WebClient.initialize(WebClient.java:1008) at com.gargoylesoftware.htmlunit.WebWindowImpl.setEnclosedPage(WebWindowImpl.java:135) at com.gargoylesoftware.htmlunit.html.FrameWindow.setEnclosedPage(FrameWindow.java:105) at com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:221) at com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml(HTMLParser.java:199) at com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:272) at com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:160) at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:476) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:350) at com.gargoylesoftware.htmlunit.html.BaseFrameElement.loadInnerPageIfPossible(BaseFrameElement.java:184) at com.gargoylesoftware.htmlunit.html.BaseFrameElement.loadInnerPage(BaseFrameElement.java:122) at com.gargoylesoftware.htmlunit.html.HtmlPage.loadFrames(HtmlPage.java:1945) at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:227) at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:483) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:350) at com.gargoylesoftware.htmlunit.html.BaseFrameElement.loadInnerPageIfPossible(BaseFrameElement.java:184) at com.gargoylesoftware.htmlunit.html.BaseFrameElement.loadInnerPage(BaseFrameElement.java:122) at com.gargoylesoftware.htmlunit.html.HtmlPage.loadFrames(HtmlPage.java:1945) at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:227) at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:483) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:350)
修改运行参数:-Xms1024m -Xmx1024m,依旧报错。
修改
webClient.getOptions().setJavaScriptEnabled(false);
程序正常运行;
分析:
估计htmunit采用的javascript解析器存在问题,陷入死循环耗尽内存;
因项目时间问题,暂时采集true方案,回头用内存监控工具 jconsole或者eclipse memoery analyzer找出是哪个模块出问题。
原文:http://my.oschina.net/u/856051/blog/502775
内容总结
以上是互联网集市为您收集整理的htmlunit out of memoery error:java heap space全部内容,希望文章能够帮你解决htmlunit out of memoery error:java heap space所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。