ホームページ >Java >&#&チュートリアル >Java リフレクションはアプリケーションのパフォーマンスに大きな影響を与えますか?

Java リフレクションはアプリケーションのパフォーマンスに大きな影響を与えますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-03 14:08:11383ブラウズ

Does Java Reflection Significantly Impact Application Performance?

Java リフレクションはパフォーマンスに影響しますか?

コンストラクターを直接呼び出す代わりにリフレクションを使用してオブジェクトをインスタンス化すると、コストがかかる操作になります。リフレクションに関する Java のドキュメントに記載されているように:

「リフレクションには動的に解決される型が含まれるため、特定の Java 仮想マシンの最適化は実行できません。その結果、リフレクション操作は非リフレクション操作よりもパフォーマンスが低下するため、回避する必要があります」パフォーマンス重視のアプリケーションで頻繁に呼び出されるコード内です。"

Sun JRE 6u10 を使用した簡単なテストでは、次の結果が得られました。結果:

  • 非反射方式: 35 ミリ秒
  • 反射方式: 465 ミリ秒

ルックアップとインスタンス化が一緒に行われても、リフレクションは依然として行われます。パフォーマンスが発生するペナルティ:

  • 非反射方式: 30 ミリ秒
  • 反射方式 (1 回のルックアップ): 47 ミリ秒

これらの結果は、反射が次のように行われるべきであることを強調しています。パフォーマンス重視のコードでは避けられます。

以上がJava リフレクションはアプリケーションのパフォーマンスに大きな影響を与えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。