看板 [ java ]
討論串[問題] object指向null後 class variable怎麼辦?
共 5 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓0(0推 0噓 1→)留言1則,0人參與, 最新作者petr (petr)時間16年前 (2009/11/13 17:01), 編輯資訊
0
0
0
內容預覽:
主要也是在close做掉吧,finalizer只是多買份保險,也不知道會不會發生作用. 總之不要把重要的事情放在finalizer,然後期望VM會執行到它. 所以才會說那些事情只擺在finalizer是不智的. 另外close的方法最好不要像你那樣子用. 擺在finally裡面吧,因為你不知道前面的

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者adrianshum (Alien)時間16年前 (2009/11/13 15:31), 編輯資訊
0
0
0
內容預覽:
沒有什麼不智吧.. 一般要取得資源的情況, 做的方法是靠 close() (叫什麼不重要),. 然後 finalizer 也會順便做 (如果有人漏了 close 的話):. public class Foo {. public enum Status {. ACTIVE,. CLOSED,. }.
(還有259個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者petr (petr)時間16年前 (2009/11/13 14:27), 編輯資訊
0
0
0
內容預覽:
使用finalizer是絕對不智的. JVM內thread執行finalizer的priority通常很低. Java的spec甚至沒有規定finalizer一定會被執行. 甚至可能JVM結束了,finilizer都不會被執行到. 如果想要有一個統計總共有幾個instance的資訊. 1. 最簡單的
(還有94個字)

推噓3(3推 0噓 2→)留言5則,0人參與, 最新作者tkcn (小安)時間16年前 (2009/11/13 09:57), 編輯資訊
0
0
0
內容預覽:
寫個 finalize method 吧,. 這樣當 GC 去回收此物件時,就會執行到 finalize 了。. 不過要注意一點,. 並不是將 reference 設成 null,GC 就會立刻回收該物件。. 所以如果你希望將 reference 設成 null 時,sum 能立刻反應,. 還是自己

推噓0(0推 0噓 1→)留言1則,0人參與, 最新作者johjimakenji (喬治馬健司)時間16年前 (2009/11/13 09:42), 編輯資訊
0
0
0
內容預覽:
如果想要刪除一個object 就是令它指向null. 但如果該物件裡包含class varible. 例如 public static int sum = 0;. 每new一次這個object就會sum++ 用來計算總共有幾個object. 但如果把object指向null sum的值並不會改變.
首頁
上一頁
1
下一頁
尾頁