Dennis' Blog of Indiscriminate | I thought what I’d do was, I’d pretend I was one of those deaf-mutes

Nov/07

18

Java 和 .NET 都要注意的 finalize 問題

最近上了一個 .NET 的 training 。(.NET 和 C# 我是會,可是以前沒上過正規的 Training)

當中提到一點,這和我最近看到的 Java finalize 文件差不多,簡單來說是:

  • 如果你的 object 有實作到 finalize ,它就可能在比你所想的時機更早就被 Finailize Thread 執行。
  • 需等待 finalize 的部分,object 的大小越少越好,才能減少回收延誤

第一點,就是說它不會等你的 object 現在執行中的 method 完成之後才執行。而是可能和你的 method 同時執行。甚至比你的最後一個 method 更早執行。
在 .NET ,你能用GC.KeepAlive 來避免,而在 Java 可以利用空的 synchronze method 來確立最早可回收的時間點。

第二點,http://www.devx.com/Java/Article/30192

RSS Feed

No comments yet.

Leave a comment!

<< 網摘: How Google Android Routes Around Java Restrictions

超變態Mario 與 神級Mario玩家 >>

Theme Design by devolux.org