java.lang.NoClassDefFoundError:多次使用程序后发生

我有一个从Docker容器运行的服务,它运行了大约一个小时左右,然后突然抛出一个java.lang.NoClassDefFoundError。 看完这些错误之后,它似乎在初始化中经常出现问题,但是我的服务一开始就运行良好 – 包括使用突然找不到的类! 事实上,这个特定的类需要被初始化,以便服务正确启动。 这是一个在Spring上运行的multithreading应用程序。

一个class上课后失踪的原因是什么?

弄清楚了!

这是一个奇怪的记忆问题。 垃圾收集器正在挑选和删除我的程序正在寻找的类。 它会启动并运行良好,但一旦闲置30分钟左右,GC就会摧毁所需的类。 Womp! 给我的程序更多的记忆,现在它像梦一样运作。

Interesting Posts