小问题?大问题?java.lang.IllegalStateException

一、发现问题

最近接到维护同事的通知说有个java写的软件不能正常运行了,拿来日志发现是以下异常:

 java.lang.IllegalStateException: Current state = FLUSHED, new state = CODING_END

INFO   | jvm 1    | 2010/11/26 00:01:25 | at java.nio.charset.CharsetEncoder.throwIllegalStateException(CharsetEncoder.java:933)
INFO   | jvm 1    | 2010/11/26 00:01:25 | at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:529)
INFO   | jvm 1    | 2010/11/26 00:01:25 | at sun.nio.cs.StreamEncoder$CharsetSE.flushLeftoverChar(StreamEncoder.java:358)
INFO   | jvm 1    | 2010/11/26 00:01:25 | at sun.nio.cs.StreamEncoder$CharsetSE.implClose(StreamEncoder.java:414)
INFO   | jvm 1    | 2010/11/26 00:01:25 | at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:160)
INFO   | jvm 1    | 2010/11/26 00:01:25 | at java.io.OutputStreamWriter.close(OutputStreamWriter.java:222)
 
二、分析问题
 
(1)第一感觉是编码问题,将该软件在本机运行发现一切正常。检查源码中的中文,未发现异常字符,且可以在本机正常输出中文字符。
(2)难道是病毒惹的祸?运行环境是在局域网中运行的,而且有严格的管理规定,还有杀毒软件把关,这个可能性基本可以排除。
(3)检查该软件所在的硬盘分区,发现该分区剩余空间几乎为零。原来是这样,该软件运行需要记录运行信息到日志文件,由于异常日志信息是没有及时清除造成磁盘空间被占满不能让软件写日志,从而导致软件无法启动。
 
三、解决问题
 
清除一些无用的日志文件后,软件可以正常启动,记录日志信息,问题解决。
 
四、总结
 
  发现该问题后,在网上查找了很多资料,发现这方面的资料较少,而且讲的比较深,没想到竟然是这样一个“小”问题。经过这次问题的解决过程,我觉得软件开发过程不仅需要学习新技术新方法,同样需要在不断解决这类“小”问题的过程中积累经验,这样才能提高自己的能力,才能有实力解决“大”问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值