亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

提高J2SE性能的代碼技巧

系統 1939 0

1.JAVA開發工具集(JDK)

  ■ 設計了一組通用用途的類

  ■ 設計的質量和實現多樣化

  一 有些部分設計和實現得很好

  一 而有些部分...

  ■ 你可以訪問JDK的源代碼

  一 %JAVA_HOME%\src.jar

  一 不要直接修改源代碼,但如果識別出一個JDK的方法是一個 瓶頸 ,檢查源代碼以理解為什么

2.數據結構和算法

  ■ 推薦JAVA集合框架

  一 指南 java.sun. com /docs/books/tutorial/collections

  ■ 設計得很好的基本的數據結構和算法

提高J2SE性能的代碼技巧

3.集合框架

提高J2SE性能的代碼技巧

  ■ 調換實現達到不同的性能特性

4.集合框架:接口與具體類

  ■ 面向接口編程,而不是具體類

  一 特別是對于方法參數

  一 在性能優化時更容易改變實現

提高J2SE性能的代碼技巧

5.集合框架:具體類

  ■ 當一個集合創建時要消除動態增長的代價,為其指定一個實際初始大小

  一些具體類(如:ArrayList)的動態增長的代價是很高的

  ■ 在適當的地方考慮重用集合對象

  一 調用集合的clear()方法清楚它的所有元素

  ■ Object .hashCode()

  一 選擇一個算法保證哈希表的統一分配

  一 覆蓋繼承的Object.hashCode()方法, 默認的實現返回的是對象引用值,沒有展示一個一致的分配

  一 從不返回一個常量

  一 非常小心地改變鍵的值的底層狀態

6.集合框架:實現數據結構

  ■ 如果一定要實現自己的數據結構,依賴于集合接口實現你的類

  一 可以使用java.util.Collections工具方法恰當地實現你的具體數據結構

  ■ 擴大數據結構集合,你可以插入其它的開發成果

7.集合框架:基礎算法

  ■ Java .util.Collections類里的算法

  一 sort(…..)

  以升序重新排列List的元素

  輕微地優化MergeSort-O(nlog(n))的版本

  一 binarySearch(….)

  在一個已排序的List里查找指定的元素

  一 極限值

  min(…) max(….)

  一 其它

  reverse(….),fill(….), copy(…)

8.數組

  ■ 數組與ArrayList與Vector

  一 數組的速度大約比ArrayList快十倍

  一 數組的速度大約比Vector快40倍

  一 ArrayList的速度大約比Vevtor快3-4倍

  ■ 當拷貝一個數組的元素到另一個數組時,使用 System .arrycopy(…)

9.數組:基礎算法

  ■ JAVA2的java.util.Arrays類提供了一組重載方法,為基礎數組實現了最佳化的算法(與java.util.Collections類相似)

  ■ Java .util.Arrays類的里的算法

  一 binarySearch(…)

  一 equals(…)

  一 fill(…)

  一 sort(…)

?

10.格式化

  ■ 文本格式化類:

  一 java. text .DateFaormat

  一 java.text.NumberFaormat

  一 java.text.MessageFaormat

  可能非常慢

  ■ 例如:第一次調用DateFormat.geInstance()創建超過12000個對象

  ■ 每次調用DateFormat. format 創建13個對象,加上第一次調用時的那次

  一 重用同一個DateFormat實例而不是重復調用DateFormat.getInstance是很值得做的

  ■ 其它的格式化類有相似的特點

11.XML處理:SAX

  ■ 處理XML文檔的低級,事件驅動庫

  ■ 最好的選擇,如果:

  一 你需要以線性的方式遍歷整個文檔

  一 你只需要查看幾項

  一 內存效率是一個問題

