【发布时间】:2016-08-08 19:27:17
【问题描述】:
我有一个 java 进程,我启动并运行了几天。这个进程的日志看起来很好,直到进程生命周期的最后我看到以下两行,然后什么都没有。
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
应该有一些在进程结束时执行的关闭逻辑,但是这两条日志行是我所看到的。
这个std::bad_alloc 错误的原因是什么?我看过其他几篇关于这个错误的帖子,但它们都来自 C++ 程序员,而我使用的是 Java,而不是 C++。这是否表明 JVM 中存在错误,或者是某些 JVM 相关错误(例如 OutOfMemoryError)的结果?
【问题讨论】:
-
您的代码是否使用了一些用 c/c++ 编写的 dll 或类似的库??
-
听起来像是小内存泄漏,操作系统告诉 jvm 尝试分配内存时出现问题。