import java.io.IOException;
public class demo1 {
public static void main(String[] args) throws IOException {
System.in.read();
}
}
运行后发现,程序发送了阻塞
并且我们可以发现,这里编译器是使用了java.exe来启动了这个程序
并且在当前的进程列表会显示这个进程
发现这里有3个Java进程,但是到底哪一个才是我们的Java进程呢
我们可以使用jps命令进行查看
发现id为1976的进程名是demo1,和我们的类名一样,所以这个就是我们正在启动的Java进程
并且Java虚拟机不仅仅可以运行Java程序,还可以运行其他语言的程序,比如kotlin
🛸Java虚拟机有什么用
为了支持Java中,编写一次,到处运行的跨平台的特性
🌹Java虚拟机的功能
下面来讲解一下什么是jvm的即时编译
我们来看下面这段代码
java复制代码
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;
}
}