問題タブ [classloader]

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.

0 投票する
6 に答える
4480 参照

java - 起動時に JVM に Web アプリ クラスをプリロードするにはどうすればよいですか?

私たちの Web アプリでは、一部のページの最初の読み込みに、クラスの読み込みのためにわずかではありますがかなりの時間がかかります。起動時に Web アプリケーション クラスを JVM にプリロードする賢い方法はありますか?


更新: 現在行っていることは、完全なクラス名の束 (700) を db テーブルに格納することです。起動時にテーブルを読み取り、Class.forName() を実行します。それはうまくいきますが、もっと賢いアプローチがあるかもしれないと思いました。プロファイラーを使用して、起動時に参照された 700 クラスを特定しました。

0 投票する
3 に答える
5830 参照

java - jar の起動時に Java クラス/ライブラリをプリロードしますか?

サーバーへの最初の RPC 呼び出し中にタイムアウトが発生しますが、その後の要求は成功します。サーバーは、最初の呼び出し時に要求を処理するために必要なライブラリをロードするため、応答でタイムアウトします。この遅延により、一部のクライアントがタイムアウトします。クライアントのタイムアウト遅延を増やすことは可能ですが、クラスのロードがアプリケーションの応答性に与える影響を最小限に抑えたいと考えています。

.jarアプリケーションのファイルが最初に実行されるときに、クラスのロードによって最初の呼び出しで遅延が発生しないように、Java クラス ファイルをプリロードするにはどうすればよいでしょうか。

0 投票する
1 に答える
482 参照

java - Java エージェントの興味深い用途は何ですか?

Java 5 以降では、クラス ローダーに Java エージェントを追加するオプションがあります。

エージェントを書いたことがありますか? エージェントを使用したことがありますか?エージェントの興味深い用途は何ですか?

0 投票する
2 に答える
1446 参照

java - メイン実行クラスのフルパスをプログラムで見つけるにはどうすればよいですか

コマンドラインでフルパス名をプログラムに渡すことなく、プロパティファイルをプログラムでローカルにしようとしています。メイン クラスのパスを見つけることができれば、プロパティ ファイルを同じディレクトリまたはサブディレクトリに貼り付けることができます。

それがうまくいかない場合、コマンドラインで渡さずにプロパティファイルのパスを見つけることができる他の方法があります。

ありがとう

0 投票する
5 に答える
13741 参照

java - JVM リソースの読み込みをデバッグするには?

JVM でのクラスのロードをデバッグするには、 param を使用できますが、-verbose:classリソースのロード (プロパティ ファイルなど) をデバッグする方法を知っている人はいますか?

0 投票する
3 に答える
16951 参照

java - classloader.getSystemResourceAsStream が null を返す

ファイルの実際のパスを使用せずにプロパティ ファイルを読み込もうとしています。私はすでに他のいくつかの単純なアプリでそれを行っています:

しかし、今回はうまくいきません。inputStream が何らかの理由で null です。PROPERTIES_FILE は、「app.properties」として定義される定数です。.properties 拡張子を削除しようとしましたが、同じ結果が得られました。

何か案は?

ありがとう。

0 投票する
4 に答える
10404 参照

java - 私のJavaクラスはファイルシステムのどこからロードされましたか?

これは、すべてのJavaプログラマーが十分な長さでそれを行う場合に遭遇する状況だと思います。デバッグを行って、クラスに変更を加えています。プログラムを再実行しようとすると、これらの変更は反映されていないように見えますが、古いクラスはまだ実行されているようです。同じ問題で、すべてをクリーンアップして再構築します。同じクラスが複数回クラスパス上にあるというクラスパスの問題が発生する場合がありますが、ロードされているクラスがどこから来ているのかを簡単に把握する方法はないようです...

ロードされたクラスのファイルパスを見つける方法はありますか?.classクラスがファイルまたはファイルからロードされた場合に機能する好ましいもの.jar。何か案は?