呵呵 很感谢olivesoup和xql80329的关心。这个问题现在有所进展。大幅削减了Log输出后,已经4天没有crash了。由于用了一个第三方的Log工具,当时不知道这个Log工具会向 标准输出 也输出Log。怀疑非常频繁的输出大量的Log到控制台上JVM的处理有问题(也怀疑本身频繁的输出大量的Log到文件中JVM的处理有问题)。(每1秒钟就输出170k的Log)。
是不是这个原因还不能最终确定(因为时间还不够长,不能保证真的没有问题了)。
另外,有一点信息也交流一下:
JDK1.6修改了大量垃圾收集器的问题,如果JDK1.5出现了垃圾收集器引起的crash,可以升级到JDK1.6试试。
不错,还有就是需要做ThreadDump看看。大量的IO是会导致性能问题的。
这个问题比较奇怪,虽说是jdk的一个bug
但查了很久仍为找到确切的解决办法,
现将我的解决过程讲一下:
1.EXCEPTION_ACCESS_VIOLATION ”意味着Java应用Crash的时候,正在运行JVM自己的代码,而不是外部的Java代码或其他类库代码
2.根据log信息中的
# Problematic frame:
# C [ntdll.dll+0x18fea]
可以判断是加载本地方法时出错.
但解决办法仍然没找到
我试着卸载jdk然后安装最新版本仍然存在。
后怀疑是软件冲突,发现没有问题的机器上安装的卡巴
有问题的安装的都是诺顿
于是卸载到诺顿后问题解决
看来有时候杀毒软件与jdk还真是不太兼容
解决方法:
卸载本机JDK,重启电脑后重新安装JDK,配置环境变量。