首页 / JAVA / java – 没有JIT优化
java – 没有JIT优化
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 没有JIT优化,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1776字,纯文字阅读大概需要3分钟。
内容图文
![java – 没有JIT优化](/upload/InfoBanner/zyjiaocheng/744/ce5e8ddb4de648589fe8af8a18136166.jpg)
代码:
class test
{
public static void main(String abc[])
{
for( int k=1; k<=3; k++)
{
for( int N=1; N<=1_000_000_000; N=N*10)
{
long t1 = System.nanoTime();
int j=1;
for(int i=0; i<=N; i++)
j=j*i;
long t2 = System.nanoTime() - t1;
System.out.println("Time taken for "+ N + " : "+ t2);
}
}
}
}
上面代码的输出:
Time taken for 1 : 2160
Time taken for 10 : 1142
Time taken for 100 : 2651
Time taken for 1000 : 19453
Time taken for 10000 : 407754
Time taken for 100000 : 4648124
Time taken for 1000000 : 12859417
Time taken for 10000000 : 13706643
Time taken for 100000000 : 136928177
Time taken for 1000000000 : 1368847843
Time taken for 1 : 264
Time taken for 10 : 233
Time taken for 100 : 332
Time taken for 1000 : 1562
Time taken for 10000 : 17341
Time taken for 100000 : 136869
Time taken for 1000000 : 1366934
Time taken for 10000000 : 13689017
Time taken for 100000000 : 136887869
Time taken for 1000000000 : 1368178175
Time taken for 1 : 231
Time taken for 10 : 242
Time taken for 100 : 328
Time taken for 1000 : 1551
Time taken for 10000 : 13854
Time taken for 100000 : 136850
Time taken for 1000000 : 1366919
Time taken for 10000000 : 13692465
Time taken for 100000000 : 136833634
Time taken for 1000000000 : 1368862705
在循环中,即使i的值从0开始,表示产品为零,也没有JIT优化.为什么不 ?
在上面提供的链接中,我之前将for循环放在JIT正在优化的方法调用中.是否将语句放在促进优化过程的方法中?
解决方法:
>在上一个问题中,JIT优化了方法开始的完整代码,而没有任何分析在方法返回时变量中出现的数字.这是因为你选择使你的方法无效,给JIT一个简单的线索,任何计算出的值都将被丢弃.
>将当前示例与上一个问题中的示例进行对比,没有调用void方法,因此自然不会进行优化.为什么没有其他优化可以帮助这个完全不同的案例是一个无法回答的问题.在specefic JVM实现和特定的JVM调用中没有这样的优化,您已经使用它来测试代码.
内容总结
以上是互联网集市为您收集整理的java – 没有JIT优化全部内容,希望文章能够帮你解决java – 没有JIT优化所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。