Cách tôi nhìn thấy nó (sửa tôi nếu tôi sai) một lớp được lưu trữ, do đó cần tìm kiếm đường dẫn lớp là cần thiết lần đầu tiên lớp được tham chiếu. Nó sẽ chỉ xảy ra thường xuyên như trình khởi tạo tĩnh được gọi, chỉ là một lần trong suốt vòng đời của chương trình. (hoặc cụ thể hơn, Trình tải lớp)Là một đường dẫn lớp lớn của nhiều tệp jar (có lẽ thậm chí không được sử dụng) không hiệu quả
Nhưng trong trường hợp có một chương trình dài, dài bao gồm nhiều thư viện có thể hoặc không được sử dụng.
Các tệp Jar có được tải vào bộ nhớ, gây ra việc sử dụng không cần thiết do thực tế là hầu hết các lớp không bao giờ được sử dụng? Nó sẽ ở lại trong bộ nhớ?
Tham chiếu thư mục có phải là tùy chọn tốt hơn không? Hoặc là tệp Jar đã được giải nén vào một vị trí tạm thời để bắt đầu?
Sử dụng phương pháp thư mục có nhanh hơn phương pháp tệp Jar không?
Có hợp lý để trích xuất tất cả các tệp Jar vào một thư mục duy nhất, để giảm số lượng vị trí trong đường dẫn lớp không? Khi nào thì đây là một ý tưởng hay?
Thư mục trung tâm không phân tích cú pháp vừa được ánh xạ (mmap) vào bộ nhớ và được giải quyết khi cần thiết (Tôi không nhớ lại mã hoàn toàn tốt nhưng cảm thấy gần như tích cực) – bestsss
** Thực hiện truy cập tệp trên nhiều tệp sẽ không hiệu quả. JDK đã sử dụng một zip cho các lớp hệ thống trước khi jars. ** Đây là một điểm thú vị. Cách tôi nhìn thấy nó, sử dụng một jar (hoặc zip) tập tin là một thương mại-off. Sử dụng bộ nhớ bổ sung có nghĩa là tải lớp nhanh hơn. Cảm ơn vì thông tin của bạn. –
@bestsss Khi cố gắng tìm một lớp học, mỗi bình sẽ cần được mở trong thời hạn. Bạn sẽ rất may mắn xảy ra để có tất cả các lớp học của bạn trong lọ sớm. Bạn cũng có thể gặp sự cố khi tìm kiếm tài nguyên chẳng hạn. –