java 板


LINE

※ 引述《tofuflower (无)》之铭言: : 请问下列三种写法 : 1. : MyObject obj; : for(int i=0;i<10000000;i++) : { : obj=new MyObject(); : do something...... : } : 2. : for(int i=0;i<10000000;i++) : { : MyObject obj=new MyObject(); : do something...... : } : 3. : MyObject obj=new MyObject(); : for(int i=0;i<10000000;i++) : { : obj.init(); : do something...... : } : 其中3是我现在的写法,但是obj.init()会花太多时间 : (比new一个新的MyObject还花时间) 听起来只是设计不当。 : 所以想请问1和2这两种写法那种比较好? 就效率来说,1 跟 2 完全感受不到差别。 撇开效率不谈, 如果 obj 在回圈之外完全用不到, 我会认为宣告在回圈之内是较好的, 差别在回圈外是否多一个没有用的变数, 可能会造成误用或阅读上的困扰。 : 2我的议题是这样每次都宣告一个新的obj,那上一个obj memory会回收吗? : 如果会是甚麽时候回收? : ps.一开始用过2的写法,但曾经出现过java heap size的问题... : 感觉就是一直宣告MyObject obj=new MyObject()把记忆体塞爆? 你似乎不知道有 Garbage Collection(GC) 这东西。 简单的说,GC 会帮你做回收的动作, 只要你把指向物件的 refrence 都都拿掉, 待 GC 运作後,物件就会被回收。 你并不知道他什麽时候去做,也不能指定他立刻去做, 但大部分的情况下,我认为 GC 都运作的很不错。 在你的例子当中, 大概是因为物件产生的速度高於回收的速度, 所以最後当然会爆掉。 如果你的需求真的必须如此, 也许可以在回圈里头放个 System.gc() "建议" GC 去做事。 : 1我的议题是虽然只宣告一次obj : 但之後也是每次都分给他一个新的memory空间...? : 和2的写法比好像一样? : 总之我不太了解java在甚麽时候会回收不用的记忆体? : 而怎样的情况下该变数的记忆体会被认定为不在使用可以回收的? 你无法控制物件何时会被回收, 但只有当物件被有被 refrence 时,该物件才有可能被回收。 : 烦请有经验的版友指教 : 或者有人有推荐的书即可以介绍一下的 : 感谢 orz... 找些说明 GC 的文章来看吧,光看我说的实在是不够。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.78.231
1F:推 tofuflower:我知道GC,只是不知道系统call GC的时机为何? 04/08 00:12







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP