JavaScriptを使用したスクリプトにJavaのNashornエンジンを使用するには、次の手順に従う必要があります。
ScriptEngineManagerを作成する: ScriptEngineManager
、スクリプトエンジンを見つけて管理する責任があります。次のコードを使用して、 ScriptEngineManager
のインスタンスを作成します。
<code class="java">ScriptEngineManager manager = new ScriptEngineManager();</code>
Nashorn Engineを入手: ScriptEngineManager
からNashorn Engineを名前または拡張機能で取得できます。ナショーンエンジンを取得するには、使用できます。
<code class="java">ScriptEngine engine = manager.getEngineByName("nashorn");</code>
または
ScriptEngine engine = manager.getEngineByExtension("js");
JavaScriptコードの評価:エンジンができたら、JavaScriptコードを評価できます。 JavaScriptコードを文字列としてエンジンのeval
方法に渡すことができます。
<code class="java">String script = "print('Hello, Nashorn!');"; engine.eval(script);</code>
Java Objectsとの対話:Nashornでは、JavaScriptからJavaオブジェクトと直接対話できます。たとえば、Javaメソッドに電話するか、Javaクラスを使用できます。
<code class="java">String script = "var ArrayList = Java.type('java.util.ArrayList'); var list = new ArrayList(); list.add('Nashorn'); print(list);"; engine.eval(script);</code>
これらの手順に従うことにより、Nashornを使用してJavaアプリケーション内でJavaScriptを実行できます。
JavaScriptコードをNashornを使用してJavaアプリケーションに統合するには、2つの言語間のシームレスな実行と相互作用を確保する一連のステップが含まれます。ここに詳細なガイドがあります:
ScriptEngineManagerの作成:このステップは、スクリプトエンジンの管理に不可欠です。 ScriptEngineManager
インスタンスを作成します。
<code class="java">ScriptEngineManager manager = new ScriptEngineManager();</code>
ナショーンエンジンを取得する:マネージャーを使用して、ナショーンエンジンを取得します。
<code class="java">ScriptEngine engine = manager.getEngineByName("nashorn");</code>
JavaScriptコードのロード:文字列、ファイル、またはリソースからJavaScriptコードをロードできます。文字列からの読み込みの例は次のとおりです。
<code class="java">String script = "function greet(name) { return 'Hello, ' name '!'; }"; engine.eval(script);</code>
JavaScript関数を実行する:スクリプトが読み込まれたら、JavaのJavaScript関数を呼び出すことができます。例えば:
<code class="java">Invocable invocable = (Invocable) engine; Object result = invocable.invokeFunction("greet", "World"); System.out.println(result); // Outputs: Hello, World!</code>
Java-to-Javascriptの相互作用を処理します:JavaオブジェクトをJavaScriptに渡すことができ、その逆も同様です。たとえば、JavaScriptでJavaオブジェクトを使用する場合:
<code class="java">engine.put("javaList", new ArrayList<String>()); String script = "javaList.add('JavaScript');"; engine.eval(script);</code>
エラー処理:適切なエラー処理を実装して、スクリプトの実行中に発生する可能性のある例外をキャッチおよび管理するには:
<code class="java">try { engine.eval(script); } catch (ScriptException e) { e.printStackTrace(); }</code>
これらの手順に従うことにより、Nashornを使用してJavaアプリケーション内でJavaScriptコードを正常に統合および実行できます。
JavaのNashorn Engineが実行するJavaScriptスクリプトのパフォーマンスを最適化するには、次の戦略を検討してください。
-Dnashorn.codegen.opts=
などのJVMフラグを使用して微調整できます。-XX: TieredCompilation
や-XX:TieredStopAtLevel=1
などのJVMオプションを使用して、起動時間とスループットを改善します。これらの最適化手法を実装することにより、JavaのNashornが実行したJavaScriptスクリプトのパフォーマンスを大幅に改善できます。
Javaアプリケーション内でJavaScriptの実行にNashornを使用する場合、スムーズな動作とパフォーマンスを確保するために、一般的な落とし穴に注意することが重要です。注意すべき重要な問題は次のとおりです。
これらの一般的な落とし穴を認識することにより、ナショーンを安全かつ効果的に使用するためのアプリケーションをより適切に準備できます。
以上がJavaScriptを使用したスクリプトにJavaのナショーンエンジンを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。