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. コードの実行中に一意の識別子を取得する方法
- 3. アクセサ内でプロパティの一意の識別子を取得する方法
- 4. IOS上でアプリケーションの一意の識別子を取得する方法
- 5. NW.JSのOSXで一意の識別子を取得する
- 6. アンドロイドデバイスの一意の識別子を見つける方法は?
- 7. Java 1.4でスレッドの一意の識別子を取得
- 8. 一意のフォルダ識別子
- 9. asp.netの一意の識別子パラメータを処理する方法
- 10. カスタム一意識別子カレンダーイベント
- 11. ノードレッド一意識別子
- 12. Windows Phone 7の一意の識別子を取得する正しい方法は何ですか?
- 13. golangで現在のホストの一意の識別子を取得する方法は?
- 14. Cクライアントから一意の識別子を取得する(TCPソケット)
- 15. Windowsのユーザープロファイルの一意の識別子
- 16. テーブル間の一意の識別子
- 17. Android携帯の一意の識別子
- 18. iOSコアデータオブジェクトの一意の識別子?
- 19. ワードプレスサイトの一意の識別子
- 20. NSManagedObjectの一意の識別子
- 21. Dropbox内の一意のファイル識別子
- 22. iCloud/CloudKitユーザの一意の識別子
- 23. AndroidでContextMenuの一意の識別子を取得しますか?
- 24. Asp.Net WebApi Core 2.0でクライアントの一意の識別子を取得しますか?
- 25. 識別子でオブジェクトを取得する方法は?
- 26. Javaで固定長の一意識別子を生成する方法は?
- 27. 短縮一意の識別子
- 28. ドローン一意の識別子 - モバイルSDK
- 29. Angular.js ng-repeat一意の識別子
- 30. 一意の識別子でNSManagedObjectを取得していますか?
現在の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