- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现当应用程序启动时,DestroyJavaVM 线程使用了 99% 的 cpu(大约一个 cpu 核心)。我找不到该线程的任何文档。 StackOverflow 中的一个答案说该线程除了加入其他非守护线程之外什么也不做。这让我很困惑为什么应用程序启动时它会使用这么多的CPU。我还发现一篇文章说DestroyJavaVM线程是其他线程的父线程,top命令将所有子线程的使用率累加到父线程。但是当我使用 pstree 命令显示 java 线程树时,情况并非如此。
最佳答案
DestroyJavaVM
不是一个单独的线程。它基本上是一个启动 VM 关闭的 Java 线程,即最后一个非守护程序应用程序线程,或者调用 System.exit()
的线程。
当 JVM 即将终止时,它将当前线程重命名为 DestroyJavaVM
并使用该线程启动关闭序列。
对于简单应用程序,当所有业务逻辑都是从 main
方法调用时,主线程将被重命名为 DestroyJavaVM
。 main
方法返回。您观察到的可能只是消耗 CPU 来完成其主要工作的主线程。
关于JAVA DestroyJavaVM线程CPU过高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61062002/
在分析我的应用程序时,我遇到了一个奇怪的行为 - DestroyJavaVM 线程始终在运行 - 100% 的时间。 在对这个主题做了一些研究之后,网上几乎没有任何有值(value)的信息,我所理解的
当退出我的 native C++ 应用程序时,我对 DestroyJavaVM() 进行了 JNI 调用,它挂起......一旦 Java 意识到资源不再被使用,应用程序最终将关闭(大约 10 - 1
我试图在调用 DestroyJavaVM 后调用 JNI_CreateJavaVM。 我按以下顺序调用它们:InitJVM -> ReleaseJVM -> InitJVM 第一次初始化时,JNI_C
在我自己的分析器上工作,我想解释一下我所看到的。即使在最简单的程序中,也会始终出现一些默认线程: 销毁JavaVM 信号调度器 终结器 引用处理程序 虽然他们的名字很自证,但我想了解更多信息。这些线程
我是一名优秀的程序员,十分优秀!