Tại sao điều này cần phải tạm thời?
Nó thực hiện điều này vì nó cung cấp các phương thức tùy chỉnh readObject
và writeObject
làm công việc tuần tự hóa tốt hơn mặc định. Cụ thể, phương thức writeObject chỉ viết kích thước và chuỗi các phần tử. Điều này tránh tuần tự hóa đối tượng mảng riêng mà 1) có đầu trang và chi phí của riêng nó và 2) thường được đệm với null
s. Tiết kiệm không gian có thể đáng kể.
(Trong thực tế, tôi không nghĩ rằng lĩnh vực này nghiêm cần được khai báo là transient
ở tất cả, nhưng nó sẽ giúp ghi lại mục đích của các nhà phát triển.)
Tại sao có thể' t lớp này được đăng theo thứ tự?
Toàn bộ lớp học ArrayList
có thể được nối tiếp . Các Object[]
có thể được đăng, nhưng họ đã chọn để thực hiện nó một cách khác.
1 - Thực ra, điều này phụ thuộc vào loại thời gian chạy của các phần tử. Ví dụ: nếu bạn cố gắng tuần tự hóa một tham chiếu ArrayList
chứa tham chiếu Thread
, thì bạn sẽ nhận được ngoại lệ thời gian chạy cho tham chiếu không null đầu tiên.
Nguồn
2012-03-24 00:47:29