Мне нужен способ уникальной и постоянной идентификации экземпляра JVM из кода Java, работающего в этой JVM.
То есть, если у меня одновременно работают две JVM на одной машине, каждая из них различима.
Он также отличается от запуска JVM на других машинах и от будущих выполнений на той же машине, даже если идентификатор процесса используется повторно.
Я полагаю, что мог бы реализовать что-то подобное, определив время запуска, MAC-адрес компьютера и идентификатор процесса, и каким-то образом комбинируя их. Мне интересно, есть ли какой-нибудь стандартный способ добиться этого.
Обновление : Я вижу, что все рекомендовали UUID для всего сеанса. Это кажется хорошей идеей, хотя, возможно, слишком тяжелым. Вот моя проблема: я хочу использовать идентификатор JVM для создания нескольких уникальных идентификаторов в каждом выполнении JVM, которые каким-то образом включают экземпляр JVM.
Насколько я понимаю, вам не следует смешивать другие числа в UUID, потому что уникальность больше не гарантируется. Альтернатива состоит в том, чтобы превратить UUID в строку и связать ее, но тогда она становится слишком длинной. Есть идеи по преодолению этого?