JavaTM Platform
Standard Ed. 6

java.util
클래스 UUID

java.lang.Object 
  상위를 확장 java.util.UUID
모든 구현된 인터페이스:
Serializable , Comparable <UUID >


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

불변의 UUID (유니버설 고유 식별)를 나타내는 클래스입니다. UUID 는, 128 비트치를 나타냅니다.

이러한 글로벌 식별자에는, 다양한 형식이 존재합니다. 생성자 을 사용하면 임의의 형식의 UUID 를 작성할 수 있습니다만, 이 클래스의 메소드는 Leach-Salz 형식의 조작용 메소드입니다.

형식 2 (Leach-Salz) UUID 의 레이아웃은, 다음과 같습니다. 최상정도의 long 는, 다음의 부호 없음 필드로 구성됩니다.

0xFFFFFFFF00000000 time_low
0x00000000FFFF0000 time_mid
0x000000000000F000 version
0x0000000000000FFF time_hi
 
최하정도의 long 는, 다음의 부호 없음 필드로 구성됩니다.
0xC000000000000000 variant
0x3FFF000000000000 clock_seq
0x0000FFFFFFFFFFFF node
 

variant 필드에는,UUID 의 레이아웃을 식별하는 값이 포함됩니다. 전술의 비트 배열은, Leach-Salz 형식을 나타내는 형식치 2 를 보관 유지하는 UUID 에서만 유효합니다.

version 필드에는, 이 UUID 의 형태를 나타내는 값이 포함됩니다. UUID 에는 4 종류의 기본 타입이 있습니다. 시간 베이스 UUID, DCE 시큐리티 UUID, 이름 베이스 UUID, 및 랜덤 생성 UUID 입니다. 이러한 형태는, version 치 1, 2, 3, 및 4 를 각각 보관 유지합니다.

UUID 의 작성에 사용되는 알고리즘등의 상세한 것에 대하여는,「RFC 4122: A Universally Unique IDentifier (UUID) URN Namespace」 의 섹션 4.2 「Algorithms for Creating a Time-Based UUID」를 참조해 주세요.

도입된 버젼:
1.5
관련 항목:
직렬화 된 형식

생성자 의 개요
UUID (long mostSigBits, long leastSigBits)
          지정된 데이터를 사용해, 새로운 UUID 를 구축합니다.
 
메소드의 개요
 int clockSequence ()
          이 UUID 에 관련한 클락 순서치 14 비트의 클락 순서치는, 이 UUID 의 클락 identification sequence field로부터 구축됩니다.
 int compareTo (UUID  val)
          이 UUID 가 지정된 UUID 와 비교합니다.
 boolean equals (Object  obj)
          이 객체가 지정된 객체와 비교합니다.
static UUID fromString (String  name)
          캐릭터 라인 표준 표현으로부터 UUID 를 작성합니다.
 long getLeastSignificantBits ()
          이 UUID 의 128 비트치의 최하정도 64 비트를 돌려줍니다.
 long getMostSignificantBits ()
          이 UUID 의 128 비트치의 최상정도 64 비트를 돌려줍니다.
 int hashCode ()
          UUID 의 해시 코드를 돌려줍니다.
static UUID nameUUIDFromBytes (byte[] name)
          지정된 바이트 배열에 근거하는, 타입 3 (이름 베이스) UUID 취득용의 Static 팩토리
 long node ()
          이 UUID 에 관련한 노드치 48 비트의 노드치는, 이 UUID 의 노드 필드로부터 구축됩니다.
static UUID randomUUID ()
          타입 4 (의사 랜덤 생성) UUID 를 취득하기 위한 static 팩토리.
 long timestamp ()
          이 UUID 에 관련한 타임 스탬프치 60 비트의 타임 스탬프치가, 이 UUID 의 time_low, time_mid, 및 time_hi 필드로부터 구축됩니다.
 String toString ()
          이 UUID 를 나타내는 String 객체를 돌려줍니다.
 int variant ()
          이 UUID 와 관련지을 수 있었던 형식 번호.
 int version ()
          이 UUID 와 관련지을 수 있었던 버젼 번호.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , finalize , getClass , notify , notifyAll , wait , wait , wait
 

생성자 의 상세

UUID

public UUID(long mostSigBits,
            long leastSigBits)
지정된 데이터를 사용해, 새로운 UUID 를 구축합니다. UUID 의 최상정도 64 비트에는 mostSigBits 가 사용됩니다. leastSigBits 는,UUID 의 최하정도 64 비트가 됩니다.

파라미터:
mostSigBits -
leastSigBits -
메소드의 상세

randomUUID

public static UUID  randomUUID()
타입 4 (의사 랜덤 생성) UUID 를 취득하기 위한 static 팩토리. 이 UUID 는, 암호 강도의 높은 의사 난수 제네레이터를 사용해 생성됩니다.

반환값:
랜덤에 생성된 UUID

nameUUIDFromBytes

public static UUID  nameUUIDFromBytes(byte[] name)
지정된 바이트 배열에 근거하는, 타입 3 (이름 베이스) UUID 취득용의 Static 팩토리

파라미터:
name - UUID 의 구축에 사용하는 바이트 배열
반환값:
지정된 배열로부터 생성된 UUID

fromString

public static UUID  fromString(String  name)
캐릭터 라인 표준 표현으로부터 UUID 를 작성합니다. 자세한 것은,toString() 메소드를 참조해 주세요.

