PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
java
[問題] 變數宣告需要提到迴圈外嗎?
作者:
genomini
(不重要)
2016-05-10 13:57:16
各位先進安好
之前寫迴圈,都會將變數宣告提到外面來,如:
ClassA aaa;
for(int i=0; i<10; i++){
aaa = new ClassA();
作者:
qrtt1
(有些事,有時候。。。)
2016-05-10 14:05:00
迴圈外沒人用到,就不用放外面啊。scope 外面的 scope 少一個變數,少一個失手的機會啊不過不理解為何你想把他放外頭,能說說你的想法嗎?
作者:
swpoker
(swpoker)
2016-05-10 14:16:00
heap的問題,所以宣告放外面,但這會有數量的問題,數量多才會有問題
作者:
genomini
(不重要)
2016-05-10 14:25:00
我想說這樣不用再迴圈內一直宣告變數,程式會跑快一點剛剛測試跑一千次執行時間都差不多 有多此一舉的感覺..
作者:
ssccg
(23)
2016-05-10 14:54:00
Java的宣告local變數只是在compile時變數表多加一個變數執行到method時stack多留一個位置並不是跑到宣告那行時會做什麼動作..
作者:
genomini
(不重要)
2016-05-10 15:13:00
了解 謝謝各位喔
作者:
jej
(晃奶大馬桶)
2016-05-10 21:49:00
http://goo.gl/2u64rZ
看起來和物件是否immutable 有關多執行序時 不是immutable 若使用iterator會導至non thread sNon thread safe,不然其實也只有scope的差別
作者:
haha02
(來人!上夾棍!)
2016-05-11 02:39:00
樓上說的這個沒關係吧 區域變數的話沒有併行存取的問題
作者:
adrianshum
(Alien)
2016-05-16 01:16:00
樓樓上錯誤。看來你沒有真的嘗試理解那討論真正在討論什麼另,最近在SO 也有回過類似的討論,寫一段小程式加javap就能印證宣告放在loop 內或外並無損效能,就算會損也是放外面會損的機會比較大。
繼續閱讀
Re: [問題] 檢查ArrayList是否重複
adrianshum
[問題] 檢查ArrayList是否重複
dwadefans
[問題] Facebook遊戲外掛
illegalplan
[問題] BufferedImage 旋轉任意角度
dwadefans
[問題] 問公司 想請問九玖雲端
lytnokia
[問題] Socket連線小問題
f88887878
[書籍] 徵求 Java 考試券
matt4424
[問題] actionListener 在不同 class
eton821002
[問題] 請問Eclipse提示欄圈選的顏色怎麼改
ak77now
Fw: [問題] jquery post json object 的問題(jsp)
ledzepp0
Links
booklink
Contact Us: admin [ a t ] ucptt.com