Tôi không hiểu, tại sao tab mới cần xóa.
Nó không phải là một bảng mới ... nó chỉ là một biến địa phương.
tôi có thể nghĩ ra ba lý do có thể:
Độ khó, theo đề nghị của @Bhesh Gurung ... mặc dù nó hầu như không tạo sự khác biệt ở đây (IMO).
Nó có thể giảm thiểu (phần nào) thiệt hại gây ra nếu một sợi gọi clear()
trong khi luồng thứ hai thực hiện cập nhật có thể làm cho bảng được mở rộng. Nhưng nó chắc chắn không khắc phục được vấn đề, vì vậy tôi sẽ có khuynh hướng loại bỏ điều này như là vô nghĩa.
Nó có thể cải thiện hiệu suất; ví dụ. vì trình tối ưu hóa biết rằng tham chiếu trong biến cục bộ tab
không thể thay đổi, nó có thể tối ưu hóa các giới hạn mảng kiểm tra tốt hơn.
Trong số này, tôi nghĩ rằng lý do thứ 3 là hợp lý nhất.
(Tôi không nghĩ rằng đó là bất cứ điều gì để làm với các modifier transient
. Trong trường hợp này, các sửa đổi là chỉ có cho dễ đọc. Lớp HashMap
cung cấp readObject
và writeObject
đó ám chỉ rằng tranh luận transient
sửa đổi.)
Nguồn
2012-08-27 06:11:40
Có lẽ là dễ đọc. –