Có cách nào để phát hiện sự kết thúc của giai đoạn khởi động của JVM không?phát hiện sự kết thúc của giai đoạn khởi động của JVM
chỉnh sửa ::
như vậy để cung cấp bối cảnh hơn một chút, những gì tôi đang cố gắng làm là để cụ JDK. Và đây là một công cụ thổi đầy đủ ghi lại mọi lệnh mã byte LOAD, STORE, INVOKE. Khi các lệnh được thực hiện, dữ liệu của chúng được gửi đến một phương thức tĩnh, được nạp từ xbootclasspath. Phương thức tĩnh này nắm bắt tất cả thông tin này và lưu trữ tất cả các thông tin này như một dấu vết để thực hiện phân tích sau này.
Bây giờ, khi tôi làm điều này cho JDK, tôi không muốn làm phiền cách thức các lớp được nạp trong JVM, điều này có thể dẫn đến sự cố chương trình. Tôi đã đoán rằng cách tốt nhất để đi về nó là để phát hiện các điểm trong thời gian khi JVM được thực hiện bootstrapping, để tôi có thể an toàn bật thiết bị của tôi sau đó. (Tôi có kế hoạch không cụ bất kỳ mã nào, trong khi việc khởi động đang diễn ra.) Đây có phải là cách đúng đắn để đi về nó không?
Bạn có nghĩa là từ bên trong mã java chưa được tải của bạn? Hoặc từ một chương trình bên ngoài? là để tải/hồ sơ? –
Khi JVM tải chậm, điều này không bao giờ thực sự xảy ra. Bạn có thể có các lớp được tải lần đầu tiên khi tắt máy. –
@PeterLawrey Điều đó có đúng với các lớp lõi của rt.jar không? –