首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java开发实践小结1

2012-10-29 
java开发实践总结1代码一public static void main(String[] args) {// TODO Auto-generated method stubLo

java开发实践总结1
代码一
public static void main(String[] args) {
// TODO Auto-generated method stub
Long sum = 0L;//区别
long beginTime = System.currentTimeMillis();
for(long i=0; i<Integer.MAX_VALUE; i++)
{
sum += i;
}
long endTime = System.currentTimeMillis();
System.out.println(sum);
System.out.println("用时:" + (endTime - beginTime));
}

运行结果:
          2305843005992468481
         用时:63516

代码二
public static void main(String[] args) {
// TODO Auto-generated method stub
long sum = 0L;//区别
long beginTime = System.currentTimeMillis();
for(long i=0; i<Integer.MAX_VALUE; i++)
{
sum += i;
}
long endTime = System.currentTimeMillis();
System.out.println(sum);
System.out.println("用时:" + (endTime - beginTime));
}
运行结果:
          2305843005992468481
         用时:10594


两段代码除了sum的定义类型不一样,其他是一样的,但是效率上差很多,原因是sum类型为Long是包装类,每次循环就会创建新的实例,而sum为基本类型就不会。

总结:避免创建无用的对象 1 楼 willse 2011-06-27   总结的不错!不过这是JAVA基础.................... 2 楼 wkcgy 2011-06-27   这与java的内存模式有关吧,基本类型直接放在栈中,而实例化的Long的对象放在了堆中,在栈中保存这个对象的引用,是这么个情况吗? 3 楼 hong879113 2011-06-27   很经典 这应该是java基本类型与对象实例的效率的经典对比~ 4 楼 kingkan 2011-06-28   拆箱运算,再装箱赋值,装箱要新建对象,所以会耗时耗空间。

热点排行