java编译运行过程---学习笔记,请指正

1、java 的编译过程由javac来执行,在.java文件中编写的源代码,会经过词法分析,语法分析,填写符号表,语义分析,以及最后的编译过程形成.class的字节码文件。

2、Java的运行过程:

虚拟机在拿到.class字节码文件以后,解释器解释执行字节码,由JIT来编译解释后的代码,以此确定哪些属于热点代码,使用的监测方法是通过计数器来完成,监测的最小单位是方法。假设方法FUN(),JIT碰到该方法时候,首先查看该方法在本地代码是否有JIT编译后的版本,如有,直接执行本地代码,如没有,方法调用计数器数值+1。计算回边计数器数值与方法调用计数器的数值和是否超过设定的阈值,如未超过,解释方法执行;如果超过,该方法仍按照解释方式执行,同时发送OSR请求,JIT在后台线程启动该方法的编译,生成本地代码。

热点代码:都是以方法作为编译对象。

1、频繁被调用的方法FUN();

2、循环体中的代码块。

发布了9 篇原创文章 · 获赞 3 · 访问量 2363

猜你喜欢

转载自blog.csdn.net/qq_35850405/article/details/88920702