VisualVM มีสองแท็บแยกต่างหากสำหรับการสุ่มตัวอย่างและการทำโปรไฟล์ ความแตกต่างระหว่างการสุ่มตัวอย่างและการทำโปรไฟล์ใน VisualVM คืออะไร?
VisualVM มีสองแท็บแยกต่างหากสำหรับการสุ่มตัวอย่างและการทำโปรไฟล์ ความแตกต่างระหว่างการสุ่มตัวอย่างและการทำโปรไฟล์ใน VisualVM คืออะไร?
คำตอบ:
Sampling
หมายถึงการทิ้งเธรดจำนวนมากและวิเคราะห์การติดตามสแต็ก โดยทั่วไปแล้วจะเร็วกว่าไม่ต้องการการเปลี่ยนแปลงรันไทม์ในไบต์ของคุณ (ซึ่งอาจทำให้แตก) แต่ก็แม่นยำน้อยกว่าเช่นกัน
Profiling
วิธีinstrumentingชั้นเรียนและวิธีของคุณเพื่อให้พวกเขา "รายงาน" เมื่อใดก็ตามที่พวกเขาจะวิ่ง วิธีนี้มีความแม่นยำมากกว่าเนื่องจากนับทุกการเรียกใช้ของวิธีการใช้เครื่องมือไม่ใช่เฉพาะสิ่งที่จับได้เมื่อทำการถ่ายโอนข้อมูลเสร็จสิ้น อย่างไรก็ตามการใช้เครื่องมือหมายความว่า bytecode ของชั้นเรียนของคุณมีการเปลี่ยนแปลงและสิ่งนี้อาจทำลายโปรแกรมของคุณ ที่จริงแล้วด้วยเหตุผลดังกล่าวการใช้การทำโปรไฟล์บนแอ็พพลิเคชันเซิร์ฟเวอร์ขนาดใหญ่ (เช่น JBoss หรือ WebLogic) มักจะทำให้ทุกอย่างตายหรือแขวน