!!!hprofとは? {{category Java,nolink}}アプリケーションのパフォーマンスチューニングなどに使用するツールとしてプロファイラがある。最近は、[[Eclipse の TPTP|Eclipse/JavaProfiling]] や NetBeans Profiler などフリーのプロファイラがいくつかある。 Java SE にも標準で hprof というプロファイラが付属している。hprofは、J2SE 1.4.2 までは [JVMPI|http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/jvmpi/jvmpi.html] (Java1.5は非推奨、Java6からは廃止)を、J2SE 5.0 以降は [JVMTI|http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/jvmti/jvmti.html] を利用したプロファイラエージェントで、ヒープや実行時間のプロファイリングなど基本的な機能が提供されている。 hprof を利用するには、J2SE 1.4.2 までは「-Xrunhprof」起動オプションを、J2SE 5.0 以降は「-agentlib:hprof」という起動オプションを指定しJavaアプリケーションを実行する。また、JDK6 からは、hprof の結果を扱いやすくするためのツール jhat が付属されるようになった(注:JRE6には付属しない)。 !!起動オプション 使い方はヘルプ・オプションで表示できる。(1.4.2 までの「-Xrunhprof」は [[Java/hprof(jvmpi)]] を参照) D:\>java -version java version "1.6.0_11" Java(TM) SE Runtime Environment (build 1.6.0_11-b03) Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing) D:\>java -agentlib:hprof=help HPROF: Heap and CPU Profiling Agent (JVMTI Demonstration Code) hprof usage: java -agentlib:hprof=[help]|[