|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.util.UUID
public final class 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」를 참조해 주세요.
생성자 의 개요 | |
---|---|
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 |
생성자 의 상세 |
---|
public UUID(long mostSigBits, long leastSigBits)
mostSigBits
- leastSigBits
- 메소드의 상세 |
---|
public static UUID randomUUID()
UUID
는, 암호 강도의 높은 의사 난수 제네레이터를 사용해 생성됩니다.
public static UUID nameUUIDFromBytes(byte[] name)
name
- UUID 의 구축에 사용하는 바이트 배열
public static UUID fromString(String name)
toString()
메소드를 참조해 주세요.
name
- UUID 를 지정하는 캐릭터 라인
IllegalArgumentException
- 이름이 toString()
의 캐릭터 라인 표현에 준거하고 있지 않는 경우public long getLeastSignificantBits()
public long getMostSignificantBits()
public int version()
public int variant()
public long timestamp()
60 비트의 타임 스탬프치가, 이 UUID 의 time_low, time_mid, 및 time_hi 필드로부터 구축됩니다. 결과적으로 얻을 수 있는 타임 스탬프는, 1582 년 10 월 15 일 UTC 의 야밤중부터 100 나노초단위로 계측 된 값이 됩니다.
타임 스탬프치는, 시간 베이스의 UUID (버젼 타입 1)에서만 유의성이 있습니다. 이 UUID 가 시간 베이스의 UUID 가 아닌 경우, 이 메소드는 UnsupportedOperationException 를 throw 합니다.
UnsupportedOperationException
- 이 UUID 가 버젼 1 UUID 가 아닌 경우public int clockSequence()
14 비트의 클락 순서치는, 이 UUID 의 클락 identification sequence field로부터 구축됩니다. 클락 identification sequence field는, 시간 베이스 UUID 의 일시적인 일의성을 보증하기 위해서 사용됩니다.
clockSequence 치는, 시간 베이스의 UUID (버젼 타입 1)에서만 유의성이 있습니다. 이 UUID 가 시간 베이스의 UUID 가 아닌 경우, 이 메소드는 UnsupportedOperationException 를 throw 합니다.
UnsupportedOperationException
- 이 UUID 가 버젼 1 UUID 가 아닌 경우public long node()
48 비트의 노드치는, 이 UUID 의 노드 필드로부터 구축됩니다. 이 필드는, 공간의 일의성을 보증하기 위해(때문에), 이 UUID 를 생성한 머신의 IEEE 802 주소를 보관 유지하는 것을 목적으로 하고 있습니다.
노드치는, 시간 베이스의 UUID (버젼 타입 1)에서만 유의성이 있습니다. 이 UUID 가 시간 베이스의 UUID 가 아닌 경우, 이 메소드는 UnsupportedOperationException 를 throw 합니다.
UnsupportedOperationException
- 이 UUID 가 버젼 1 UUID 가 아닌 경우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"
Object
내의 toString
public int hashCode()
UUID
의 해시 코드를 돌려줍니다.
Object
내의 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Object
내의 equals
obj
- 비교 대상의 객체
true
, 그렇지 않은 경우는 false
Object.hashCode()
,
Hashtable
public int compareTo(UUID val)
UUID 가 다른 최상정도 필드가 최초의 UUID 보다 큰 경우, 2 개의 UUID 중 최초의 것이 2 번째의 것에 계속됩니다.
Comparable <UUID >
내의 compareTo
val
- 이 UUID 와 비교하는 UUID
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.