【JVM篇】什么是jvm-LMLPHP

🍔什么是Java虚拟机

JVM指的是Java虚拟机,本质上是一个运行在计算机上的程序,可以运行 Java字节码文件,可以运行Java,kotlin,Scala,groovy等语言

比如我们编写并运行一个Java程序,在进程中就能够看到

import java.io.IOException;

public class demo1 {
    public static void main(String[] args) throws IOException {
        System.in.read();
    }
}

运行后发现,程序发送了阻塞

并且Java虚拟机不仅仅可以运行Java程序,还可以运行其他语言的程序,比如kotlin

🛸Java虚拟机有什么用

为了支持Java中,编写一次,到处运行的跨平台的特性
【JVM篇】什么是jvm-LMLPHP

🌹Java虚拟机的功能

【JVM篇】什么是jvm-LMLPHP
下面来讲解一下什么是jvm的即时编译

public class demo2 {
    public static void main(String[] args) {
        long start=System.currentTimeMillis();

        demo2 test=new demo2();
        test.jitTest();

        long end=System.currentTimeMillis();
        System.out.println("耗时:"+(end-start)+"ms");
    }

    public int add(int x, int y){
        return x+y;
    }

    public int jitTest(){
        int sum=0;
        for(int i=0;i<100000000;i++){
            sum+=add(i, i);
        }
        return sum;
    }
}

默认情况是打开即时编译的
【JVM篇】什么是jvm-LMLPHP


执行后发现,耗时比之前多了
【JVM篇】什么是jvm-LMLPHP

🎈Java虚拟机的组成

jvm组成分为类加载子系统,运行时数据区,执行引擎,本地接口这四部分
【JVM篇】什么是jvm-LMLPHP


【JVM篇】什么是jvm-LMLPHP

02-14 11:25