java的int类_Java与int和其他整数类型的行为

实际上我认为这是编译器的编译器优化技术.我不认为它是“Java行为”,它是我们正在谈论的特定Java编译器的行为.

Java自身的行为在Java语言规范中指定,而for-loop specification没有指定int或long类型变量的优化.

对于当前的“官方”编译器,它可能会或可能不会在将来优化长类型的增量变量.

——————————–优化实验

我运行了以下两个程序:

计划1(永远运行):

public static void main( String[] args )

{

long counter = 0L;

int j;

for( int i = 0 ; i <= 1000000000 /* 9 zeros */ ; i++ )

for( j = 0 ; j <= 1000000000 /* 9 zeros */ ; j++ )

counter++;

System.out.println( "Finished" + counter);

}

计划2(立即完成):

public static void main( String[] args )

{

long counter = 0L;

int j;

for( int i = 0 ; i <= 1000000000 /* 9 zeros */ ; i++ )

for( j = 0 ; j <= 1000000000 /* 9 zeros */ ; j++ )

counter++;

System.out.println( "Finished");

}

因此,编译器会检测嵌套循环外是否有任何可见的更改,如果没有,它基本上会跳过内部循环.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值