Javaコードは、実行中のJVMの一意の識別子をどのように取得できますか? Unixシステムでは、私が探しているものの例は、JVMが実行されているプロセスのPIDです(JVMとプロセスの間に1対1のマッピングがあると仮定します)。一意のJVM識別子を取得する方法は?
9
A
答えて
9
JVMごとに一意のIDを作成する簡単な方法の1つは、空きポートを取得するポート0を使用するように設定された静的ServerSocketを開始することです。同じポートに2つのServerSocket(JVMなど)が存在することはできないため、すべて一意になり、ポート番号を照会できます。静的なため、JVMあたり1つしかありません。
これはあなたが持っている権限にもよりますが、ほとんどの場合はうまく動作し、常に「127.0.0.1」にバインドして制限を守らないようにすることができます。あなたが複数のホストマシン間で複数のJVMを持っている場合は
static ServerSocket myssock;
static int myid;
static {
myssock = new ServerSocket(0);
myid = myssock.getLocalPort();
}
は、あなたはネットワーク全体で固有JVMのIDを作成するために、マシンのLAN IPに上記を組み合わせることができます。
2
我々が使用している:少なくとも日/オラクルのJVMで<pid>@<hostname>
のようなものを与える
import java.lang.management.ManagementFactory;
String jvmName = ManagementFactory.getRuntimeMXBean().getName();
。
関連する問題
- 1. 関数の一意の識別子を取得する方法
- 2. IOS上でアプリケーションの一意の識別子を取得する方法
- 3. アクセサ内でプロパティの一意の識別子を取得する方法
- 4. アンドロイドデバイスの一意の識別子を見つける方法は?
- 5. Java 1.4でスレッドの一意の識別子を取得
- 6. 一意のフォルダ識別子
- 7. asp.netの一意の識別子パラメータを処理する方法
- 8. Windows Phone 7の一意の識別子を取得する正しい方法は何ですか?
- 9. golangで現在のホストの一意の識別子を取得する方法は?
- 10. Windowsのユーザープロファイルの一意の識別子
- 11. NSManagedObjectの一意の識別子
- 12. Android携帯の一意の識別子
- 13. iOSコアデータオブジェクトの一意の識別子?
- 14. テーブル間の一意の識別子
- 15. 識別子でオブジェクトを取得する方法は?
- 16. Angular.js ng-repeat一意の識別子
- 17. Javaで固定長の一意識別子を生成する方法は?
- 18. 一意の識別子でNSManagedObjectを取得していますか?
- 19. セグの識別子を取得する方法
- 20. softalyer orderItemの識別子を取得する方法
- 21. iOS用のAdobe AIRで一意の識別子(MACアドレス、UDIDなど)を取得
- 22. ディレクトリ内の一意のファイルを識別する方法は?
- 23. iphoneコアデータ内のエンティティの一意の識別子を作成する方法
- 24. MYSQLで一意の識別子フィールドを持つテーブルを作成する方法
- 25. コンピュータ上のOSを一意に識別する方法は?
- 26. HttpServletRequestからURLフラグメント識別子を取得する方法
- 27. WCF - チャンネル識別子を取得する方法?
- 28. iOSデバイス識別子を取得する
- 29. Pharo/Squeakでトランスクリプトウィンドウを一意に識別する方法は?
- 30. 接続を一意に識別する方法は?
現在のJavaプロセスからプロセスIDを取得する方法の詳細は、http://stackoverflow.com/questions/35842/process-id-in-javaを参照してください。 [このブログのエントリー](http://blog.igorminar.com/2007/03/how-java-application-can-discover-its.html)にも良い情報があります。 – prunge