ä½¿ç¨ NetBeans Profiler 5.5
æ§è½åæç»æ - å åä½¿ç¨æ åµ
åæå åä½¿ç¨æ 嵿¶ï¼âæ§è½åæç»æâæ ç¾å°æ¾ç¤ºæå ³å¯¹è±¡åé åæ´»å¨æ§çæ°æ®ã鿩以䏿§è½åæä»»å¡æ¶ï¼å°æ¾ç¤ºè¿äºç»æï¼
- åæå åä½¿ç¨æ åµ
- è¿è¡å®å¶çæ§è½åæä¸çå åæ§è½åæã
åæå åä½¿ç¨æ 嵿¶ï¼æ¾ç¤ºçæ§è½åæç»æåå³äºå¯¹ä¸åé项çéæ©ï¼
- è®°å½å¯¹è±¡å建ååå¾åæ¶ï¼å¯¹è±¡æ´»å¨æ§ï¼
æ¤é项æä¾äºæå ³ä»å¤äºæ´»å¨ç¶æçæ¯ç§ç±»åç对象æ°éçç¸å ³ä¿¡æ¯ä»¥åæå ³æ´»å¨å¯¹è±¡çæ°æ®ã
- ä»
è®°å½å¯¹è±¡å建ï¼å¯¹è±¡åé
ï¼
æ¤é项æä¾äºæå ³å·²åé å¯¹è±¡çæ°éãç±»ååä½ç½®çç¸å ³ä¿¡æ¯ãæ¤æ§è½åææ¨¡å¼æ¯å¯¹è±¡æ´»å¨æ§æ§è½åæçä¸ä¸ªåè½åéãæä¾ä¸¤ç§æ¨¡å¼çåå æ¯ï¼å纯é对对象åé èè¿è¡æ§è½åææ¶ï¼é æçæ§è½å½±ååå åå¼éè¾å°ã
è¦æå¼âæ§è½åæç»æâæ ç¾ï¼è¯·åå» "Profiler" çªå£ä¸çâ宿¶ç»æâæé® (
)ã
å¯¹è±¡æ´»å¨æ§ç»æ
åæå¯¹è±¡æ´»å¨æ§æ¶ï¼âæ§è½åæç»æâæ ç¾ä¸å°æ¾ç¤ºä»¥ä¸ä¿¡æ¯ï¼å廿¤å¤å¯æ¥çå¯¹è±¡æ´»å¨æ§æ§è½åæç»æç¤ºä¾ï¼ã
- æ´»å¨åèï¼å¾å½¢ï¼
- æ´»å¨åèï¼æ°åï¼
- æ´»å¨å¯¹è±¡
è¿æ¯æ¤æ¶ç»å®ç±»çè·è¸ªæ´»å¨å¯¹è±¡ç大å°åæ°éãè·è¸ªçå¯¹è±¡æ¯ææåé 对象çåéï¼å°æ¶éè¿äºåé å¯¹è±¡çæ è·è¸ªï¼ç¡®å®å ¶å¤§å°å¹¶çè§å ¶æ´»å¨ç¶æã请åè§æ¤ç»è®¡æ°æ®æ¶éæ¹æ³ç详ç»ä¿¡æ¯ãå¨å¯¹è±¡åé æ§è½åæä¸ï¼å»ºè®®åªå¯¹ä¸å°é¨åå¯¹è±¡ï¼æ¯å¦ååä¹ä¸æäºååä¹ä¸ï¼è¿è¡è·è¸ªï¼ä»¥ä¾¿æ§å¶æ¶é´å空é´å¼éãå¯ä»¥å¨âåæå åä½¿ç¨æ åµâå½ä»¤å¯¹è¯æ¡ä¸æ´æ¹è·è¸ªç对象æ¯ä¾ï¼ä¹å¯ä»¥å¨æ§è¡å®å¶å åæ§è½åææ¶æ´æ¹è¯¥æ¯ä¾ã
- è·è¸ªçå·²åé
对象æ°
è¿æ¯è·è¸ªçå·²åé å¯¹è±¡çæ»æ°ã
- å¹³å对象çåæ
è¿æ¯è·è¸ªç该类活å¨å¯¹è±¡çå¹³åçåæã对象çåææ¯ä»¥è¯¥å¯¹è±¡åæ´»æé´çåå¾åæ¶ (Garbage Collection, GC) 次æ°è¿è¡æµéçã使ç¨å¹´ä»£å¼åå¾åæ¶å¨ï¼å®æ¯ HotSpot JVM ç缺çåæ¶å¨ï¼æ¶ï¼Profiler ç®åæ æ³åºåé¨åï¼å¹¼å¹´ï¼å宿´åå¾åæ¶ãå¹³åçåææ¯ææå¯¹è±¡çåæä¹åé¤ä»¥å¯¹è±¡æ°æå¾çç»æã
- åæ´»ç年代æ°
对äºç¹å®ç±»çå¯¹è±¡çæ¹æ³ï¼æµéå ¶åæ´»çå¹´ä»£æ°æ¯ä»¥ä¸ç§å¤æçæ¹å¼è¿è¡è®¡ç®çãæ¬è´¨ä¸ï¼å®è¡¨ç¤ºç±»å¯¹è±¡çå个对象çåæçæ»æ°ã妿æä¸ªç±»çè¿ä¸æ°åæç»ç¨³æ¥å¢é¿ï¼é常表æåºç°äºå åæ³æ¼ãè¿æ¯å 为å åæ³æ¼ï¼æè³å°æ¯æå±é©çä¸ç§å åæ³æ¼ï¼æ¯è¿æ ·ä¸ç§æ åµï¼ä¸ç´ä¸ºæä¸ªç±»åé 对象ï¼ä½è³å¤åæ¶é¨å对象ãéè¿è·å¾æ³æ¼ç±»çååè°ç¨å¾å½¢ï¼å¯ä»¥ç¡®å®åªä¸ªåé ä½ç½®åæ´»çå¹´ä»£æ°æå¤ï¼å³åªä¸ªåé ä½ç½®çæäºå¤§é¨åæå ¨é¨æ³æ¼å¯¹è±¡ãäºè§£åé 对象çä½ç½®å¾å¾æå©äºæ¥æå åæ³æ¼çåå ã
- åé
çå¯¹è±¡æ»æ°
æ¤ç±»çå·²åé å¯¹è±¡æ»æ°ãæ¤æ°åä¾¿æ¯æ§è¡å¯¹è±¡åé æ§è½åææ¶å¾å°çæ°åï¼å®è¡¨ç¤ºç»å®ç±»å®é æ¾ç»åé çå¯¹è±¡æ»æ°ã
éè¿åå»ç¸åºçåæ é¢æä½¿ç¨æ¬å°å¼¹åºå¼èåï¼å¯ä»¥æä»»ä½ä¸è¿°æ°å对类è¿è¡æåºãä¹å¯ä»¥éæ©åæ¢åææäºç±»ã
忢忿äºç±»
å¨åæå¯¹è±¡æ´»å¨æ§æ¶ï¼å¯ä»¥éå¶æåæçç±»ãæ¨å¯ä»¥å³é®åå»æä¸ªç±»ä»¥æå¼ä¸ä¸æèåï¼å ¶ä¸å å«ç¨äºåæ¢åæéå®ç±»çéé¡¹ï¼æè ç¨äºåæ¢åæéå®ç±»ä¸é¢ååºçææç±»çé项ãå¨åæå å«å¤§éç±»çåºç¨ç¨åºå¹¶å·²ç¡®å®æ¨éè¦æ³¨æçç±»ï¼ä¾å¦ï¼çåææé¿çç±»ææ³æ¼ç±»ï¼æ¶ï¼æ¤é项é常æç¨ãå¨è¿ç§æ åµä¸ï¼éè¿åæ¢åæææå ¶ä»ç±»æ¥é¿å ä¸å¿ è¦çè¿è¡æ¶å¼éï¼å¯è½å¾é«ï¼æ¯å¾ææä¹çã
Profiler å¦ä½è·è¸ªå¯¹è±¡æ´»å¨æ§
Profiler ä¼ä¸ç´å¹¶ä¸åªè·è¸ªå·²æ³¨ååé
çå¯¹è±¡çæ´»å¨æ§ç¶æãä¹å°±æ¯è¯´ï¼å®ä¸åæäºå
¶ä»å·¥å
·é£æ ·çæå å¿«ç
§ï¼èæ¯å¨å
é¨å° Java WeakReference ä¸å®å·²æ³¨ååé
ç对象ç¸å
³èã妿å¨ç¨åºæ§è¡è¿ç¨ä¸å¯å¨å¯¹è±¡æ´»å¨æ§åæï¼æå¨æ§è½åæå¤äºæ´»å¨ç¶ææ¶è°ç¨âæ§è½åæâ>âéç½®æ¶éçç»æâ
ï¼åå¾å¯è½æ æ³çå°ç®æ VM å ä¸çæææ´»å¨å¯¹è±¡ãç¶èï¼ä¸è§£å³å¯¹è±¡æ´»å¨æ§æ§è½åææéè¦é®é¢ - ä¸ç´åé
è¿å¤ç对象åå
åæ³æ¼ - ç¸æ¯ï¼è¿å¹¶ä¸æ¯ä¸ä¸ªä¸¥éé®é¢ãå¨ä¸è¿°æ
åµä¸ï¼äºè§£åºç¨ç¨åºç®ååé
ç对象æ°åä½ä¸ºåå¾åæ¶çå¯¹è±¡æ°æ¯äºè§£å¾ä¹
以åï¼çè³æ¯å¨åºç¨ç¨åºå¯å¨æ¶ï¼åé
çå¯¹è±¡æ°æ´ä¸ºéè¦ã
对象åé ç»æ
åæå¯¹è±¡åé æ¶ï¼âæ§è½åæç»æâæ ç¾æ¾ç¤ºä¸ä¸ªç±»å表ï¼å æ¬æ°ç»ç±»ï¼ï¼ååºäºååºåæå½ä»¤ååé ç对象å®ä¾çæ»å¤§å°åæ°éï¼å廿¤å¤å¯æ¥ç对象åé æ§è½åæç»æç¤ºä¾ï¼ã
å¨å¯ç¨å¯¹è±¡åé æ§è½åæåï¼ä¾¿ä¼å¯¹ç®æ JVM å½åè£ å ¥çææç±»ï¼åæ¯ä¸ªè£ å ¥çæ°ç±»ï¼è¿è¡æ§è½åæä»¥çææå ³å¯¹è±¡åé çä¿¡æ¯ãProfiler æä¾ç对象åé æ°æ¯åç¡®æ°åï¼å°½ç®¡ç¼ºçæ åµä¸å¯¹è±¡æ»å¤§å°åååè°ç¨å¾å½¢é½æ¯ä»¥ç»è®¡æ¹å¼è·å¾çãæå ³ Profiler å¦ä½æ§è¡æ¤æä½ç详ç»ä¿¡æ¯ï¼è¯·åè§å åæ§è½åæä¸çä¸å®å ¨ç»è®¡æ°æ®æ¶éã
使ç¨ç»æï¼æ³æ¼åºç¨ç¨åº
以䏿¯ä¸ä¸ªå卿³æ¼çåºç¨ç¨åºï¼åæ¥ç¡®å® String ç±»çå®ä¾å卿³æ¼ãè¿æ¯å 为ï¼å°½ç®¡æ¤ç±»å¯¹è±¡æ¬èº«çæ°éç¸å¯¹è¾å°ï¼ä½å ¶åæ´»ç年代æ°è¿å¤§äºå ¶ä»ç±»å对象ç年代æ°ï¼èä¸è¿ä¸æ°åè¿å¨æç»å¢é¿ï¼

éåï¼æä»¬æ¥æä»£ç ä¸å卿³æ¼ç String å®ä¾ï¼ä¸âå¥åº·âString å®ä¾ç¸å¯¹ï¼çä½ç½®ï¼æ¤ä½ç½®çåæ´»å¹´ä»£æ°åæ ·è¿å¤§äºå ¶ä»ä½ç½®çåæ´»å¹´ä»£æ°ï¼ã

å¦è¯·åè§
