设为首页 加入收藏

TOP

Java的初始化机制、垃圾回收机制和内存分配机制 (二)
2014-11-24 12:00:05 来源: 作者: 【 】 浏览:82
Tags:Java 初始 机制 垃圾 回收 内存 分配
rue
结果为true,说明str1和str2指向同一个对象
String str1 =new String ("abc");
String str2 =new String ("abc");
System.out.println(str1==str2); // false
用new则在堆中创建了2个对象
2.4应该注意的问题:
1.尽量使用基本数据类型代替对象
String str = "hello";
上面这种方式会创建一个"hello"字符串,而且JVM的字符缓存池还会缓存这个字符串。
String str = new String("hello");
此时程序除创建字符串外,str所引用的String对象底层还包含一个char[]数组,这个char[]数组依次存放了h,e,l,l,o
2.尽量减少对变量的重复计算
[java] v
for(int i=0;i
for(int i=0;i
[java] view plaincopyprint
for(int i=0,len=list.size();i
for(int i=0,len=list.size();i
3.避免在循环体中声明创建对象
[java]
for (int i = 0; i < 10000; ++i) {
Object obj = new Object();
}
for (int i = 0; i < 10000; ++i) {
Object obj = new Object();
}虽然性能上差别不大,但这样的代码会浪费栈内存空间,上边提到过引用变量会存放在栈内存,这样会在内存中产生大量的对象引用。
应该写成下边的:
[java]
Object obj;
for (int i = 0; i < 10000; ++i) {
obj = new Object();
}
Object obj;
for (int i = 0; i < 10000; ++i) {
obj = new Object();
}
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇知识总结――JAVA面向对象 下一篇Spring中Bean配置说明

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·switch520最新的地址 (2025-12-24 19:19:41)
·微信聊天功能使用了 (2025-12-24 19:19:39)
·websocket和普通的so (2025-12-24 19:19:36)
·Python中文网 - 人生 (2025-12-24 18:49:47)
·【整整648集】这绝对 (2025-12-24 18:49:44)