Tự động close resource với Project Lombok

Khi chúng ta sử dụng các resource như InputStream, OutputStream trong Java, chúng ta nên nhớ close resource đó sau khi sử dụng. Nếu không sẽ gặp lỗi memory leak sau một thời gian chạy chương trình.

Trước Java 7, chúng ta có thể close một resource trong đoạn code finally:

Từ Java 7 thì chúng ta có thể sử dụng try with resource để tự động close resource như sau:

Sử dụng try with resource, Java sẽ tự động gọi phương thức close() của đối tượng resource sau khi sử dụng.

Với Project Lombok, các bạn còn có một cách khác nữa để tự động close resource sau khi sử dụng. Đó chính là sử dụng annotation @Cleanup của Project Lombok:

Nếu các bạn kiểm tra tập tin Example.class nằm trong thư mục /target/classes/com/huongdanjava/lombok/, các bạn sẽ thấy nội dung của tập tin này như sau:

Trong trường hợp method close đối tượng resource không phải là close(), các bạn có thể khai báo method này trong annotation @Cleanup như sau:

5/5 - (1 bình chọn)

Add Comment