ä½¿ç¨ NetBeans Profiler 5.5
CPU æ§è½åæè®¾ç½®
å¨è¿è¡å®å¶çæ§è½åææ¨¡å¼ä¸ï¼æ¨å¯¹ææå¯ç¨çå 鍿§è½åæè®¾ç½®æ¥æå®æ´çæ§å¶æãéæ© CPU æ§è½åææ¶ï¼å¯ä»¥éæ©åææ´ä¸ªåºç¨ç¨åºãåæé¨ååºç¨ç¨åºæåæåºç¨ç¨åºå¯å¨æ¶çæ§è½æ åµã
éæ©âCPU æ§è½åæâé项æ¶ï¼å°æå¼ä»¥ä¸è®¾ç½®å¯¹è¯æ¡ï¼
åææ´ä¸ªåºç¨ç¨åºæé¨ååºç¨ç¨åºæ¶ï¼å¯éè¿ä¿®æ¹ä»¥ä¸åºæ¬è®¾ç½®åé«çº§è®¾ç½®æ¥ä¼åæ§è½åæé ç½®ï¼
åºæ¬é项
- æ¹æ³è·è¸ªï¼å®æ´ï¼ç²¾ç¡®çè°ç¨æ å计æ¶ï¼ææ½æ ·ï¼ç²¾ç¡®çè°ç¨æ åæ½æ ·è®¡æ¶ï¼ãå¨ CPU æ§è½åææé´ï¼Profiler 卿¯ä¸ªè¢«åæçæ¹æ³å¼å§ä½ç½®æå
¥âæ¹æ³è¿å
¥âè°ç¨ï¼å¹¶å¨æ¯ä¸ª return åæå
¥âæ¹æ³éåºâè°ç¨ãå¨å®æ´çåææ¨¡å¼ä¸ï¼æ¯ä¸ªâæ¹æ³è¿å
¥âåâæ¹æ³éåºâè°ç¨é½ä¼çæä¸ä¸ªæ¶é´æ³ï¼å¹¶ä¸å°è¿äºæ¶é´æ³ä¹é´çå·®å¼ä½ä¸ºå¨æ¤æ¹æ³ä¸è±è´¹çæ¶é´è¿è¡è®¡ç®ã卿½æ ·çåææ¨¡å¼ä¸ï¼ä¸ä¼å¨æ¯ä¸ªâæ¹æ³è¿å
¥â/âæ¹æ³éåºâè°ç¨ä¸çææ¶é´æ³ï¼èæ¯å¨æå®çæ¯ä¸ªæ½æ ·æ¶æ®µå¿«è¦ç»ææ¶åºç°çé£äºè°ç¨ä¸çææ¶é´æ³ã
æå ³è¯¦ç»ä¿¡æ¯ï¼è¯·åè§å®æ´åæä¸æ½æ ·åæã - åæå¨æ ¹æ¹æ³æ§è¡ä¸å¯å¨çæ°çº¿ç¨ã妿é䏿¤é项ï¼åä¼è®© Profiler åæåºç¨ç¨åºè¿å
¥æ ¹åææ¹æ³åå¯å¨çä»»ä½çº¿ç¨ç代ç ï¼è¯·åè§åæå线ç¨åå¤çº¿ç¨åºç¨ç¨åºï¼ã
å¨âæ´ä¸ªåºç¨ç¨åºâ模å¼ä¸è¿è¡æ§è½åææ¶çä¸å°æ¤è®¾ç½®ï¼å 为æ¤é项æ¯ç¼ºçéå®çã
- æé¤å¨ Thread.sleep() å Object.wait() ä¸è±è´¹çæ¶é´ã妿é䏿¤é项ï¼åä¸ä¼å¨åæä¸å å«è¿äºæ¶é´ã
- åæè¿æ»¤å¨ãå¯éè¿æå®åæè¿æ»¤å¨æ¥éå¶åæçç±»æ°ãæå ³è¯¦ç»ä¿¡æ¯ï¼è¯·åè§å建å®å¶çè¿æ»¤å¨éåã
é«çº§é项
âé«çº§âé项æ ç¾ä¸æä¾äºä»¥ä¸é项ã
- éå¶åæççº¿ç¨æ°ãå¯ä»¥éå¶åæççº¿ç¨æ°ãæ¯å½æªæ³¨åç线ç¨è¿å
¥åæçä»£ç æ¶ï¼æ¤è®¡æ°å¼ä¼åå°ãå½å®è¾¾å°é¶æ¶ï¼å°åæ¢æ³¨åæ°çº¿ç¨ãä»
为注åççº¿ç¨æ¶éæ§è½åææ°æ®ãæ¯æ¬¡è°ç¨âæ§è½åæâ>âéç½®æ¶éçç»æâ(
) æ¶ï¼è®¡æ¶å¨å°é置为ä¸é¢æå®çå¼ãæå
³è¯¦ç»ä¿¡æ¯ï¼è¯·åè§åæå线ç¨åå¤çº¿ç¨åºç¨ç¨åºã - 使ç¨çº¿ç¨ CPU 计æ¶å¨ãå¯ä»¥ä½¿ç¨ä¸åç§ç±»çæä½ç³»ç»è®¡æ¶å¨æ¥çææ¹æ³è¿å ¥/éåºäºä»¶çæ¶é´æ³ãç¼ºçæ åµä¸ï¼ä½¿ç¨ç»å¯¹è®¡æ¶å¨æ¥æµéç»å¯¹æ¶é´æ Wall Clock æ¶é´ãçº¿ç¨ CPU 计æ¶å¨åªæµéæ§è¡ç»å®çº¿ç¨æè±è´¹çæ¶é´ãå®é ä¸ï¼æ¯æ¬¡ CPU 忢æ§è¡ä»£è¡¨ç»å®çº¿ç¨çä»£ç æ¶ï¼æä½ç³»ç»é½å°æå该计æ¶å¨ï¼å¹¶å¨æ¯æ¬¡æ§è¡åæ¢åè¯¥çº¿ç¨æ¶æ¢å¤æ§è¡ã该é项åªéç¨äº Solaris æä½ç³»ç»ãæå ³è¯¦ç»ä¿¡æ¯ï¼è¯·åè§ä½¿ç¨ä¸åç§ç±»ç计æ¶å¨ã
- åæï¼æ¹æ¡ãéè¿éæ©åææ¹æ¡ï¼æ¨å¯ä»¥éå¶åæçæ¹æ³æ°ãé常ï¼åæçæ¹æ³æ°ä¸åæåºç¨ç¨åºæ¶å ¶å®é è°ç¨çæ¹æ³æ°ç¸åæé常æ¥è¿æ¶æ¯æçæ³çæ åµãâé¨ååºç¨ç¨åºâçç¼ºçæ¹æ¡ä¸º "Lazy"ãé常ï¼å½æ¨éè¦åæä¸é¨ååºç¨ç¨åºä»£ç ï¼ä¾å¦ï¼ä» åæåºç¨æå¡å¨ä¸è¿è¡çä¸ä¸ªæè¥å¹²ä¸ª Servletï¼æ¶ï¼è¿æ¯æåéçæ¹æ¡ï¼å 为å®åæçæ¹æ³æ°æå°ã使¯ï¼å¦æè¦åæåºç¨ç¨åºå¯å¨æ¶çæ§è½æ 嵿忿´ä¸ªåºç¨ç¨åºï¼å¦çæ¶é´è¿è¡çå½ä»¤è¡å®ç¨ç¨åºï¼ï¼ä½¿ç¨ "Total" åæå¯è½æ´éåã对äºâæ´ä¸ªåºç¨ç¨åºâ模å¼ï¼"Total" åæä¸ºç¼ºçå¼å¹¶ä¸ä¼éè该æ§ä»¶ãæå ³è¯¦ç»ä¿¡æ¯ï¼è¯·åè§åææ¹æ¡ã
- åæ/ä¸åæåç§ç¹æ®ç Java æ¹æ³ãéä¸âåæ Method.invoke()âæ¶ï¼å°è·è¸ªå¹¶åæä½¿ç¨âJava åå°âï¼å³ java.lang.reflect.Method.invoke() è°ç¨ï¼å®æçææè°ç¨ãå¦åï¼å°ä¸è·è¸ªè¿äºè°ç¨ã
å ¶ä»ä¸¤ä¸ªé项ç¨äºæå® Profiler æ¯å¦åºè¯¥åæ get/set å¯¹è±¡åæ®µçæ¹æ³ï¼ä»¥åä¸å å«ä»»ä½å¯æ§è¡ä»£ç çæ¹æ³ãé常ï¼åæè¿äºæ¹æ³å¹¶æ²¡æä»ä¹æä¹ï¼å 为 HotSpot JVM é常ææå°å¯¹å ¶è¿è¡äºä¼åï¼å®ä»¬çæ§è¡æ¶é´é常å¯å¿½ç¥ä¸è®¡ã使¯ï¼å¦æè¦è¿è¡åæï¼å®ä»¬å¯è½ä¼æ¾èå°å¢å æ§è½åæå¼éãè¯·ä» å¨éè¦äºè§£è¿äºæ¹æ³æ¯å¦è¢«è°ç¨åè°ç¨æ¬¡æ°æ¶æéä¸è¿äºå¤éæ¡ã

代ç çæ®µé项
妿鿩åæä»£ç çæ®µï¼åå¯è®¾ç½®çåæ°åªæè¢«åæçº¿ç¨çæå¤§æ°éåç¼å²åºå¤§å°ã
å¦è¯·åè§
