小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

接口設計對軟件性能的影響

 liujian6916 2007-01-08


  性能方面的問題有好多種。最容易修正的一種是,在執(zhí)行一項計算任務時使用了一個性能不好的算法,例如,在對數(shù)目很多的數(shù)據(jù)進行排序時采用了起泡算法,每次使用時對一個經(jīng)常使用的數(shù)據(jù)項進行計算而不是將它保存起來,這些問題一般我們都能很容易發(fā)現(xiàn),而且一旦發(fā)現(xiàn)后,都能很方便地進行改正。然而,許多Java程序性能方面的問題都是是由一些比較深奧的、不容易修改的代碼━━程序組件的接口設計引起的。

  大多數(shù)的程序都是由內部人員開發(fā)的或從外部購買的組件"組裝"而成的。即使軟件不完全依賴于原有的組件,面向對象的設計過程也使得應用程序在開發(fā)時采用組件形式,因為這樣可以簡化程序的設計、開發(fā)和調試方面的工作。盡管采用組件的好處是不可否認的,我們還應該意識到組件的接口會對使用它們的程序的性能和運行狀態(tài)產(chǎn)生重大的影響。

  也許會有讀者問,接口跟性能有什么關系?一個類的接口不但定義了類可以完成的功能,而且還定義了它的對象創(chuàng)建行為和使用它所需要調用的方法的順序,一個類如何定義它的構造器和方法會影響這個對象是否可以重用,是它本身的方法創(chuàng)建還是要求其客戶創(chuàng)建中間對象,客戶要使用這個類需要調用多少個方法。

  所有這些因素都會影響到程序的性能。Java軟件性能管理方面的基本原理之一是:避免創(chuàng)建過多的對象。這并不意味著你不能創(chuàng)建任何對象從而不充分利用面象對象語言帶來的諸多好處,而是說在開發(fā)對性能敏感的代碼時需要對對象的創(chuàng)建保持謹慎。對象創(chuàng)建的代價相當高昂,我們應該在對性能敏感的軟件中盡量避免創(chuàng)建臨時或中間對象。

  在處理字符的程序中,String類是引起對象創(chuàng)建的最大源。因為String類是不可變的,每當一個String類的對象被修改或構造時,都會創(chuàng)建一個新的對象。因此,一個具有性能意識的編程人員總是避免過多地使用String類對象。然而,盡管你在編程中盡量避免使用String對象,還是會經(jīng)常發(fā)現(xiàn)使用的組件接口必須使用String對象,因此,你不可能不使用String類對象。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多