1. java 代码的运行效率是由Java虚拟机决定,还是由我们的PC速度决定
运行效率分两个部分,一个是编译的效率,一个是执行的效率。
编译的效率是由jvm和pc两部分影响的,编译后的class文件的执行速度就完全由pc决定了,这个和你的代码中是否有循环没有直接关系,执行所耗费的时间是按照计算机计算一个二进制基础运算的基础来衡量的。这里面还有class文件解释成机器码的时间,这个就是按语句的多少来算了,因为java是逐行逐句解释的。所以我们说class文件的运行时间也包含了class文件解释成机器码的时间。
不过java运行效率再快,也没有c代码快,这个不是说c代码精炼就运行快的原因。
java代码通过jvm编译成class文件,这时候还不能说是编译成机器码了,class码呢还是一种中间码,还需要被解释成机器码,这也是为什么java是跨平台的语言的原因。而c代码,只需要直接一次性编译成机器码就可以了。这也是为什么在某种平台下写的c代码不能再跨平台的原因。
希望我已经解释清楚了。
2. 应用编译优化三种模式
应用编译优化三种模式分别是:编译时间优化模式、执行时间优化模式和代码大小优化模式。
1、编译时间优化模式:关注编译速度的提升,以缩短应用程序高脊的编译时间为目标。在这种模式下,编译器会减少编译时间,会降低应用程序的执行效率。
2、执行时间优化模式:关注应用程序的执行效率,以提高应用程序的性能为目标。在这种模式下,编译器会优化应用程序的代码,以提高执行效率,会增加编译时间。
3、代码大小优化模式:关注应用程序的大小,以减小应兆培用程序的体积为目标。族念唯在这种模式下,编译器会减小应用程序的代码大小,以减小应用程序的体积,会降低应用程序的执行效率。