3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
Java是目前最流行的編程語言之一——它可以用來編寫Windows程序或者是Web應用,移動應用,網路程序,消費電子產品,機頂盒設備,它無處不在。有超過30億的設備是運行在Java之上的。根據Oracle的統計數據,光是使用中的JavaCard就有有50億。超過900萬程序員選擇使用Java進行開發,它是最受開發人員歡迎的語言,同時也是最流行的開發平台。本文為那些准Java程序員們準備了一系列廣為流傳的Java最佳編程實踐:優先返回空集合而非null如果程序要返回一個不包含任何值的集合,確保返回的是空集合而不是null。這能節省大量的"ifelse"檢查。publicclassgetLocationName{return(null==cityName?"":cityName);}01謹慎操作字元串如果兩個字元串在for循環中使用+操作符進行拼接,那麼每次循環都會產生一個新的字元串對象。這不僅浪費內存空間同時還會影響性能。類似的,如果初始化字元串對象,盡量不要使用構造方法,而應該直接初始化。比方說:02避免無用對象創建對象是Java中最昂貴的操作之一。因此最好在有需要的時候再進行對象的創建/初始化。如下:03數組與ArrayList之爭開發人員經常會發現很難在數組和ArrayList間做選擇。它們二者互有優劣。如何選擇應該視情況而定。數組是定長的,而ArrayList是變長的。由於數組長度是固定的,因此在聲明數組時就已經分配好內存了。而數組的操作則會更快一些。另一方面,如果我們不知道數據的大小,那麼過多的數據便會導致ArrayOutOfBoundException,而少了又會浪費存儲空間。ArrayList在增刪元素方面要比數組簡單。數組可以是多維的,但ArrayList只能是一維的。try塊的finally塊沒有被執行04在調用System.exit時,JVM會在關閉前執行兩個結束任務:首先,它會執行完所有通過Runtime.addShutdownHook註冊進來的終止的鉤子程序。這一點很關鍵,因為它會釋放JVM外部的資源。接下來的便是Finalizer了。可能是System.runFinalizersOnExit也可能是Runtime.runFinalizersOnExit。finalizer的使用已經被廢棄有很長一段時間了。finalizer可以在存活對象上進行調用,即便是這些對象仍在被其它線程所使用。而這會導致不可預期的結果甚至是死鎖。05判斷奇數看下這幾行代碼,看看它們是否能用來準確地判斷一個數是奇數?publicbooleanoddOrNot(intnum){returnnum%2==1;看似是對的,但是每執行四便會有一個錯誤的結果(用數據說話)。考慮到負奇數的情況,它除以2的結果就不會是1。因此,返回值是false,而這樣是不對的。代碼可以修改成這樣:publicbooleanoddOrNot(intnum){return(num&1)!=0;}這麼寫不光是負奇數的問題解決了,並且還是經過充分優化過的。因為算術運算和邏輯運行要比乘除運算更高效,計算的結果也會更快。06單引號與雙引號的區別:看起來這段代碼會返回"Haha",但實際返回的是Ha169。原因就是用了雙引號的時候,字元會被當作字元串處理,而如果是單引號的話,字元值會通過一個叫做基礎類型拓寬的操作來轉換成整型值。然後再將值相加得到169。一些防止內存泄露的小技巧:內存泄露會導致軟體的性能降級。由於Java是自動管理內存的,因此開發人員並沒有太多辦法介入。不過還是有一些方法能夠用來防止內存泄露的。查詢完數據后立即釋放資料庫連接儘可能使用finally塊釋放靜態變數中的實例中軟卓越官網:www.whzrgj.com劉老師:15623074480

本文由yidianzixun提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