【jvm】jvm 编译日志出现 timestamp compile_id COMPILE SKIPPED: reason

在这里插入图片描述

1.概述

背景参考:【jvm】java jstat 命令

如果编译日志包括类似下面这行信息:

timestamp compile_id COMPILE SKIPPED: reason

这行信息(包括文本文字 COMPILE SKIPPED)表示编译给定的方法有错误。出现这个错可能有以下两种原因。

1. 代码缓存满了

需用 ReservedCodeCache 标志增大代码缓存的大小。

2. 编译的同时加载类

编译类的时候会发生修改。 JVM 之后会再次编译,你可以在之后的日志中看到方法被再次编译。

在所有这些情况(除了代码缓存被填满)中,编译都可以再次尝试。如果不能,说明代码编译出了错。虽然通常是编译器的缺陷,但常用的解决方法是将代码重构得更简单,以使编译器能够处理。

猜你喜欢

转载自blog.csdn.net/qq_21383435/article/details/114948568
今日推荐