小提示——避免不必要的自动装箱、拆箱
来源:互联网 发布:java开源周报管理系统 编辑:程序博客网 时间:2024/06/05 00:15
Java 中有下面几种基本数据类型:double,float,long,int,short,char,boolean。
分别对应下面几个类包装器:Double,Float,Long,Integer,Short,Character,Boolean。
我们知道基本类型与对应的类之间可以无缝自动转换,这种转换就涉及到了JVM自动装箱和拆箱了,下面列出2个很简单装箱和拆箱的列子:
// 装箱
int i = 0;
// 把i这个基本类型的数赋给Integer类的变量,JVM就会自动装箱
Integer int = i;
// 拆箱
int j = int;
装箱和拆箱都是要花费CPU和内存资源的,所以如果没必要尽量避免使用JVM的自动装箱、拆箱。
下面用二段简单的代码测试一下自动装箱的性能影响:
代码一:
Integer result = 0;
for(int i =0;i < 50000000;i++){
result += i; // 自动装箱
}
代码二:
int result = 0;
for(int i =0;i < 50000000;i++){
result += i;
}
在本机测试第二段代码的效率比第一段代码快10倍左右。
- 小提示——避免不必要的自动装箱、拆箱
- Effective java1——避免创建不必要的对象
- Effective Java 2.5——避免创建不必要的对象
- 黑马程序员—小知识点:自动装箱
- 避免不必要的float
- 避免创建不必要的对象
- 避免创建不必要的对象
- 避免创建不必要的对象
- 第五 避免不必要的对象
- 避免创建不必要的对象
- 避免创建不必要的对象
- 避免创建不必要的对象。
- 避免创建不必要的对象
- 《Effective java》读书笔记1——避免创建不必要的对象
- Effective Jave——第5条:避免创建不必要的对象
- 自动装箱的一点小细节
- 使用SVN的版本管理时,一些小技巧避免不必要的冲突(C)
- 避免创建不必要的大对象(把大对象转换为小对象)
- Java线程:新特征-障碍器
- twisted學習筆記二--twisted的那三板斧
- Game Expert
- R&D Manager's activities in a typical day
- 关于科学计算中的数值误差问题
- 小提示——避免不必要的自动装箱、拆箱
- MTK平台上开辟自己的NVRAM段并初始化
- hw
- windows系统搭建svn服务器
- 【转】 用EXPLAIN PLAN 分析SQL语句
- 输入法的添加(mtk平台t9,zi之外的输入法)
- 初学symbian 对话框我见
- 是Intel的编译器出问题了吗?
- 09年度上学期形势政策