問題タブ [dynamic-class-loaders]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - クラスインスタンスを再作成せずに再利用する
私はすでにロードし、すでにクラスで newInstance() を実行した一連のクラスを持っています。newInstance() を再度実行する必要なく、これらのクラスを再利用し、現在の状態も再利用したいと考えています。すでにインスタンス化されたクラスを再作成せずに再利用できるように、 newInstance() の使用を置き換える方法はありますか (したがって、すべての状態が失われます)。どうすればいいですか?
注: クラスローディングに関する以前の投稿がありますが、これら 2 つの投稿の背後にある問題は同じではありません。
java - 文字列のみを使用した動的クラスローディング
オペレーティング システムのファイル システムにファイルを作成して格納することなく、実行時に Java クラスをコンパイルしてロードする方法はありますか?
Java クラスの文字列表現を含むデータベース レコードがあるとします。その文字列を Java メモリにプルします。私の目標は、その文字列を Java クラスにコンパイルしてから、そのクラスをロードすることです。
これを明確にさせてください。どのオペレーティング システムでも、.java ファイルや .class ファイルとは何の関係もありません。
これは可能ですか?そしてどうやって?
たとえば、実行時に Groovy クラスをロードし、メソッドを呼び出すコードを次に示します。
しかし、私たちは次のようなことをすることができます:
?
java - Java RMI を使用する場合、コードはどこで実行されますか?
Java RMI の経験がないので、素朴な質問がありますが、インターネットを検索しても答えがわかりません。
質問:
私には、2 つのシナリオがあります。
シナリオ 1 : ローカルから Java プログラムを開始し、実行中にリモート マシンに保存されているクラスからメソッドを呼び出し、そのメソッドのクラスがローカル マシンにダウンロードされ、実行を再開します。
シナリオ 2 : ローカルから Java プログラムを開始し、実行中にリモート マシンに格納されているクラスからメソッドを呼び出し、そのメソッドがリモート マシンで実行され、結果がローカル マシンに返されます。 . (これにはクラス/オブジェクトの転送が必要ですか? )
Java RMI はどれを使用しますか? それともどちらでもない?
RPC のウィキペディアから: 「RPC により、コンピューター プログラムはサブルーチンまたはプロシージャを別のアドレス空間 (通常は共有ネットワーク上の別のコンピューター) で実行できます」、それは 2 番目のシナリオのようです。
しかし、この論文Reducing Data Transfer during Remote Classloading in Java RMIによると、それは最初のシナリオのようです。
java - RMIClassLoader と URLClassLoader を使用するシナリオは?
これら 2 つのローダーの一般的な目的を説明できる人はいますか?
そして、それらの主な違いは何ですか?
それらはどのような典型的なシナリオで使用されますか?
java - -Xbootclasspath/p:path を使用してクラスをロードする方法は?
-Xbootclasspath/p:path がクラスを動的にロードするために使用されているのを見ましたが、例を挙げて詳しく説明してください。
java - URI を構築するための Oracle ドキュメントの使用方法
私はURL API
Oracleのドキュメントを調べました。URI
リモートマシンに配置された参照を構築したいのですJars
が、仕様からそれらの使用方法を理解できません。このドキュメントはRFC2396
、仕様についての参照を提供します。しかし、それも具体的な使用例を提供していません。
java - デフォルト以外のパッケージからのクラスのロード
実行時にクラスを動的にロードしようとしたときに、そのクラスがデフォルト パッケージではないパッケージでコンパイルされた場合、ClassNotFound 例外が発生します。
例:パッケージ名:「モデル」。クラス名:「Cup.class」。これは私のコードです:
java - 実行時にダウンロードしたjarファイルから不明なクラスをロードする方法は?
クライアントサーバーアプリケーションを構築しています。実行時に、クライアント アプリケーションはサーバー アプリケーションから jar ファイルをロードして保存します。クライアントとサーバー アプリケーションの両方を jar ファイルとして実行します。このダウンロードした jar ファイルに含まれるクラスをロードしたいと思います。
たとえば、インターフェイス A と A を実装するクラス B があります。クライアント アプリケーションは、クラス B、その名前、さらにはその存在について知りません。クライアント アプリケーションの起動後、クライアント アプリケーションは次のコンテンツを含む jar ファイルを含む jar ファイルをダウンロードします: server/package/B.class ここで、server と package はフォルダーです。
クライアント アプリケーションは、次のコードを使用して、ダウンロードした jar ファイルからこのクラス B をロードする必要があります。
しかし、その後ClassNotFoundException
、最後の行に a が表示されます。最初にjarファイルを抽出する必要がありますか? jar ファイルのフォルダー構造は、サーバー アプリケーションの bin ディレクトリのフォルダー構造に似ています。