JAVA性能 調優之 基礎小知識點隨筆

注意:本片博客會不定時更新,建議收藏哈哈

1,小心使用String.subString()方法,容易引起內存泄漏,及時使用採用 new String(String.subString())代替。
2,ArrayList遍歷的最高效方法就是for循環>迭代器>foreach(foreache底層還是迭代器實現,而且多了一步賦值操作因此性能差)
3,ArrayList刪除元素的效率 尾部>中間>頭部,LinkedIist刪除元素的效率頭部=尾部>>中間
4,ArrayList基於數組實現,隨機訪問效率很高,LinkedList基於鏈表結構實現,隨機訪問效率差
5,所有的對象存放在堆內存中,被所有線程共享,只存對象本身的class信息
6,方法區包含所有的class和靜態變量
7.==是判斷兩個變量指向的堆內存地址是否相同 ,equals 是判斷兩個變量是否值相等
8,賦值語句和創建對象都是強引用,強引用所指向的對象在任何時候都不會被系統回收,因而可能導致內存泄露
9,GC日誌打印命令:java -jar -server -Xloggc:log/gc.log -XX:+PrintGCTimeStamps -XX:+PrintGCDetails collectionNMS.jar
10,UDP客戶端爲了提高數據接收性能需要採用NIO模式進行高併發數據讀取。
11,當數據量較大是採用ByteBuffer.allocateDirect()性能更好 一般就採用ByteBuffer.allocate().

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章