1)运行一段时间以后,自动暂停。期间没有任何的交互,也不需要交互。
2)CPU开销为0. 内存开销130兆。我设定的xmx为800m,所以内存不是问题。
3)如果我在“假死”的命令行窗口里随便敲击某个键(例如空格或者回车),则程序再次活跃,CPU使用又变成正常的---5%左右。
4)补充说明,我的程序运行期间,不断地在打印一些运行时的日志信息。
请大家帮忙看看。这回是什么原因呢?应该不是线程死锁--因为我只开了一个线程。
9 个解决方案
#1
你是不是不小心用鼠标点了console?
#2
没点。我知道你说的意思,点一下暂停。可是我没点。
#3
有过类似的情况
说说我的
我的CMD是设置了快速编辑模式的,所以鼠标一点,程序就暂停了,然后敲回车,退出编辑状态,程序就能继续运行了。
如果你和我一样,
就把快速编辑模式去掉,进CMD的"属性","选项"选项卡上的"快速编辑模式"前面的勾去掉,然后重新开程序看看
说说我的
我的CMD是设置了快速编辑模式的,所以鼠标一点,程序就暂停了,然后敲回车,退出编辑状态,程序就能继续运行了。
如果你和我一样,
就把快速编辑模式去掉,进CMD的"属性","选项"选项卡上的"快速编辑模式"前面的勾去掉,然后重新开程序看看
#4
To o2cola:
我之前确实是“快速编辑模式”的。按照你的建议,我去掉了。现在更惨,连空格都没响应了。
我之前确实是“快速编辑模式”的。按照你的建议,我去掉了。现在更惨,连空格都没响应了。
#5
........人品了。。。
回车有用么?另外还会‘假死’?
回车有用么?另外还会‘假死’?
#6
在IDE中运行也是这样吗?
如果不是,那就是cmd的缓存区的问题。
如果不是,那就是cmd的缓存区的问题。
#7
有可能是cmd缓存区的问题
#8
首先用以下方法排除一下是不是楼上几位所说的:
如果cmd的标题栏叫"myApp",那么如果不小心点了console,标题栏会变成"Select myApp".
这样就可以看出是否锁住了console.
如果不是的话,贴点相关代码吧,是不是某个地方的代码调用了System.in.read之类的?
如果cmd的标题栏叫"myApp",那么如果不小心点了console,标题栏会变成"Select myApp".
这样就可以看出是否锁住了console.
如果不是的话,贴点相关代码吧,是不是某个地方的代码调用了System.in.read之类的?
#9
谢谢各位。应该是等待网络I/O的原因
#1
你是不是不小心用鼠标点了console?
#2
没点。我知道你说的意思,点一下暂停。可是我没点。
#3
有过类似的情况
说说我的
我的CMD是设置了快速编辑模式的,所以鼠标一点,程序就暂停了,然后敲回车,退出编辑状态,程序就能继续运行了。
如果你和我一样,
就把快速编辑模式去掉,进CMD的"属性","选项"选项卡上的"快速编辑模式"前面的勾去掉,然后重新开程序看看
说说我的
我的CMD是设置了快速编辑模式的,所以鼠标一点,程序就暂停了,然后敲回车,退出编辑状态,程序就能继续运行了。
如果你和我一样,
就把快速编辑模式去掉,进CMD的"属性","选项"选项卡上的"快速编辑模式"前面的勾去掉,然后重新开程序看看
#4
To o2cola:
我之前确实是“快速编辑模式”的。按照你的建议,我去掉了。现在更惨,连空格都没响应了。
我之前确实是“快速编辑模式”的。按照你的建议,我去掉了。现在更惨,连空格都没响应了。
#5
........人品了。。。
回车有用么?另外还会‘假死’?
回车有用么?另外还会‘假死’?
#6
在IDE中运行也是这样吗?
如果不是,那就是cmd的缓存区的问题。
如果不是,那就是cmd的缓存区的问题。
#7
有可能是cmd缓存区的问题
#8
首先用以下方法排除一下是不是楼上几位所说的:
如果cmd的标题栏叫"myApp",那么如果不小心点了console,标题栏会变成"Select myApp".
这样就可以看出是否锁住了console.
如果不是的话,贴点相关代码吧,是不是某个地方的代码调用了System.in.read之类的?
如果cmd的标题栏叫"myApp",那么如果不小心点了console,标题栏会变成"Select myApp".
这样就可以看出是否锁住了console.
如果不是的话,贴点相关代码吧,是不是某个地方的代码调用了System.in.read之类的?
#9
谢谢各位。应该是等待网络I/O的原因