Trong Java khối finally
khác phương thức finalize()
như thế nào?
Trong Java khối finally
khác phương thức finalize()
như thế nào?
Trong Java, khối finally
và phương thức finalize()
đều liên quan đến quá trình xử lý và dọn dẹp tài nguyên, nhưng chúng có mục đích và cách sử dụng khác nhau:
finally
được sử dụng trong quản lý ngoại lệ, cụ thể là với các khối try-catch
. Nó chứa mã sẽ được thực thi bất kể ngoại lệ có xảy ra hay không trong khối try
.finally
thường được sử dụng để dọn dẹp tài nguyên, như đóng kết nối mạng, đóng luồng nhập/xuất (I/O streams), hoặc giải phóng bất kỳ tài nguyên nào khác mà phương thức đã mở hoặc sử dụng, đảm bảo rằng tài nguyên được giải phóng đúng cách ngay cả khi có ngoại lệ xảy ra.try {
// Mã có thể phát sinh ngoại lệ
} catch (Exception e) {
// Xử lý ngoại lệ
} finally {
// Dọn dẹp tài nguyên, mã này sẽ được thực thi bất kể ngoại lệ có xảy ra hay không
}
finalize()
là một phương thức được định nghĩa trong lớp Object
, và nó được gọi bởi Garbage Collector của Java trước khi đối tượng bị thu gom rác. Mục đích của nó là cho phép một đối tượng thực hiện dọn dẹp cuối cùng trước khi bị hủy h...middle
Gợi ý câu hỏi phỏng vấn
Khi nào thì một Object
đủ điều kiện để thu gom rác trong Java?
Chưa có bình luận nào