java 检测代码

标签 java jvm instrumentation

我在使用仪器方面只有特定于用户的经验(一些使用 powermock 进行模拟,一些在 VisualVM、chronon 记录服务器中进行分析)。

在许多情况下,当我在运行一段时间的 jvm 上使用检测时,会出现 jvm 崩溃。当我在 jvm 启动后对其进行检测时,崩溃频率要少得多。我认为现有的类实例、调用堆栈等存在一些问题(但这只是我的恕我直言)。 这就是为什么我觉得仪器如此不可靠:(。

那么检测何时运行有什么一般规则吗?或者我可能做错了什么,并且有神奇的 jvm cmd 参数可以避免崩溃?

最佳答案

可能的原因

  1. 内存不足(可能在添加代理时忽略了之前的设置)
  2. 您有一些类被混淆,导致 BCI 库失败,从而导致一系列其他问题
  3. JNI native 代码库

如果您的 jvm 崩溃在使用分析器时更加明显,那么它看起来更像是内存设置...检查当您更改代理脚本时堆设置会发生什么情况...也许添加更多堆

关于java 检测代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11025707/

相关文章:

java - 在 block 中连续使用相同的方法会重新计算该方法吗?

c# - 我如何计算垃圾收集在 C# 中花费的时间?

java - 如何同时使用导航规则和 f :ajax

java - 关闭读写器的异常处理

Java - 未合并的字符串

java - 创建一个 File 对象会创建一个物理文件还是触及 JVM 之外的任何东西?

java - 在 Java 中删除前导零

java - "switch case"已经存在,为什么还要学习 "if else"

java - 检测、通知和同步的含义

java - OSGi 容器 KARAF 中的仪表