关于 tomcat+myeclipse 运行项目时Java heap space 问题

zzzz-bk 2018-02-07 12:46:43
今天遇到了这样的问题
二月 07, 2018 12:27:31 上午 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor doRun
严重:
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2367)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:130)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:114)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:415)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.lang.StringBuilder.append(StringBuilder.java:128)
at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:511)
at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:334)
at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235)
at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164)
at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130)
at org.apache.struts2.json.JSONWriter.array(JSONWriter.java:425)
at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:154)
at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130)
at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336)
at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235)
at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164)
at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130)
at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336)
at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235)
at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164)
at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130)
at org.apache.struts2.json.JSONWriter.array(JSONWriter.java:425)
at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:154)
at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130)
at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336)
at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235)
at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164)
at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130)
at org.apache.struts2.json.JSONWriter.array(JSONWriter.java:425)
at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:154)
at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130)
---------------------------------------------------------------------------------------------------------------------------------
引起上述错误的句子应该是这里
var TableInit = function() {
var oTableInit = new Object();
//初始化Table
oTableInit.Init = function() {
$('#tb_courses').bootstrapTable({
url : 'json/getCourseAllAsJson', //请求后台的URL(*)
method : 'get', //请求方式(*)
toolbar : '#toolbar', //工具按钮用哪个容器
striped : true, //是否显示行间隔色
cache : false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination : true, //是否显示分页(*)
sortable : false, //是否启用排序
sortOrder : "asc", //排序方式
queryParams : oTableInit.queryParams,//传递参数(*)
sidePagination : "server", //分页方式:client客户端分页,server服务端分页(*)
pageNumber : 1, //初始化加载第一页,默认第一页
pageSize : 10, //每页的记录行数(*)
pageList : [ 10, 25, 50, 100 ], //可供选择的每页的行数(*)
search : false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
strictSearch : true,
showColumns : true, //是否显示所有的列
showRefresh : true, //是否显示刷新按钮
minimumCountColumns : 2, //最少允许的列数
clickToSelect : true, //是否启用点击选中行
height : 500, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
uniqueId : "ID", //每一行的唯一标识,一般为主键列
showToggle : true, //是否显示详细视图和列表视图的切换按钮
cardView : false, //是否显示详细视图
detailView : false, //是否显示父子表
columns : [ {
radio : true
}, {
field : 'id',
title : '课程编号'
}, {
field : 'teacher.id',
title : '教师编号'
}, {
field : 'teacher.name',
title : '教师姓名'
},{
field : 'classInfo.id',
title : '班级编号'
}, {
field : 'name',
title : '课程名称'
}, {
field : 'requireTime',
title : '要求课时'
}, {
field : 'startWeek',
title : '开课周'
}, {
field : 'totalWeek',
title : '总周数'
} ]
});
};

//得到查询的参数
oTableInit.queryParams = function(params) {
var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
"pageUtil.pageSize" : params.limit, //页面大小
"pageUtil.currpageNum" : params.offset, //页码
"courseVO.course_name" : $("#search_course_name")
.val(),
"courseVO.class_id" : $("#search_class_id").val(),
"courseVO.teacher_name" : $("#search_teacher_name")
.val()
};
return temp;
};
return oTableInit;
};
我前端有一个bootstrap-table,需要初始化,在别的页面也有bootstrap-table,但是不会报错,而且这里的数据量也不大,就26条
--------------------------------------------------------------------------------------------------------------------------
网上查了很久,都说是jvm内存不足的问题,但是我尝试了一下各种方法,都没能解决,而且最奇怪的是,中午的时候还没有报错的,但是运行到晚上的时候就开始报错了,重启电脑也没用
--------------------------------------------------------------------------------------------------------------------------
myeclipse中解决 java heap space 的方法

问题:在myeclipse中运行项目时控制台出现java.lang.OutOfMemoryError: Java heap space的错误

解决方法:

1、打开window-->Preferences-->Java-->Installed JREs

2、选择当前的JRE,然后点击edit按钮编辑该JRE

3、在Edit JRE窗口中设置Default VM Arguments为 -Xms512M -Xmx512M 即可(这个设置对所有的工程都有效)
-----------------------------------------------------------------------------------------------------------------------------------------------------
关于java.lang.OutOfMemoryError: Java heap space和java.lang.OutOfMemoryError: PermGen space解决方案

eclipse/myeclipse都可行方法:

window系统的修改TOMCAT_HOME/bin/catalina.bat(Linux下为catalina.sh),在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
set JAVA_OPTS=%JAVA_OPTS% -server -Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=512m
---------------------------------------------------------------------------------------------------------------------------------------------------------
Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的



Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m
---------------------------------------------------------------------------------------------------------------------------------------------------------
...全文
1949 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzzz-bk 2018-02-07
  • 打赏
  • 举报
回复
总算是想通了,果然是我后台发到前端的数据太大导致的,hibernate中course和courseRank是一对多的关系,而我把default-lazy设置成了false,同时数据库中courseRank有127条数据,导致了发送到前端的数据激增,而我给tomcat加的那点内存根本不够用
zzzz-bk 2018-02-07
  • 打赏
  • 举报
回复
绝了,又跑了一段时间之后,它又好了,我觉得根本没解决问题

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