ä½¿ç¨ NetBeans Profiler 5.5
设置å å«ç°æ Ant èæ¬ä¸è¦è¿è¡æ§è½åæç项ç®ï¼èªç±æ ¼å¼ç项ç®ï¼
ç®å½ï¼
- åºç¡
- åºæ¬ "profile" å "profile-single" ç®æ 示ä¾ï¼JDK 5.0 ææ´é«çæ¬ï¼
- èªç±æ ¼å¼çä¼ä¸åºç¨ç¨åºé¡¹ç®
- é«çº§
- å¼ç¨
1. åºç¡
对äºä¸ä¸ªèªç±æ ¼å¼ç项ç®ï¼æ¨å¿ é¡»ç¼åèªå·±ç Ant ç®æ æè½å¯¹é¡¹ç®è¿è¡æ§è½åæãå¨èªç±æ ¼å¼é¡¹ç®ççæèæ¬ä¸ï¼åºè¯¥ç¼å以ä¸ä¸¤ä¸ªç®æ ï¼
- ç¨äºåæé¡¹ç®çç®æ
- ç¨äºåæå个æä»¶çç®æ
妿å°èªç±æ ¼å¼é¡¹ç®è®¾ç½®ä¸ºä¸»é¡¹ç®ï¼åç¬¬ä¸æ¬¡è°ç¨âåæä¸»é¡¹ç®âæâåææä»¶âæ¶ï¼ç³»ç»å°è¦æ±æ¨æå®è¦ä½¿ç¨çç°æ Ant ç®æ ã
é常ï¼è¿äºç®æ 类似äºç°æ "run" ç®æ ï¼å¹¶å å«ä¸äºå ¶ä»åæ°ãå建 Ant ç®æ çä¸ç§æ¹æ³æ¯ï¼å¤å¶ "run" ç®æ ï¼ç¶åå°å¯æ¬éå½å为 "profile" å¹¶æ ¹æ®ä»¥ä¸è¯´æå¯¹å ¶è¿è¡ä¿®æ¹ã
å¨å¤å¶ run ç®æ ä½¿å ¶æä¸ºæ°ç profile ç®æ æ¶ï¼æ¨éè¦å¯¹ profile ç®æ è¿è¡ä¸¤å¤æ´æ¹ï¼
- å¨å¼å§ä½ç½®æ·»å 对 nbprofiledirect ä»»å¡çè°ç¨ã
- å°ä¸ä¸ªé¢å¤ JVM åæ°æ·»å å°ç¨äºå¯å¨ VM 以è¿è¡åºç¨ç¨åºçä»»å¡ä¸ãé常ï¼å¯éè¿å°ç±»ä¼¼äºä»¥ä¸å
容çåå
ç´ æ·»å å° java ä»»å¡ä¸æ¥æ§è¡æ¤æä½ï¼
<jvmarg value="${profiler.info.jvmargs.agent}"/>
2. åºæ¬ "profile" å "profile-single" ç®æ 示ä¾ï¼JDK 5.0 ææ´é«çæ¬ï¼
<target name="profile" depends="jar" description="Profile Project">
<fail unless="netbeans.home">æ¤ç®æ åªè½å¨ NetBeans IDE å
é¨è¿è¡ã</fail>
<nbprofiledirect>
<classpath> <pathelement location="... æå® ..."/> </classpath>
</nbprofiledirect>
<java ... 使ç¨ä¸ run ç®æ ç¸åç屿§...>
<jvmarg value="${profiler.info.jvmargs.agent}"/>
</java>
</target>
è¦å¯å¨ Profiler å¹¶å¨èµæºç®¡çå¨ä¸éå®æä¸ªç±»ï¼å¯ä»¥æ·»å ç¸åçç®æ å¹¶ä½¿ç¨ classname="${profile.class}"ï¼å¦ä¸æç¤ºï¼
<target name="profile" depends="jar" description="Profile File">
<fail unless="netbeans.home">æ¤ç®æ åªè½å¨ NetBeans IDE å
é¨è¿è¡ã</fail>
<nbprofiledirect>
<classpath> <pathelement location="... æå® ..."/> </classpath>
</nbprofiledirect>
<java classname="${profile.class}" ... 使ç¨ä¸ run ç®æ ç¸åç屿§ ...>
<jvmarg value="${profiler.info.jvmargs.agent}"/>
</java>
</target>
3. èªç±æ ¼å¼çä¼ä¸åºç¨ç¨åºé¡¹ç®
对äºä¸ä¸ªèªç±æ ¼å¼çä¼ä¸åºç¨ç¨åºé¡¹ç®ï¼é常使ç¨å¯å¨èæ¬æ¥å¯å¨æå¡å¨ï¼è䏿¯ç´æ¥ä½¿ç¨ java å½ä»¤ãå æ¤ï¼æ æ³æä¸è¿°æ¹æ³ä½¿ç¨ <jvmarg .../> å
ç´ ä¸ºå
¶ä¼ éå
¶ä»åæ°ãè¦è¿è¡æ§è½åæï¼æ¨å¿
é¡»ä¿®æ¹æå¡å¨çå¯å¨èæ¬ä»¥å¯¹å
¶è¿è¡é
ç½®ã
å»ºè®®çæ¹æ³æ¯ï¼å建æ°çèæ¬ä»¥å¯å¨æå¡å¨æ¥è¿è¡æ§è½åæï¼å¹¶å¨ profile ç®æ ä¸ä½¿ç¨æ°èæ¬ãProfiler è¿æ¥å导å¯ä»¥ä¸ºæ¨å建修æ¹çå¯å¨èæ¬ã妿æå¡å¨ä¸æ¯æèªå¨éæï¼åå¯ä»¥æç
§å坼䏿ä¾çæå¨éææ¥éª¤æå¨åå»ºèæ¬ã对äºä»¥ä¸ä¸¤ç§æ
åµï¼é½éè¦å°éæè®¾ç½®ä¸ºâæ¬å°/ç´æ¥âè¿æ¥ã
ç¨äºåæèªç±æ ¼å¼çä¼ä¸åºç¨ç¨åºé¡¹ç®çå ¶ä½æ¥éª¤ä¸åææ å J2SE 项ç®çæ¥éª¤ç¸åã
4. é«çº§
以ä¸é¨ååæ°ç使ç¨è½ç¶æ¯å¯éçï¼ä½å®ä»¬å¯ä»¥æé«æ¨ä» IDE 䏿§å¶ Profiler 设置çè½åï¼
- æ·»å
jvm="${profiler.info.jvm}"屿§ï¼ä»¥ä½¿ç¨å¨ IDEâé项âçªå£ï¼âå·¥å ·â>âé项â> "Profiler"ï¼ä¸éæ©ç JDK æ¥å¯å¨æ§è½åæã - æ·»å
dir="${profiler.info.dir}"屿§ï¼ä»¥ä½¿ç¨å¨ NetBeans Profiler å¯¹è¯æ¡ä¸æå®çå·¥ä½ç®å½æ¥å¯å¨åæçåºç¨ç¨åºã - æ·»å
<jvmarg line="${profiler.session.jvm.args}"/>ï¼ä»¥ä¾¿å¨ NetBeans Profiler é ç½®ä¸æå®å®å¶ç JVM åæ°åå·¥ä½ç®å½ã妿åå¤ä½¿ç¨é¢å¤çåæ°æ¥ä¼å VM å¹¶éè¦å¨ NetBeans Profiler ä¸è§å¯è¿äºå·®å¼ï¼è¿å¯è½ä¼ç¹å«æç¨ã
以䏿¯ä¸ä¸ªå®æ´çæ§è½åæç®æ 示ä¾ï¼æ¨å¯ä»¥ä» Profiler çç¨æ·çé¢ä¸æ§å¶å·¥ä½ç®å½ãJVM å JVM åæ°ï¼
<target name="profile" depends="jar" description="Profile Project">
<fail unless="netbeans.home">æ¤ç®æ åªè½å¨ NetBeans IDE å
é¨è¿è¡ã</fail>
<nbprofiledirect>
<classpath> <pathelement location=" ... æå® ..."/> </classpath>
</nbprofiledirect>
<java fork="true" classname="... æå® ..." dir="${profiler.session.working.dir}" jvm="${profiler.info.jvm}">
<jvmarg value="${profiler.info.jvmargs.agent}"/>
<jvmarg line="${profiler.info.jvmargs}"/>
<classpath> <pathelement location="... æå® ..."/> </classpath>
</java>
</target>
5. å¼ç¨
以䏿¯ä»âåæé¡¹ç®âæâåææä»¶âèå项ä¸è°ç¨æ§è½åææ¶è®¾ç½®ç屿§ï¼
- profile.class - 妿è°ç¨âåææä»¶âï¼åå å«è¦åæçç±»çåç§°ï¼Java æ ·å¼ï¼
- profiler.info.single.file - å¦æä½¿ç¨âåææä»¶âï¼åå å«è¦åæçç±»çæä»¶å
- profiler.info.jvm - éå®è¿è¡æ§è½åæç JVM ç Java 坿§è¡æä»¶çè·¯å¾
- profiler.info.jvmargs - å¨ IDE ä¸éå®ç JVM åæ° - å¨é¡¹ç®å®å¶å¨ä¸é宿å¨å®å¶æ§è½åæé ç½®ä¸è¦ç
- profiler.info.jvmargs.agent - ç¨äºå¨ VM ä¸å¯å¨ Profiler 代çç JVM åæ°
- profiler.info.agentpath - Profiler 代ççè·¯å¾
- profiler.info.project.dir - è¿è¡æ§è½åæç项ç®ç项ç®ç®å½
- profiler.info.dir - NetBeans Profiler åºç¨ç¨åºçå·¥ä½ç®å½
