Netbeans IDE Profiler คืออะไร?

หลายคนอาจเห็นเครื่องมือเกะกะๆ หลายๆอย่างบน Netbeans IDE วันนี้เลยขอนำเสนอ Profiler ซึ่งเป็นการรันโปรแกรมอีกรูปแบบหนึ่ง ทำอะไรได้บ้าง ไปดูกัน...

บอกก่อนครับว่า Profiler เป็นการรันโปรแกรมโดยจะสามารถดูการทำงานของเธรด (Thread Monitoring) การใช้ CPU และการใช้ Memory ครับ ซึ่งจะสามารถดูรายละเอียดต่างๆเมื่อเวลาเปลี่ยนไป หรือเมื่อมีเหตุการณ์ใดๆ (Event) เกิดขึ้น

เมื่อเรากด Profile และเลือก project ที่ต้องการแล้ว จะมีหน้าต่างขึ้นมาให้เราแบบนี้ครับ


ซึ่งจะเป็นหน้าต่างให้เราเลือกว่าเราต้องการจะ Profile project ของเราแบบไหนครับ เลือกแล้วกด Run ก็จะมีการ run project ขึ้นมาครับ เหมือนเรารันปกตินั่นแหละ แต่ในตัว Netbeans จะมีการแสดงผลที่แตกต่างออกไปครับ คือมีหน้าจอให้เราดูว่าเมื่อเราทำอะไรกับโปรแกรมเราไปแล้ว จะมีผลลัพธ์อย่างไร ส่งผลอะไรต่อ Thread, CPU หรือ Memory ของเราอย่างไรบ้างครับ

หน้าจอนี้จะเป็นส่วน Monitor นะครับ เป็นการทำงานของ Thread แต่ละตัวว่าตัวไหนทำงานอย่างไร



หน้าจอนี้จะเป็นส่วนของการทำ Profile Memory เพื่อดูการใช้เนื้อที่ในหน่วยความจำ ตัวแปรตัวไหนกินมากตัวไหนกินน้อย บางทีเราอาจเขียนด้วยความสะดวก แต่บางครั้งก็ใหญ่เกินไป ถ้าปรับได้ก็ควรปรับเพื่อประสิทธิภาพของโปรแกรมครับ ^^



ในส่วนนี้จะเป็นการ Profile CPU ครับ เอาไว้สำหรับดูว่า Function/Method หรือว่า Class ไหนถูกใช้งานมากครับ เช่น มีการเรียกใช้บ่อยๆ ระยะเวลาที่มีการเรียกใช้ ทำให้เราสามารถดูได้ว่า ส่วนไหนถูกใช้มาก/น้อย หรืออาจไม่ถูกเรียกใช้เลย


ภาษา JAVA เป็นภาษาที่ทำงานค่อนข้างช้าอยู่แล้ว ดังนั้นถ้าจะเขียนโปรแกรมด้านนี้ ต้องใส่ใจให้มากกับส่วนเล็กๆน้อยที่อาจทำให้โปรแกรมของเราช้าได้ แม้ว่ามันจะช้า แต่ด้วยความสามารถที่หลากหลายและความเหนือด้าน cross-platform ก็ทำให้นักพัฒนาโปรแกรมคอกาแฟเป็นที่ต้องการมากมายครับ 


Note ภาพที่แสดงเป็น .gif ที่แปลงมาจากวีดีโออีกทีนะครับ มันอาจจะเร็วกว่าความเป็นจริงไปหน่อย เพื่อเป็นการไม่เสียเวลานะครับ

Facebook Comment

Recent Posts

Popular post of 7 days

Portal คืออะไรกันนะ???

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

เรื่องของ ++i กับ i++

Popular

[Java] Java 8 DateTime ใหม่ ไฉไลกว่าเดิม

Portal คืออะไรกันนะ???

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

เรื่องของ ++i กับ i++

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

Port Forwarding สำหรับคนใช้ AIS Fibre

[Java] Java Static Variable และ Static Method

วิธีการสมัคร Apple Developer Program และ Enterprise Program ฉบับลงมือเอง

Android Auto & Apple Carplay คืออะไร ใช้งานยังไง