問題タブ [jvm]
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 - JVM の外部からオブジェクトのメソッドを呼び出すにはどうすればよいですか?
明らかな void set() および String get() メソッドを使用して、入力検証で Map を効果的に装飾する非常に単純な Java クラスがあります。
これらのメソッドを効果的に呼び出して、JVM の外部からの戻り値と例外を処理できるようにしたいのですが、それでも同じマシン上で更新します。私が念頭に置いている呼び出し元は別の JVM ではありません。ありがとう@デイブ・レイ
私の実装に関する考慮事項は典型的なものです
- パフォーマンス
- 実装と保守の容易さ (単純さ?)
- 信頼性
- 柔軟性 (つまり、リモート マシンから呼び出すことができるかなど)
「正しい方法」はありますか?そうでない場合、私のオプションは何ですか? また、それぞれの長所と短所は何ですか?
(人々が実際に行って、実際のフィードバックを提供できるものは素晴らしいでしょう!)
java - 自動化された例外処理
次の機能を備えたJVMの現在の状態のスナップショットを取得できる何かが(Javaの世界に)存在するかどうか疑問に思っていました:
- 例外がスローされている間に実行してください。
- ローカル変数、メソッドの引数などをキャプチャします。
- ソースコードの状況をIDEで抽出または再現するために使用できる便利なファイルに入れます。
最初の 2 つの機能が必要です (3 つ目の機能はすばらしいでしょう)。また、本番環境での使用に適している必要があります (したがって、デバッガーについてはありません)。
これを尋ねる前に、私は WWW を (可能な限り) 検索し、いくつかの指針を見つけました。
- Cajoon Interceptor : Dzone の投稿で述べたように、3 つの要件を満たすパッシブ JVM エージェントです。しかし、これには 2 つの欠点があります。料金を支払わなければならないことと、サイトがダウンしていることです (支払う機会がない可能性があります)。
- AviCode Intercept Studio : Cajoon の .NET に相当するもの。いくつかの洞察を与えるだけです。
- JavaFrame : わかりました、ツイートですが、問題ないように見える JVM エージェントのソース コード (MIT ライセンスに基づく) を含む利用可能な SVN リポジトリを指しています (試してみます)。
それで、多分私は存在しない解決策を探していますか?緊急ではありませんが、私はあるプロジェクトについてこのアイデアを思いつきました。この「未知の」(?) パスを探索して、何か現実のものを得ることができれば素晴らしいと思います。
JVM エージェントであることは明らかなようです (たとえば、JVMTI からの例外イベント)。
最後に、ウィキペディアの例外処理の記事から次の段落を強調します。
Java や .NET などのランタイム エンジン環境には、ランタイム エンジンに接続するツールが存在し、対象の例外が発生するたびに、例外がスローされた時点でメモリに存在していたデバッグ情報を記録します (コール スタックとヒープ)。値)。これらのツールは、自動例外処理またはエラー インターセプト ツールと呼ばれ、例外の「根本原因」情報を提供します。
それがアイデアです。誰かが私に洞察を与えてくれることを願っています。あるいは、将来、誰かがこの謙虚な投稿に触発されることを願っています:)
ありがとう!
java - Windows プロキシを自動的に使用するように JVM/JRE を設定する
JVM のプロキシの設定に関する質問を見ましたが、(Windows で) 既に構成されているプロキシをどのように利用できるかを尋ねたいと思います。
これが私の問題のデモンストレーションです:
- コントロール パネル -> Java に移動し、プロキシ アドレスを設定します。
- 次の単純なアプレット コードを実行します (私は Eclipse IDE を使用しています)。
Java コントロール パネルで行った設定に関係なく、アプレットには「NONE」と表示されます。Windows プロキシ設定 (通常は Internet Explorer で設定) が私が判断できるものであるが、Java コントロール パネルで追加の構成手順を実行することは、依然として許容できる解決策である場合に最適です。
ありがとう!
java - デバッグ引数を使用してJVMを起動せずにJavaアプリケーションをデバッグします
通常、実行中のjvmにデバッガーをアタッチするには、次のような引数を使用してjvmを開始する必要があります。
デバッグモードで開始されていないプロセスをデバッグしたい場合、どうすればよいですか?
この状況は、本番システム(つまり、デバッグ引数なしで起動された)が「ランダム」(私はこの用語を大まかに使用します)バグを示したときに発生します。したがって、バグを再現する方法が誰にもわからないため、適切な引数を使用してjvmを再起動することはできません。この状況でJVMに接続することは不可能ですか?
明確にするために、jdbなどのツールを使用して、デバッグモードで開始されない限り、すでに実行中のJVMに接続することはできません。
JVMのマニュアルページから
jdbを使用する別の方法は、すでに実行されているJavaVMに接続することです。jdbでデバッグするVMは、次のオプションで起動する必要があります。
.net - .NetにJava記述子のようなものはありますか?
.NETアセンブリ用の静的分析ツールに取り組んでいます。Javaには、指定された文法で文字列内のメソッドまたはフィールドを表すために使用できる記述子があります。
フィールドの場合:
double d[][][];
になります
[[[D
これは、バイトコード分析を行うときに特に役立ちます。Cozそれは説明するのは簡単です。.NET CLRに同様のものがある場合はどうなりますか?それとも、これを達成するためのより良い方法はありますか?ありがとう!
java - Class.getConstantPool()
rt.jar ライブラリから Java のjava.lang.Classクラスを逆コンパイルすると、ネイティブ メソッド宣言があることに気付くでしょう。
少し前に、Sun の .class ファイル仕様を使用してクラスの逆コンパイルを行い、各 .class ファイルから定数プール レコードを取得することができました。しかし、それは実際にはクラスを逆コンパイルしていました。
ただ、Class クラスにこの署名があることに驚きました。そこで、Main() メソッドに小さなコードを書きました。
sun.reflect.ConstantPoolクラスを逆コンパイルすると、クラス、メソッド、パラメータ、宣言されたフィールドなどに関連する多くのメソッドがあることがわかります。
アプリを実行すると、次の HotSpot 例外が発生します。
どのクラスのConstantPoolも取得できないのはなぜですか? getConstantPool()がネイティブ/非パブリック メソッドであるという事実を考慮すると、Sun は私が直接呼び出すことを望んでいないと思います。
php - PHP は JVM 上で本当に高速ですか?
最近、Resin を使用した PHP は実際には mod_php を使用した場合よりもはるかに高速であると多くの人が説いているのを耳にしますが、ベンチマークはどこにも見つかりません。
それは本当ですか、それとも単なるベンダー BS ですか?