JavaTM 2 Platform
Standard Ed. 5.0

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 ±âº»ÀûÀÎ ÇüÅ¿¡´Â ½Ã°£ º£À̽º, DCE ½ÃÅ¥·¯Æ¼, À̸§ º£À̽º ¹× ·£´ý¿¡ »ý¼ºµÈ UUID 4 °³°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÇüÅ´ version Ä¡ 1, 2, 3 ¹× 4¸¦ °¢°¢ º¸°ü À¯ÁöÇÕ´Ï´Ù.

»ó¼¼ (UUID ÀÛ¼º¿¡ »ç¿ëÇÏ´Â ¾Ë°í¸®Áòµî)´Â Internet-Draft ¡¸UUIDs and GUIDs¡¹, ¶Ç´Â ISO/IEC 11578:1996 Ç¥ÁØ body Á¤ÀǸ¦ ÂüÁ¶ÇϽʽÿÀ.

µµÀÔµÈ ¹öÀü :
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 Ãëµæ¿ëÀÇ String ÆÑÅ丮
 long node ()
          ÀÌ UUID¿¡ °ü·ÃÇÑ ³ëµåÄ¡ 48 ºñÆ®ÀÇ ³ëµåÄ¡´Â ÀÌ UUID ³ëµå Çʵå·ÎºÎÅÍ ±¸ÃàµË´Ï´Ù.
static UUID randomUUID ()
          Å¸ÀÔ 4 (ÀÇ»ç ·£´ý »ý¼º) UUID Ãëµæ¿ëÀÇ String ÆÑÅ丮 UUID »ý¼º¿¡´Â ¾ÏÈ£¿ëÀ¸·Î °­È­µÈ »ç ³­¼ö Á¦³×·¹ÀÌÅÍ°¡ »ç¿ëµË´Ï´Ù.
 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 - @param leastSigBits
¸Þ¼­µåÀÇ »ó¼¼

randomUUID

public static UUID  randomUUID()
ŸÀÔ 4 (ÀÇ»ç ·£´ý »ý¼º) UUID Ãëµæ¿ëÀÇ String ÆÑÅ丮 UUID »ý¼º¿¡´Â ¾ÏÈ£¿ëÀ¸·Î °­È­µÈ »ç ³­¼ö Á¦³×·¹ÀÌÅÍ°¡ »ç¿ëµË´Ï´Ù.

¹Ýȯ°ª:
·£´ý¿¡ »ý¼ºµÈ UUID

nameUUIDFromBytes

public static UUID  nameUUIDFromBytes(byte[] name)
ÁöÁ¤µÈ ¹ÙÀÌÆ® ¹è¿­¿¡ ±Ù°ÅÇϴ ŸÀÔ 3 (À̸§ º£À̽º) UUID Ãëµæ¿ëÀÇ String ÆÑÅ丮

ÆĶó¹ÌÅÍ:
name - UUID ±¸Ãà¿¡ »ç¿ëÇÏ´Â ¹ÙÀÌÆ® ¹è¿­
¹Ýȯ°ª:
ÁöÁ¤µÈ ¹è¿­·ÎºÎÅÍ »ý¼ºµÈ UUID

fromString

public static UUID  fromString(String  name)
ij¸¯ÅÍ ¶óÀΠǥÁØ Ç¥ÇöÀ¸·ÎºÎÅÍ UUID¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº toString() ¸Þ¼­µå¸¦ ÂüÁ¶ÇϽʽÿÀ.

ÆĶó¹ÌÅÍ:
name - UUID¸¦ ÁöÁ¤Çϴ ij¸¯ÅÍ ¶óÀÎ
¹Ýȯ°ª:
ÁöÁ¤Ä¡¸¦ »ç¿ëÇÑ UUID
¿¹¿Ü:
IllegalArgumentException - À̸§ÀÌ toString() ij¸¯ÅÍ ¶óÀΠǥÇö¿¡ ÁØ°ÅÇÏ°í ÀÖÁö ¾Ê´Â °æ¿ì

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 ij¸¯ÅÍ ¶óÀΠǥÇöÀº ´ÙÀ½ÀÇ BNF ·Î ±â¼úµÇ´Â ´ë·ÎÀÔ´Ï´Ù.


  UUID                   =  "-"  "-"
                            "-"
                            "-"
                           
  time_low               = 4*
  time_mid               = 2*
  time_high_and_version  = 2*
  variant_and_sequence   = 2*
  node                   = 6*
  hexOctet               = 
  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 ij¸¯ÅÍ ¶óÀΠǥÇö

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
¹Ýȯ°ª:
ÀÌ UUID °ªÀÌ val º¸´Ù ÀÛÀº °æ¿ì´Â -1, µ¿ÀÏÇÑ °æ¿ì´Â 0, Å« °æ¿ì´Â 1

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.