Xét đoạn mã sau:Các lớp ẩn danh "caching" của Java có được không?
for(int i = 0;i < 200;i++)
{
ArrayList<Integer> currentList = new ArrayList<Integer>() {{
add(i);
}};
// do something with currentList
}
- Làm thế nào Java sẽ đối xử với lớp của
currentList
? - Nó sẽ coi nó là một lớp khác nhau cho mỗi trong số 200 đối tượng?
- Đây có phải là lần truy cập hiệu suất ngay cả sau khi đối tượng đầu tiên được tạo không?
- Bộ nhớ đệm có bằng cách nào đó không?
Tôi chỉ tò mò :)
Afaik một lớp ẩn danh là một lớp đơn giản chỉ với một tên được tạo. chỉ có bấy nhiêu thôi. Caching được thực hiện như với mọi class trong classloader. – ZeissS
thực sự điều này sẽ tạo ra một lỗi trình biên dịch: 'i' không phải là cuối cùng, đó sẽ là ý tưởng tồi cho bộ đếm vòng lặp. Nhưng một câu hỏi hay! –