UUID — 불변의 범용 고유 식별자
UUID — 불변의 범용 고유 식별자
불변의 범용 고유 식별자(universally unique identifier, UUID) 를 나타내는 클래스예요. UUID는 128비트 값을 나타내요.
본문
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