java代码运行机制
引言:“ 老师说:现在的主流框架是.net和Jvm,而由于我们学习Java已经有一段时间了,所以就以java举例子. ”
我们都知道java的源代码在javac.exe这个翻译工具编译后生成一个.class文件,而这个.class文件再在java.exe上执行,可是这个.class的字节码却不被任何平台直接识别,执行,可是java针对不同平台提供的java虚拟机的字节码指令都是相同的.然后这个.class的字节文件就会在jre(java运行环境)上执行,所以java也是跨平台的。
这个.class文件对JRE来说就是机器码,然后在JRE上执行后,JRE会给CPU发指令,让CPu执行某种操作
总结一下:就是java源代码经javac翻译后的得到的.class文件,是在JRE上运行,给CPU发消息,CPU在执行某种操作的, 这就实现了跨平台了,
如图:
而且程序运行时不是一直运行的,CPu会休息一下在运行的,也就是多任务的运行机制,实现多任务:
1,是由于CPu的运算速度快,2,就是现在的CPu个数增加了,可是 Cpu怎么知道什么时候执行什么命令呢?
在系统中有一个消息队列,用来保存即将执行的命令,Cpu会在这个队列里面得到消息,在执行的,当.class文件在JRE里面执行时,JRE也发消息的,在消息队列里面保存,然后在让CPu执行,执行后消息就past了
以上就是我了解的java代码运行机制,如果有什么错误,亲们,就赶紧对我讲,我也改的,