请看例子:
public class LongPerformanceTest { public static void main(String[] args) { Long sum = 0L; long start = System.currentTimeMillis(); for (long i=0; i<Integer.MAX_VALUE; i++) { sum += i; } long end =System.currentTimeMillis(); System.out.println("The calculation time is: " + (end -start)/1000); System.out.println(sum); } }
只要将Long改成long,程序运行时间将从23s减少到5s左右.
结论: 变量反复的装箱拆箱会导致性能下降..一般来说除非只能使用装箱类型比如JAVA集合中元素的键,值等等,否则应该直接使用基本类型
相关推荐
第四部分讲解了程序的编译与代码的优化,阐述了泛型、自动装箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果...
另外,如果实例会被频繁地用于Hashtable或者ArrayList之类的集合中,这些类会对其中的值类型变量进行装箱操作,这也 会导致额外的内存分配和内存拷贝操作,从应用程序性能方面来看,其实也不划算。 哦对了,上面提到...
红 - 黑树中的节点要求每个条目的指针(加1位),而B-树平均每个条目使用不到一个指针,从而导致显着地节省内存。例如,一组具有为每4个字节的组元素(第一个32位的操作系统)的16个字节的开销;的对应btree_set有一...
/ 259 10.2.2 解析与填充符号表 / 262 10.2.3 注解处理器 / 264 10.2.4 语义分析与字节码生成 / 264 10.3 Java语法糖的味道 / 268 10.3.1 泛型与类型擦除 / 268 10.3.2 自动装箱、拆箱与遍历循环 / 273 10.3.3...
20.11 异常处理的性能问题 20.12 约束执行区域(CER) 20.13 代码契约 第21章 自动内存管理(垃圾回收) 21.1 理解垃圾回收平台的基本工作原理 21.1.1 从托管堆分配资源 21.2 垃圾回收算法 21.3 垃圾回收与调试 ...
20.11 异常处理的性能问题 20.12 约束执行区域(CER) 20.13 代码契约 第21章 自动内存管理(垃圾回收) 21.1 理解垃圾回收平台的基本工作原理 21.1.1 从托管堆分配资源 21.2 垃圾回收算法 21.3 垃圾回收与调试 ...
20.11 异常处理的性能问题 20.12 约束执行区域(CER) 20.13 代码契约 第21章 自动内存管理(垃圾回收) 21.1 理解垃圾回收平台的基本工作原理 21.1.1 从托管堆分配资源 21.2 垃圾回收算法 21.3 垃圾回收与调试 ...
20.11 异常处理的性能问题 20.12 约束执行区域(CER) 20.13 代码契约 第21章 自动内存管理(垃圾回收) 21.1 理解垃圾回收平台的基本工作原理 21.1.1 从托管堆分配资源 21.2 垃圾回收算法 21.3 垃圾回收与调试 ...
这种抖动多发于网络边界处(SDH/PDH),其频率低、幅度大,会导致低 速信号在拆 出后性能劣化,这种抖动的滤除会相当困难。 3. 软件的大量使用对系统安全性的影响 SDH的一大特点是OAM的自动化程度高,这也意味着软件在...
这种抖动多发于网络边界处(SDH/PDH),其频率低、幅度大,会导致 低速信号在拆 出后性能劣化,这种抖动的滤除会相当困难。 3. 软件的大量使用对系统安全性的影响 SDH的一大特点是OAM的自动化程度高,这也意味着软件...
·一库:为防止数据丢失、数据灾难、数据崩溃,一卡通系统数据由高性能服务器统一存 贮。并可通过双机热备技术来确保数据安全。 ·一中心:为防止多次发卡,多次注销所带来的不便、数据不一致。在一卡多用的系统中, ...
14.4 继承中关于属性的一些问题.169 14.5 小 结 .172 第四部分 深入了解 C#.174 第十五章 接 口 .174 15.1 组件编程技术 .174 15.2 接 口 定 义 .177 15.3 接口的成员 .178 15.4 接口的实现 .182 ...