Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何避免jvm在jvm容器中运行编译器线程_Java_Multithreading_Jvm - Fatal编程技术网

Java 如何避免jvm在jvm容器中运行编译器线程

Java 如何避免jvm在jvm容器中运行编译器线程,java,multithreading,jvm,Java,Multithreading,Jvm,如何避免jvm在jvm容器中运行编译器线程 "C1 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007fb2980cc000 nid=0x440e waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007fb2980be

如何避免jvm在jvm容器中运行编译器线程

"C1 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007fb2980cc000 nid=0x440e waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007fb2980be800 nid=0x440d waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

这些线程来自热点编译器。如果您想在线程转储中删除它们,请以
java-Xint…
的形式启动应用程序

请注意,之后可能会运行缓慢。;-)

编辑以使其清晰。禁用JIT编译器不是您想要做的事情。此时,字节码将在
解释模式下执行,而不是在平台的
编译代码模式下执行。看

用于演示的小片段

public class Jit {
    public static void main(String[] args) {
        long start = System.currentTimeMillis();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < 10_000_000; i++) {
            sb.append(' ');
        }
        long end = System.currentTimeMillis();
        System.out.println("length = " + sb.length());
        System.out.println("duration: " + (end - start));
    }
}
以解释模式运行

java -Xint Jit
length = 10000000
duration: 3495

可以威尔!一个数量级@斯蒂芬斯,我知道。因此微笑。我知道你知道。但是OP可能不会“理解”你的幽默。@StephenC说得有道理。我添加了更多的解释和一个小片段进行演示。为什么要避免它们?
java -Xint Jit
length = 10000000
duration: 3495