admin 管理员组文章数量: 1087709
Java 无意识自动装箱严重消耗性能
Java 无意识自动装箱严重消耗性能。
根据《effective java》书中所写,我测试了以下的简单例子。
package com.mwq.number;public class Test {public static void main(String[] args) {long time1 = System.currentTimeMillis();long sum = 0L;for (int i = 0; i < Integer.MAX_VALUE / 2; i++) {sum += i;}System.out.println(sum);long time2 = System.currentTimeMillis();System.out.println(time2 - time1);Long sum1 = 0L;for (int i = 0; i < Integer.MAX_VALUE / 2; i++) {sum1 += i;}System.out.println(sum);long time3 = System.currentTimeMillis();System.out.println(time3 - time2);}}
例子很简单,看看Long和long在+i的时候到底有多大的区别,花费的时间是如何的。
看结果,由于我电脑计算0到Integer.MAX_VALUE 的运算速度太慢,所以就只取了一半的量。
576460750692810753
1903
576460750692810753
10939
差了一个数量级!!!!!!!!!
sum在被声明为Long而不是long的时候,就会创造N(具体多少个N,我还真不知道,书中说的是2的31次方,显然我的不是)多个Long实例!
总结:自动装箱发生的太频繁的话,严重消耗性能。
本文标签: Java 无意识自动装箱严重消耗性能
版权声明:本文标题:Java 无意识自动装箱严重消耗性能 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1687416245a100106.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论