static變量、static方法之間的異同

 
 

    private SchemeBean getEmptyScheme() {
        SchemeBean scheme = new SchemeBean();
        scheme.setCost("");
        scheme.setDuration("");
        scheme.setNightflag("");
        scheme.setWalkingDistance("");
        return scheme;
    }chrome

 

一個簡單的這樣的方法,徹底能夠寫成static類型。線程也安全,那static方法,到底會不會有性能提高?是否是static方法,在class實例化的時候,就不用跟static類變量似的,不用每次都加載了?安全

如下是我本身思考的結果,不必定對:性能

static變量,確定是在perm存一份。沒線程安全問題的狀況下,用static確定會比不用好。url

static方法,確定也是在perm中存一份。不是每次類實例化的時候加載方法,方法不跟變量同樣,方法只會存一份在perm,實例化的時候,非static變量會在線程棧中存一份。可是方法不同,非static和static都是同樣執行,從perm中copy出來到線程棧,而後運行。spa

 

因此在存儲和效率上,static方法和非static,一點不一樣都沒有。只是static方法能夠不用實例化調用而已。線程

相關文章
相關標籤/搜索