1. 程式人生 > >靜態方法與實例化方法區別

靜態方法與實例化方法區別

系統 銷毀 垃圾 算法 區別 過程 對象 消息頭 數據庫連接

靜態可以認為是緩存,在軟件啟動的時候,就給靜態成員分配了存儲空間,在整個軟件生命期內存在,直到系統退出才被垃圾回收器回收銷毀。對不經常發生變化又使用頻繁的東東,比如配置詞語,可以使用靜態的,減少和數據庫的頻繁交互、提升系統性能某些比較昂貴的資源,比如數據庫連接對象,聲明成靜態完全沒有必要,這是因為即使你聲明成靜態,連接也不會一直保持打開狀態,徒增加系統開銷。

在性能方面會有差異,靜態方法性能優於實例化方法,就是因為他不用實例化,程序開始運行的時候靜態變量、靜態方法就被分配了內存,所以你隨時可以調用他,但這也是他的一個缺點,就是不會銷毀。至於說什麽時候該用靜態方法,我認為程序調用頻繁的處理過程可以包裝成靜態方法,譬如像一些自定義字符串格式化處理,數據類型轉換,消息頭的數據處理,一些算法處理過程等等,總之使用頻率高你可以考慮包裝成靜態方法,不頻繁使用的,你讓他占著資源有什麽意義呢。

靜態方法與實例化方法區別