Javaで計測する場合、AspectJよりもjava.lang.instrument
が優先されますが、どちらも計測器の仕事は同等です。 java.lang.instrument
を使用する利点はありますか?事前に感謝...java.lang.instrument vs AspectJ
答えて
これらは2つの全く異なるものです。 Instrumentation
APIは、JavaエージェントがJVMのより高度な機能にアクセスできるように、JVMランタイムにフックを提供します。また、クラスがロードされたときにエージェントに通知してそのクラスファイルを再定義できる、JVMのクラスローディングへのフックを提供します。同様に、すでにロードされているクラスを再定義/再変換することは可能です。
AspectJは、既存のクラスを再定義する際のより高いレベルのビューを提供するライブラリです。ポイントカットとジョインポイントで動作し、クラスの再定義方法を説明します。 AspectJによる再定義は、Mavenのようなツールの助けを借りてコンパイル時に適用されるか、AspectJはJavaエイジットとInstrumentation APIを使用して実行時にクラスの再定義を適用することができます。
AspectJがAOPであり、バイトコード操作で実装すると、AOPフレームワークを比較する方が良いです。例えば。 AspectJ対Spring AOP。 java.lang.instrument
はAOPフレームワークではありません。
Spring AOPがAspectJ上に構築されているのと比べて、最も良い比較ではありません。 –
@RafaelWinterhalterそれは絶対に真実ではありません。 SpringにはいくつかのAspectJのサポートがありますが、主なアプローチは[proxy-based]です(http://docs.spring.io/spring/docs/current/spring-framework-reference/html/aop.html#aop-introduction-proxies) 。 –
私は、インストゥルメンテーションAPIを利用するAspectJのような低レベルのソリューションの上に構築された高レベルのコード生成を提供していることを意味します。春はピラミッドの1つ上のレベルです。 –
- 1. AspectJの
- 2. AspectJの:
- 3. AspectJポイントカットマッチングパターン
- 4. のAspectJ staticinitalization
- 5. AspectJの - ダウト
- 6. AspectJとMaven
- 7. aspectjクロススレッドのポイントカット
- 8. OnItemClickListener.onItemClickのAspectJアスペクト
- 9. maven aspectj weaving NullPointerException
- 10. IntelliJ IDEA + AspectJ
- 11. AspectJのは春
- 12. SpringスコーププロキシモードAspectJ?
- 13. AspectJのJUnitテスト
- 14. Eclipse RCP AspectJ configure
- 15. AspectJとtoString()
- 16. AspectJのMethodSignature()
- 17. AspectJのウィーバーセッターパターン問題
- 18. AspectJインナークラス結合点
- 19. AspectJ操作のログ
- 20. Spring CrudRepositoryのAspectJポイントカット
- 21. AspectJのコンストラクタ力ファクトリパターン
- 22. トラブルAspectJのをインストール
- 23. Spring @Configurableアノテーションwith AspectJ
- 24. Spring Security/AspectJのポイントカット
- 25. AspectJの - パラメータ型が
- 26. Mavenを使ったAspectJのコンパイルjava.lang.NoClassDefFoundError:org/aspectj/bridge/IMessageHolder
- 27. Kotlinコンパイルエラー:未解決AspectJスーパータイプ
- 28. aspectj-maven-pluginの使い方
- 29. AspectJのメソッドパラメータの変更値
- 30. mavenとaspectjプラグイン - テストがハング
AspectJは組み込まれていませんか? – chrylis
Eclipse用のプラグインライブラリ – FAZ