linux jxl 严重消耗内存,造成整个系统卡死状态

YH555 2013-07-08 02:13:51
有了解或遇到过的童鞋请指教哈。。。

jxl关于内存消耗的一些问题
现项目中有用jxl做数据导入操作,但是导入时发现整个系统不稳定,只要进行导入操作时就会出现整个系统运行造成堵塞卡死现象,这个现在维持在导入完成之后才恢复正常!
后通过打印日志,发现两个地方验证耗时,
1、workbook = Workbook.getWorkbook(new FileInputStream(path)); 就这一句代码,正式服务器会耗时5~8秒不等;
2、workbook.close(); 关闭 workbook用时:9~12秒不等;

正式服务器是linux, 但是在测试服务器测试(同正式服务器环境一致,就防火墙不一样)并未发现此问题, 本地windows环境也未发现此问题,这两个地方用时都大约在1秒左右!
为什么正式服务器会耗时这么严重?? 导入时通过内存监听查看内存消耗一下猛涨很多。。。

有了解或遇到过的童鞋请指教哈。。。 估计大概跟什么有影响, 在这先谢谢了!

部分代码:
long getd = System.currentTimeMillis();
workbook = Workbook.getWorkbook(new FileInputStream(path));// 耗时严重 5~8秒不等;
Sheet sheet = workbook.getSheet(0);
int rows=sheet.getRows();
for (int i = 1; i < rows; i++) {
//读取exce保存至 集合中

}

......

if(workbook!=null){
workbook.close();//关闭操作, 耗时严重 9~12秒不等;
workbook=null;
}

...全文
272 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
YH555 2013-07-24
  • 打赏
  • 举报
回复
感谢大家, 最后换成poi组件问题就解决了, 具体原因未找到, 可能是系统环境某些配置有关。。
YH555 2013-07-11
  • 打赏
  • 举报
回复
自己顶下!!!
okafor2011 2013-07-11
  • 打赏
  • 举报
回复
可能文件过大,使用POI使用流方式读取数据,很快 10万行无压力(Excel 2007)
无聊找乐 2013-07-11
  • 打赏
  • 举报
回复
正式环境数据量更大?
YH555 2013-07-09
  • 打赏
  • 举报
回复
http监听 在导入时很多会超时报错! 服务器我们有局域网IP访问,所有操作都是局域网ip进行,不会涉及网络传输与带宽问题。
调皮的芋头 2013-07-09
  • 打赏
  • 举报
回复
你可以检查 测试服务器 服务器测试的文件(excel)是否是本地文件,正式服务器 导入的文件是否在本地(还是网络文件)?对于传输而言,本地肯定比网络传输要快,因为本地传输无任何限制,而网络传输与带宽网速有关
  • 打赏
  • 举报
回复
耗时而已?不报错?
YH555 2013-07-08
  • 打赏
  • 举报
回复
是耗时, 但为什么服务器跟本地会有这么大区别, 服务器配置比本地好N倍啊!
失落夏天 2013-07-08
  • 打赏
  • 举报
回复
别的不敢多说 只是觉得读excel表其实是蛮耗内存的

81,122

社区成员

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

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