java創(chuàng)建全局變量 java中聲明全局變量,什么情況下加static什么情況下不加?
java中聲明全局變量,什么情況下加static什么情況下不加?首先,只能靜態(tài)添加成員變量。何時(shí)添加?如果當(dāng)前類的任何對(duì)象需要共享此成員,將添加該對(duì)象。否則,將不添加。JVM加載靜態(tài)成員時(shí),加載時(shí)間比
java中聲明全局變量,什么情況下加static什么情況下不加?
首先,只能靜態(tài)添加成員變量。
何時(shí)添加?
如果當(dāng)前類的任何對(duì)象需要共享此成員,將添加該對(duì)象。否則,將不添加。
JVM加載靜態(tài)成員時(shí),加載時(shí)間比非靜態(tài)成員早。
2. 在整個(gè)JVM生命周期中,靜態(tài)成員總是只加載一次,這也是單例模式的根源。
3. 初始化靜態(tài)成員后,它將始終被類對(duì)象引用,這意味著它的地址永遠(yuǎn)不會(huì)被GC回收。因此,建議不要定義太多。
4. 靜態(tài)成員總是將引用保存在方法區(qū)域的靜態(tài)區(qū)域中,因此引用必須由多個(gè)線程共享。因此,在編寫靜態(tài)成員時(shí),應(yīng)特別注意線程安全。
以上是我的淺見。如果有任何誤解,請(qǐng)互相討論。