GroovyResourceLoaderを設定すると、必要に応じてGroovyスクリプトのリクエストが得られるようです。私はちょうどそれが特別にクラスの読み込み以外のどこでも使用されているのだろうか? ClassLoaderをラップし、GRLを使用するのではなく* .groovyファイルをロードするだけの利点はありますか?彼らは同じ目的のためにちょうど異なる方法ですか?GroovyResourceLoaderはメインClassLoaderの外部で呼び出されましたか?
0
A
答えて
0
GroovyResourceLoader(GRL)はGroovyClassLoader(GCL)によって使用され、少なくともGroovy 1.8以降はGroovyScriptEngine(GSE)を介して間接的に使用されます。しかし、GSEはGCLを通してそれをロードします。
しかし、GRLが行うことは、スクリプトを「見つけて」その場所にURLを返すことです。 GCLが行うことは、GRLによって返されたURLを使ってソースを取得し、それをコンパイルしてクラスを作成することです。
GRLはGCLのバックエンドです。彼らは同じ目的のために異なる方法ではありません。実際、スクリプトコードを実際に実行するためには(プリコンパイルされていない限り)さらに多くのことを行う必要がありますが、「スクリプトソースを取得してコンパイルし、クラスを作成してから実行してください」ということは、行う。私たちのGRL/GCLディスカッションでは、GRLが最初のステップの一部を行い、GCL自身が第3ステップを実行します。ステップ2はGCL内のCompilationUnitによって実行され、最後のステップは実行されます。もちろん、これらのステップを完了する他の方法もありますが、それはこの議論の対象外です。
関連する問題
- 1. RMI呼び出しを伴うClassLoader
- 2. アセンブリサブルーチンは、メインから呼び出されなくても2回呼び出されます。
- 3. 外部アプリケーションの呼び出し
- 4. メイン関数の呼び出し方法
- 5. 外部メソッド呼び出しヘルプ
- 6. 呼び出された(ディスパッチャを介して)呼び出し、または直接呼び出された呼び出しを同期する
- 7. Javascriptで外部APIを呼び出す
- 8. レンダリングされた部分はJavaScriptを呼び出せません
- 9. didReadRSSIはiOSでは呼び出されましたが、OS Xでは呼び出されません
- 10. 外部インテント(カメラ)を呼び出したときにデバッガが切断される
- 11. LoaderCallbacks.onLoadFinished()はFragmentPagerで呼び出されませんでしたか?
- 12. CXF REST呼び出しの呼び出し時にスローされる例外
- 13. $(ドキュメント).readyは外部関数の内部で呼び出されていますか?
- 14. オブジェクトが呼び出されました
- 15. ユニットテストデリゲートアクションが呼び出されました
- 16. 呼び出されたメソッドの複数の例外の出力
- 17. AVAudioSessionDelegateはendInterruptionで呼び出されましたが、beginInterruptionは呼び出されません
- 18. backgroundWorkerの外部クラスから呼び出されたメソッドからフォーム上のメソッドを呼び出すにはどうすればよいですか?
- 19. 間違ったスレッド例外から呼び出されました
- 20. Python:setterが呼び出されたら関数を呼び出しますか?
- 21. BinaryFormatter.DeserializeからのOutOfMemory例外(内部StringBuilder呼び出しから)
- 22. NoSuchMethodErrorがloader.loadClass()の呼び出しによって呼び出されました。
- 23. 外部呼び出しからのファイルの保護
- 24. VB6から呼び出された.netクラスからのWebサービス呼び出し
- 25. メインスレッドでアクティビティ/フラグメントのライフサイクルメソッドが呼び出されましたか?
- 26. プラグインなしのテンプレートツールキットで外部モジュールを呼び出していますか?
- 27. Java:匿名の内部クラスで外部クラスメソッドを呼び出す
- 28. Brightcoveからの外部javascript呼び出しBEML
- 29. PHP CIコントローラ機能外部フレームワークからの呼び出し
- 30. 外部クラスライブラリ呼び出しで破棄されたオブジェクトエラーにアクセスできません