Announcement

Collapse
No announcement yet.

Hỏi về Garbage Collector trong Java

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Java] Hỏi về Garbage Collector trong Java

    Câu hỏi : JVM gọi phương thức finalize của đối tượng khi nào ? Nếu ta dùng System.gc() thì JVM có thực hiện phương thức finalize của đối tượng ngay lúc đó hay không ? (đối tượng đã được gán bằng null để đánh dấu rằng không nó không còn tham chiếu tới chỗ nào nữa )

    Ví dụ :

    Code:
    class A {
      A(){}
      @Override
      protected void finalize() {//....
      }
    }
    
    public static void main(String[] args){
       A o1 = new A();
       A o2 = new A();
     // Do some cool things here ^^
    
      // mark o1 ,o2 that they are no longer needed 
      o1 = null;
      o2  = null;
    
       // call Garbage Collector 
      System.gc();
    }
    Amat Victoria Curam.

    ------
    Ping me at me@toan.mobi

  • #2
    Bên Java thì không rõ, nhưng bên .NET thì Finalize sẽ được gọi khi bộ dọn rác tìm thấy đối tượng và hủy nó đi. Trong .NET thì chúng ta chỉ có thể "yêu cầu" chạy Garbage Collector, còn việc chạy nó khi nào và ra sao tùy thuộc vào Common Language Runtime...
    CLB ITI UIT | https://www.facebook.com/groups/ITIClub/ | https://www.facebook.com/ITIClub/
    Microsoft Tech4Student | https://www.facebook.com/Tech4Student
    MSP Việt Nam | https://www.facebook.com/mspvn

    Comment

    LHQC

    Collapse
    Working...
    X