파라미터:
name - UUID 를 지정하는 캐릭터 라인
반환값:
지정치를 사용한 UUID
예외:
IllegalArgumentException - 이름이 toString() 의 캐릭터 라인 표현에 준거하고 있지 않는 경우

getLeastSignificantBits

public long getLeastSignificantBits()
이 UUID 의 128 비트치의 최하정도 64 비트를 돌려줍니다.

반환값:
이 UUID 의 128 비트치의 최하정도 64 비트

getMostSignificantBits

public long getMostSignificantBits()
이 UUID 의 128 비트치의 최상정도 64 비트를 돌려줍니다.

반환값:
이 UUID 의 128 비트치의 최상정도 64 비트

version

public int version()
UUID 와 관련지을 수 있었던 버젼 번호. 버젼 번호는, 이 UUID 의 생성 방법을 나타냅니다. 각 버젼 번호의 의미를, 다음에 나타냅니다.

반환값:
UUID 의 버젼 번호

variant

public int variant()
UUID 와 관련지을 수 있었던 형식 번호. 형식 번호는, 이 UUID 의 배치를 나타냅니다. 각 형식 번호의 의미를, 다음에 나타냅니다.

반환값:
UUID 의 형식 번호

timestamp

public long timestamp()
이 UUID 에 관련한 타임 스탬프치

60 비트의 타임 스탬프치가, 이 UUID 의 time_low, time_mid, 및 time_hi 필드로부터 구축됩니다. 결과적으로 얻을 수 있는 타임 스탬프는, 1582 년 10 월 15 일 UTC 의 야밤중부터 100 나노초단위로 계측 된 값이 됩니다.

타임 스탬프치는, 시간 베이스의 UUID (버젼 타입 1)에서만 유의성이 있습니다. 이 UUID 가 시간 베이스의 UUID 가 아닌 경우, 이 메소드는 UnsupportedOperationException 를 throw 합니다.

예외:
UnsupportedOperationException - 이 UUID 가 버젼 1 UUID 가 아닌 경우

clockSequence

public int clockSequence()
이 UUID 에 관련한 클락 순서치

14 비트의 클락 순서치는, 이 UUID 의 클락 identification sequence field로부터 구축됩니다. 클락 identification sequence field는, 시간 베이스 UUID 의 일시적인 일의성을 보증하기 위해서 사용됩니다.

clockSequence 치는, 시간 베이스의 UUID (버젼 타입 1)에서만 유의성이 있습니다. 이 UUID 가 시간 베이스의 UUID 가 아닌 경우, 이 메소드는 UnsupportedOperationException 를 throw 합니다.

반환값:
UUID 의 클락 순서
예외:
UnsupportedOperationException - 이 UUID 가 버젼 1 UUID 가 아닌 경우

node

public long node()
이 UUID 에 관련한 노드치

48 비트의 노드치는, 이 UUID 의 노드 필드로부터 구축됩니다. 이 필드는, 공간의 일의성을 보증하기 위해(때문에), 이 UUID 를 생성한 머신의 IEEE 802 주소를 보관 유지하는 것을 목적으로 하고 있습니다.

노드치는, 시간 베이스의 UUID (버젼 타입 1)에서만 유의성이 있습니다. 이 UUID 가 시간 베이스의 UUID 가 아닌 경우, 이 메소드는 UnsupportedOperationException 를 throw 합니다.

반환값:
UUID 의 노드치
예외:
UnsupportedOperationException - 이 UUID 가 버젼 1 UUID 가 아닌 경우

toString

public String  toString()
UUID 를 나타내는 String 객체를 돌려줍니다.

UUID 캐릭터 라인 표현은, 다음의 BNF 로 기술되는 대로입니다.

 UUID                   = <time_low> "-" <time_mid> "-"
                          <time_high_and_version> "-"
                          <variant_and_sequence> "-"
                          <node>
 time_low               = 4*<hexOctet>
 time_mid               = 2*<hexOctet>
 time_high_and_version  = 2*<hexOctet>
 variant_and_sequence   = 2*<hexOctet>
 node                   = 6*<hexOctet>
 hexOctet               = <hexDigit><hexDigit>
 hexDigit               =
       "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
       | "a" | "b" | "c" | "d" | "e" | "f"
       | "A" | "B" | "C" | "D" | "E" | "F"
 

오버라이드(override):
클래스 Object 내의 toString
반환값:
UUID 의 캐릭터 라인 표현

hashCode

public int hashCode()
UUID 의 해시 코드를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
UUID 에 사용하는 해시 코드값
관련 항목:
Object.equals(java.lang.Object) , Hashtable

equals

public boolean equals(Object  obj)
이 객체가 지정된 객체와 비교합니다. 결과가 true 가 되는 것은, 인수가 null 는 아니고,UUID 객체이며, 이 UUID 와 같은 형식, 같은 값, 빗트포빗트를 보관 유지하는 경우만입니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
obj - 비교 대상의 객체
반환값:
객체가 같은 경우는 true, 그렇지 않은 경우는 false
관련 항목:
Object.hashCode() , Hashtable

compareTo

public int compareTo(UUID  val)
이 UUID 가 지정된 UUID 와 비교합니다.

UUID 가 다른 최상정도 필드가 최초의 UUID 보다 큰 경우, 2 개의 UUID 중 최초의 것이 2 번째의 것에 계속됩니다.

정의:
인터페이스 Comparable <UUID > 내의 compareTo
파라미터:
val - 이 UUID 와 비교하는 UUID
반환값:
UUIDval 보다 작은 경우는 -1, 동일한 경우는 0, 큰 경우는 1

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.