UUID — 불변의 범용 고유 식별자

UUID — 불변의 범용 고유 식별자

불변의 범용 고유 식별자(universally unique identifier, UUID) 를 나타내는 클래스예요. UUID는 128비트 값을 나타내요.

출처: Java API Reference

본문

public final class UUID extends Object implements Serializable, Comparable<UUID>

이 클래스의 메서드는 Leach-Salz 변형을 다루기 위한 것이며, 생성자는 모든 변형의 UUID 생성을 허용해요.

variant 2(Leach-Salz) UUID의 배치

가장 중요한 long(상위 64비트)은 다음 부호 없는 필드로 구성돼요:

0xFFFFFFFF00000000 time_low
0x00000000FFFF0000 time_mid
0x000000000000F000 version
0x0000000000000FFF time_hi

가장 덜 중요한 long(하위 64비트)은 다음 필드로 구성돼요:

0xC000000000000000 variant
0x3FFF000000000000 clock_seq
0x0000FFFFFFFFFFFF node

variant 필드는 UUID의 배치를 식별하는 값을 담아요. version 필드는 UUID의 타입을 설명하는 값을 담아요. 네 가지 기본 타입은 시간 기반(version 1), DCE 보안(version 2), 이름 기반(version 3), 무작위 생성(version 4)이에요.

생성자

  • UUID(long mostSigBits, long leastSigBits) — 지정된 데이터로 새 UUID를 생성해요.

주요 정적 메서드

  • randomUUID() — 무작위로 생성된 version 4 UUID를 반환해요.
  • nameUUIDFromBytes(byte[] name) — 지정된 바이트 배열의 이름 기반 UUID(version 3)를 반환해요.
  • fromString(String name)toString으로 생성된 문자열 표현에서 UUID를 생성해요.

주요 인스턴스 메서드

  • version() — 이 UUID의 버전을 반환해요.
  • variant() — 이 UUID와 연결된 변형 값을 반환해요.
  • timestamp() — 이 UUID의 타임스탬프 값을 반환해요.
  • clockSequence() — 이 UUID의 시계 시퀀스 값을 반환해요.
  • node() — 이 UUID의 노드 값을 반환해요.
  • compareTo(UUID val) — 이 UUID를 지정된 UUID와 비교해요.
  • toString() — 이 UUID의 문자열 표현을 반환해요.

자세한 내용은 RFC 4122: A Universally Unique IDentifier (UUID) URN Namespace를 참고해요.

  • 도입 시점(Since): 1.5

더 알아보기 (Learn more)