Rate this post

Garbage Collection trong Java là một quá trình tự động quản lý bộ nhớ của JVM (Java Virtual Machine). Nó tự động quản lý và thu hồi bộ nhớ của các đối tượng không còn sử dụng, giúp giảm thiểu rủi ro tổn thất bộ nhớ và giảm thiểu tình trạng lỗi “OutOfMemoryError”.

Các bài viết liên quan:

Trong Java, bộ nhớ được chia thành hai loại chính là Stack và Heap. Stack lưu trữ các biến cục bộ và các giá trị địa phương, trong khi Heap lưu trữ các đối tượng và các mảng. Garbage Collection chủ yếu hoạt động trên Heap để tìm và thu hồi các đối tượng không còn sử dụng.

Các đối tượng được coi là không còn sử dụng khi không còn một chuỗi tham chiếu nào tới chúng. Garbage collector sẽ duyệt qua tất cả các đối tượng trên Heap và tìm các đối tượng không còn được tham chiếu, sau đó thu hồi bộ nhớ của chúng.

Việc Garbage Collection tự động sẽ giúp giảm thiểu rủi ro gây ra lỗi về bộ nhớ và giúp cho chương trình Java của bạn chạy mượt mà hơn. Tuy nhiên, việc sử dụng Garbage Collection cũng có thể làm chậm tốc độ chương trình của bạn, do đó, chúng ta cần lưu ý trong việc sử dụng và quản lý bộ nhớ trong chương trình Java của mình.

Ví dụ về sử dụng garbage collection trong java

Ví dụ 1:

String str1 = new String("Hello");
String str2 = str1;
str1 = null;

Trong ví dụ trên, chúng ta tạo ra một đối tượng String với giá trị “Hello” và gán nó cho biến str1. Sau đó chúng ta tạo ra một biến str2 và gán nó bằng str1. Tại thời điểm này, cả str1 và str2 đều trỏ đến cùng một đối tượng. Tiếp theo, chúng ta gán giá trị null cho str1. Tại thời điểm này, đối tượng “Hello” không còn được tham chiếu tới bởi bất kỳ biến nào nữa, và sẽ được Garbage Collector thu hồi.

Ví dụ 2:

List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list = null;

Trong ví dụ trên, chúng ta tạo ra một đối tượng ArrayList và thêm vài phần tử vào nó. Sau đó, chúng ta gán giá trị null cho biến list. Tại thời điểm này, đối tượng ArrayList không còn được tham chiếu tới bởi bất kỳ biến nào nữa, và sẽ được Garbage Collector thu hồi.

Lưu ý rằng Garbage Collection hoạt động tự động và không thể điều khiển, nó chỉ hoạt động khi bộ nhớ hết.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now