Tôi luôn tự hỏi, tại sao Java yêu cầu bạn đặt kích thước heap theo cách thủ công? Tôi đã được ấn tượng rằng các chương trình được viết bằng các ngôn ngữ khác sẽ chỉ phân bổ bộ nhớ khi cần thiết khi chương trình chạy cho đến khi hệ điều hành có thể cấp phát không còn nữa.Tại sao bạn cần xác định kích thước heap Java?
Trong thế giới Java, chúng ta cần đặt kích thước heap, stack và permgen. Mặc dù điều này đơn giản là đủ để làm tăng những con số này thành số lượng "đủ lớn" là lý do số 1 mà tôi thấy máy chủ bị hỏng.
Tại sao không thể nói cho Java phát triển heap/stack/permgen nhiều như nhu cầu theo thời gian?
Bạn có nguồn cho điểm đầu tiên không? Tôi chưa bao giờ nghe "java đã được dự định để viết các ứng dụng web" điều trước (không phải là tôi đã đi delving vào lịch sử của java, hoặc là ...) – Mike
Holy mis-moderation.Java được lấy từ Oak, có nghĩa là để thực hiện phần mềm hộp set-top, giống như loại mà bạn có thể có trong các bộ điều chỉnh truyền hình cáp tinh vi. Và như xa như các bộ sưu tập rác đi, rác được thu thập khi đối tượng không thể tiếp cận, không phải khi đạt đến giới hạn bộ nhớ. –
@Edwin Buck: 'rác được thu thập khi đối tượng không thể truy cập được, không phải khi đạt đến giới hạn bộ nhớ' Đúng, nhưng chúng không phải là" ngay lập tức "GCd. Làm thế nào nhanh chóng, bạn phải làm phụ thuộc vào kích thước heap và có thể cực kỳ quan trọng cho hiệu suất. –