12.XML處理

  ■ 試著在你的應用程序里消除處理特定XML對象

  ■ 通過一個RMI調用傳遞DOM樹,結果會使整個java對象樹序列化。。。通常會4倍甚至更多的空間

  4.Buffered I/O

  ■ I/O類默認不緩沖

  ■ 為你的I/O流使用緩沖的包裝器

  BufferedOutputStream

  BufferedInputStream

  BufferedReader

  BufferedWriter

  ■ 嘗試在構造方法中使用緩沖大小參數

  一 BufferedInputStream:默認2048個字節(JDK1.4.1)

  一 BufferedReader:默認8192個字符(JDK1.4.1)

13.流與Readers

  ■ 在java里有兩個并行的I/O接口

  Reader和Writer

  一 BufferedInputStream:字符序列(16-bit)

  InputStream和OutputStream

  一 字節序列(8-bit)

  ■ 處理基于文本的文件,Readers&Writers更快

  更快的幅度達50%

  參考O'Reilly的"java Performance Tuning"第八章

14 .新I/O

  ■ 在JDK1.4或更高版本,java.nio包給出了更多I/O選項

  一 正則表達式匹配

  一 內存映射緩存

  一 非 中斷 I/O

  ■ 這些能提供更高的I/O性能

15.序列化

  ■ 使一個對象"變平"允許使它流化成一個文件(為了 存儲 )或者網絡連接(為了傳輸)

  一 添加Serializeable接口標記你的類

  一 通過ObjectInputStream/ObjectOutputStream

  ■ 序列化被遠程方法調用廣泛使用

  ■ 序列化可能會非常昂貴

  一 當你序列化一個對象時,這個對象可達的每個對象都會被序列化,可能會有非常多的對象

  一 除了內部虛擬機程序,還會大量使用反射

  一 序列化是非常繁冗的

  只有一個 int 數據的類占用37個字節

  序列化的對象包括了每個類成員及其值的全限定名

  一 速度是不對稱的,反序列化比序列化速度更慢

16.序列化:transient關鍵字

  ■ 可以重新定義序列化動作

  一 使用transient關鍵字指出不需要在序列化流中包含的成員變量

  Private transient String name;

  一 這讓你可以指出對象里不重要的成員變量或者當對象讀入內存時可以重新計算的成員變量

17 .序列化:Externalizable接口

  ■ 消除序列化負載,實現Externalizable接口而不是Serializable

  Public void readExternal(ObjectInput out)

  Public void writerExternal(ObjectOutput out)

  ■ 程序員完全要負責:

  一 管理序列化內容

  一 調用readExternal()/wirteExternal()方法序列化對象

18.Externalizable

提高J2SE性能的代碼技巧

?

?

提高J2SE性能的代碼技巧


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: f性欧美 | 中文字幕 日韩有码 | 日韩在线视频免费播放 | 色偷偷91久久综合噜噜噜噜 | 四虎国产精品永久在线看 | 国产日韩视频 | 国产一区二区日韩欧美在线 | 成人性色生活片免费网 | 啪啪短视频| 最新精品亚洲成a人在线观看 | 欧美日韩精品国产一区二区 | 久久伊人操 | 久久国产精品一国产精品金尊 | 欧美日本在线视频 | 久久综合中文字幕一区二区三区 | 操日韩| 毛片不卡一区二区三区 | 青青青永久免费视频 | 一级生活毛片 | www.草草草| 久夜tv| 亚洲国产成人久久 | 中文在线观看视频 | 国产亚洲精aa在线观看不卡 | 中文字幕欧美日韩一 | 国产精品久久久久久久久夜色 | 嫩模被xxxx视频在线观看 | 免费看黄色片视频 | www深夜视频在线观看高清 | 国内精品一区视频在线播放 | 欧美大胆一级视频 | 视频播放在线观看精品视频 | 日韩精品欧美国产精品亚 | 国语高清精品一区二区三区 | 日本b站一卡二不卡 | 欧美69p| 亚洲欧美日韩久久精品第一区 | 97影院官网 | 视频亚洲一区 | 国产亚洲精品福利在线 | 色爱b|