码迷,mamicode.com
首页 > 编程语言 > 详细

关于使用JAVA正则表达式报java.lang.StackOverflowError错误问题

时间:2016-11-29 11:40:17      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:分数   oop   数据   lan   部分   表达   java正则表达式   测试   正则表达式   

 最近在使用hadoop做apache日志分析,发现测试数据没问题,但数据一多就出问题,报

java.lang.StackOverflowError错误,最后定位为正则表达式栈溢出,发现某些行的日志数据长度超过了800,所以就会报这个错误,

最后的解决方案是把这一小部分数据舍去掉。

添加如下代码

 

String log = value.toString();

if(log.length()>=800)
  return;

在map阶段读入每一行的时候先判断这一行的长度,如果长度超过了800就不对这一行进行处理。

关于使用JAVA正则表达式报java.lang.StackOverflowError错误问题

标签:分数   oop   数据   lan   部分   表达   java正则表达式   测试   正则表达式   

原文地址:http://www.cnblogs.com/duking1991/p/6112860.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!