眼睛一亮在論壇上發現一枚很有價值的評論趕緊抄下來...
記住java一定要用double,更鼓不變,就算數值不大也要用double。
了解java虛擬機的底層會知道,float放在內存中其實是當作double來處理的,它不會比double更節約內存資源,對應的double虛擬機會直接以double形式來進行處理,快速而且精度高,但是如果用float,不但不會節約內存資源,虛擬機為了校驗float的精度,會花費更多的系統資源,例如cpu時鍾,程序執行步驟等等。
相對於這點,整數類型,能用int就用int,不要用什么short類型,道理是一樣,其實虛擬機中short,char,boolean,byte在內存中都是以int形式來處理的,為了校驗精度,虛擬機還會付出格外的開銷,這樣其實得不償失,不要自作聰明以為節約了內存,其實錯了。當然long類型例外,雖然long類型也會增加資源的開銷,但是畢竟能完成int完成不了的功能。
還有,其實這些資源的開銷對於整個應用程序和現有硬件資源而言就是九牛一毛,微乎其微,沒有必要過於在意。就用習慣的形式即可。不要自作聰明的用特別的數據類型,浮點就double,整形就int,長整型就long,其它的必要性都不大(byte的話,用來做數組還是很方便的,除此不推薦使用)
暑假准備看完JVM,別人的講解總歸要自己來印證,不能因為有道理就信了,噶
