Bất cứ ai cũng có thể giải thích tại sao các dòng bên dưới xuất hiện trong bảng điều khiển đầu ra khi chạy?Ý nghĩa của thông báo "Loại bỏ lớp"
(một câu trả lời có thể sẽ tràn ngập PermGen, nhưng điều này có thể được loại trừ khả năng kể từ khi chương trình chỉ sử dụng 24MB ra khỏi max100MB sẵn trong PermGen)
[Dỡ lớp sun.reflect.GeneratedSerializationConstructorAccessor28]
[Dỡ lớp sun.reflect.GeneratedSerializationConstructorAccessor14]
[Dỡ lớp sun.reflect.GeneratedSerializationConstructorAccessor4]
[Dỡ lớp sun.reflect.GeneratedMethodAccessor5]
[Dỡ lớp sun.reflect.Gen eratedSerializationConstructorAccessor38]
[Dỡ lớp sun.reflect.GeneratedSerializationConstructorAccessor36]
[Dỡ lớp sun.reflect.GeneratedSerializationConstructorAccessor22]
[lớp Dỡ sun.reflect.GeneratedSerializationConstructorAccessor8]
[Dỡ lớp sun.reflect.GeneratedSerializationConstructorAccessor39]
[Dỡ lớp sun.reflect.GeneratedSerializationConstructorAccessor16]
[Dỡ lớp sun.reflect.GeneratedSerializationConstructorAccessor2]
[Dỡ lớp sun.reflect.GeneratedConstructorAccessor1]
chương trình này chạy với params sau:
-Xmx160M
-XX: MaxPermSize = 96M
-XX: PermSize = 96M
-XX: + UseConcMarkSweepGC
-XX: + UseParNewGC
-XX: + PrintGCTaskTimeStamps
-XX: + PrintHeapAtGC
-XX: + PrintTenuringDistribution
-XX: + PrintGCDetails
-XX: + Pr intGCDateStamps
-XX: + PrintGCTimeStamps
verbose: gc
-Xloggc: /logs/gc.log
Có rất nhiều không gian trong heap và trong PermGen.
cảm ơn - Tôi hiểu ý của bạn là ...nhưng tại sao những thông điệp này được chuyển hướng đặc biệt vào bảng điều khiển đầu ra, thay vì, ví dụ, các bản ghi gc? Họ có một số loại ý nghĩa đặc biệt (tác động đến hiệu suất có thể)? – Eleco
Theo như tôi biết nó là theo mặc định không đăng nhập. Nó sẽ chỉ được ghi lại khi bạn sử dụng đối số '-verbosegc'. Bạn đang thực thi JVM như thế nào? Bạn đã sử dụng đối số nào (hoặc IDE)? Điều này sẽ không có tác động hiệu suất. GC thường chỉ chạy khi có chỗ cho (tức là JVM không có gì khác để làm) hoặc tại thời điểm cuối cùng khi đạt đến bản ghi tối đa. Các nhật ký này chỉ hữu ích cho các mục đích không chính thức/gỡ lỗi. – BalusC
Tôi đã chỉnh sửa câu hỏi ban đầu để bao gồm các công tắc JVM được sử dụng ... Tôi có thể nghĩ rằng bất kỳ thông báo liên quan đến gc nào cũng sẽ đi tới tệp nhật ký gc.log, nhưng sau đó có thể xóa phần mềm giải quyết là trường hợp đặc biệt. – Eleco