- 已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
3天前关闭。
Improve this question
`Exception in thread "Thread-8" java.lang.StackOverflowError
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
'''
'''
'''
'''
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at io.netty.channel.nio.NioEventLoop.newTaskQueue0(NioEventLoop.java:279)
at io.netty.channel.nio.NioEventLoop.newTaskQueue(NioEventLoop.java:150)
at io.netty.channel.nio.NioEventLoop.\<init\>(NioEventLoop.java:138)
at io.netty.channel.nio.NioEventLoopGroup.newChild(NioEventLoopGroup.java:146)
at io.netty.channel.nio.NioEventLoopGroup.newChild(NioEventLoopGroup.java:37)
at io.netty.util.concurrent.MultithreadEventExecutorGroup.\<init\>(MultithreadEventExecutorGroup.java:84)
at io.netty.util.concurrent.MultithreadEventExecutorGroup.\<init\>(MultithreadEventExecutorGroup.java:58)
at io.netty.channel.MultithreadEventLoopGroup.\<init\>(MultithreadEventLoopGroup.java:52)
at io.netty.channel.nio.NioEventLoopGroup.\<init\>(NioEventLoopGroup.java:96)
at io.netty.channel.nio.NioEventLoopGroup.\<init\>(NioEventLoopGroup.java:91)
at io.netty.channel.nio.NioEventLoopGroup.\<init\>(NioEventLoopGroup.java:72)
at io.netty.channel.nio.NioEventLoopGroup.\<init\>(NioEventLoopGroup.java:52)
at handling.mina.ServerConnection.\<init\>(ServerConnection.java:36)`
执行以下代码时会报告错误
this.bossGroup = (EventLoopGroup)new NioEventLoopGroup(1);
问题存在于部署时,在IDEA中运行时不存在Java版本为"1. 8. 0_351",在其他版本中似乎不存在问题谁知道是什么问题?
1条答案
按热度按时间kulphzqa1#
在jvm选项中将堆栈大小从
-Xss=256k
调整为-Xss=512K
,您可能需要增加堆栈空间。java.lang.StackOverflowError
是一个运行时错误,该错误指示应用程序堆栈在有限次递归调用后未终止。由于从未满足基本条件,因此递归将无限继续。通常发生在应用程序堆栈持续增长直到达到最大限制时。
A
示例化类B
的对象,后者又示例化类A
的对象。例如
方法
print()
导致无限递归,您可以在堆栈跟踪中将其检查为(...java:3, ...java:4)
。当您确定导致错误的位置时,需要设置适当的条件以避免错误。另外,类路径上可以有多个版本的netty。请确保只有一个版本。
那么你的应用应该看起来像这样: