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