CodeGym /ื‘ืœื•ื’ Java /Random-HE /ืžื“ืจื™ืš ืœ-UUID ื‘-Java
John Squirrels
ืจึธืžึธื”
San Francisco

ืžื“ืจื™ืš ืœ-UUID ื‘-Java

ืคื•ืจืกื ื‘ืงื‘ื•ืฆื”
UUID ืจืืฉื™ ืชื™ื‘ื•ืช ืฉืœ Universally Unique Identifier, ืฉื”ื•ื ืขืจืš ืืจื•ืš ืฉืœ 128 ืกื™ื‘ื™ื•ืช ื”ืžืฉืžืฉ ืœื–ื™ื”ื•ื™ ืžื™ื“ืข ื‘ืžืขืจื›ื•ืช ืžื—ืฉื‘. UUID ืฉื ื•ืฆืจ ืขืœ ื™ื“ื™ ืžื—ื•ืœืœ UUID ื ื•ืขื“ ืœื”ื™ื•ืช ื™ื™ื—ื•ื“ื™ ื‘ื›ืœ ื”ืžืขืจื›ื•ืช ื•ื‘ื›ืœ ื”ื–ืžื ื™ื. ืื•ืจื›ื• ืฉืœ UUID ื”ื•ื 36 ืชื•ื•ื™ื, ื›ื•ืœืœ ืžืงืคื™ื, ื•ื”ื•ื ืžื™ื•ืฆื’ ื‘ื“ืจืš ื›ืœืœ ื‘ืกื™ืžื•ืŸ ื”ืงืกื“ืฆื™ืžืœื™.

ืžื” ื–ื” UUID ื‘-Java?

ืžื—ืœืงืช UUID ื‘-Java ื”ื™ื ื—ืœืง ืžื—ื‘ื™ืœืช java.util ื•ืžืกืคืงืช ืฉื™ื˜ื•ืช ืœื”ืคืงื” ื•ืœืชืžืจืŸ ืฉืœ UUIDs. ื–ื•ื”ื™ ืžื—ืœืงื” ื ืคื•ืฆื” ื‘-Java ืœื™ืฆื™ืจืช ืžื–ื”ื™ื ื™ื™ื—ื•ื“ื™ื™ื. ื‘ืขื–ืจืช ืžื—ืœืงืช UUID ื‘-Java, ื ื•ื›ืœ ืœื™ืฆื•ืจ ื‘ืงืœื•ืช UUIDs ืืงืจืื™ื™ื, ื›ืžื• ื’ื ืœื™ืฆื•ืจ UUID ืžืžืงื•ืจื•ืช ืฉื•ื ื™ื ื›ื’ื•ืŸ ืžืขืจื›ื™ ื‘ืชื™ื, ืžื—ืจื•ื–ื•ืช ื•ืขืจื›ื™ื ืืจื•ื›ื™ื. ืื ื• ื™ื›ื•ืœื™ื ืœืงื‘ืœ ืžื’ื•ื•ืŸ ืฉืœ UUIDs ืฉื•ื ื™ื ืฉื ื•ืฆืจื• ื‘ื›ืœ ืคืขื ืฉื”ืžื—ื•ืœืœ ื ืงืจื. UUIDs ืืœื” ืฉื ื•ืฆืจื• ื”ื ื™ื™ื—ื•ื“ื™ื™ื ื•ืชื•ื›ื ื ื• ืœื”ื™ื•ืช ื™ื™ื—ื•ื“ื™ื™ื ื‘ืขื•ืœื, ื›ืœื•ืžืจ ืื•ืชื• UUID ืœื ื™ื•ืคืง ืคืขืžื™ื™ื ืขืœ ื™ื“ื™ ืžืขืจื›ื•ืช ืฉื•ื ื•ืช. ืื ื• ื™ื›ื•ืœื™ื ืœื”ืฉืชืžืฉ ื‘-UUID ืฉื ื•ืฆืจื• ืœืžื’ื•ื•ืŸ ืžื˜ืจื•ืช ื›ื’ื•ืŸ ืžื–ื”ื™ ื”ืคืขืœื”, ืžืคืชื—ื•ืช ืžืกื“ ื ืชื•ื ื™ื ื•ืชืจื—ื™ืฉื™ื ืื—ืจื™ื ืฉื‘ื”ื ื”ื™ื™ื—ื•ื“ื™ื•ืช ื—ืฉื•ื‘ื”.

ื™ืฆื™ืจืช UUID ื‘-Java

ื›ื“ื™ ืœื™ืฆื•ืจ UUID ื‘-Java, ืื ื• ืžืฉืชืžืฉื™ื ื‘ืžื—ืœืงื” java.util.UUID . ื”ืžื—ืœืงื” java.util.UUID ืžืกืคืงืช ืฉืชื™ ืฉื™ื˜ื•ืช ืœื™ืฆื™ืจืช UUIDs: randomUUID() ื•- nameUUIDFromBytes(byte[] name) . ื”ืฉื™ื˜ื” randomUUID() ื™ื•ืฆืจืช UUID ืืงืจืื™. ืฉื™ื˜ื” ื–ื• ืื™ื ื” ื“ื•ืจืฉืช ืืจื’ื•ืžื ื˜ื™ื, ื•ื”ื™ื ื™ื•ืฆืจืช UUID ืืงืจืื™ ื‘ื›ืœ ืคืขื ืฉื”ื™ื ื ืงืจืืช. ื”ื ื” ื“ื•ื’ืžื” ืœืฉื™ืžื•ืฉ ื‘ืฉื™ื˜ืช randomUUID() :

import java.util.UUID;

public class UUIDExample {
    public static void main(String[] args) {
        // generating a random UUID
        UUID uuid = UUID.randomUUID();
        
        // print the UUID
        System.out.println("Generated UUID: " + uuid);
    }
}

ืชึฐืคื•ึผืงึธื”

UUID ืฉื ื•ืฆืจ: d3ee2929-212b-4077-af84-694a0e69b8e1
ืฉื™ื˜ืช nameUUIDFromBytes(byte[] name) ื™ื•ืฆืจืช UUID ืžืžืขืจืš ื‘ืชื™ื. ืฉื™ื˜ื” ื–ื• ืœื•ืงื—ืช ืžืขืจืš ื‘ืชื™ื ื›ืืจื’ื•ืžื ื˜ ื•ืžื™ื™ืฆืจืช UUID ื”ืžื‘ื•ืกืก ืขืœ ื”ืชื•ื›ืŸ ืฉืœ ืžืขืจืš ื‘ืชื™ื. ื”ื ื” ื“ื•ื’ืžื” ืœืฉื™ืžื•ืฉ ื‘ืฉื™ื˜ืช nameUUIDFromBytes(byte[] name) :

import java.util.UUID;

public class UUIDExample {
    public static void main(String[] args) {
        // generating a UUID from a byte array
        byte[] name = { 1, 2, 3, 4, 5 };
        UUID uuid = UUID.nameUUIDFromBytes(name);
        
        // print the UUID
        System.out.println("Generated UUID: " + uuid); 
    }
}

ืชึฐืคื•ึผืงึธื”

UUID ืฉื ื•ืฆืจ: 4d6579d4-c3e7-38a1-9246-017e903b2c33

ืžืืคื™ื™ื ื™ UUID

ืœ-UUID ื™ืฉ ืืช ื”ืžืืคื™ื™ื ื™ื ื”ื‘ืื™ื:
  • ืื•ืจืš: UUIDs ื”ื ื‘ืื•ืจืš 128 ืกื™ื‘ื™ื•ืช, ืžื” ืฉืื•ืžืจ ืฉื”ื ืžื›ื™ืœื™ื 16 ื‘ืชื™ื ืฉืœ ื ืชื•ื ื™ื. ืื•ืจืš ื–ื” ื”ื•ืคืš ืื•ืชื ืœืžืชืื™ืžื™ื ืœืฉื™ืžื•ืฉ ื‘ืžืขืจื›ื•ืช ืžื—ืฉื‘ ืฉื›ืŸ ื ื™ืชืŸ ืœืื—ืกืŸ ืื•ืชื ื‘ื™ืขื™ืœื•ืช.
  • ื™ื™ื—ื•ื“ื™ื•ืช: ื”ื”ืกืชื‘ืจื•ืช ืฉืฉื ื™ UUID ื™ื”ื™ื• ื–ื”ื™ื ื”ื™ื ื ืžื•ื›ื” ืžืื•ื“. ื”ืกื™ื›ื•ื™ ืœื”ืชื ื’ืฉื•ืช ื”ื•ื ื‘ืขืจืš 1 ืœ-2^128, ืฉื–ื” ืžืกืคืจ ืงื˜ืŸ ื‘ื™ื•ืชืจ.
  • ืืงืจืื™ื•ืช: ื”-UUID ื ื•ืฆืจ ื‘ืืžืฆืขื•ืช ืืœื’ื•ืจื™ืชื ื”ืžื‘ื˜ื™ื— ืืงืจืื™ื•ืช. ื”ืืงืจืื™ื•ืช ื”ื–ื• ืžืงืฉื” ืขืœ ื›ืœ ืื—ื“ ืœื—ื–ื•ืช ืืช ื”-UUIDs ืฉื™ื™ื•ื•ืฆืจื•.
  • ื’ืจืกื”: UUIDs ืžื—ื•ืœืงื™ื ืœื’ืจืกืื•ืช, ื›ืืฉืจ ื›ืœ ื’ืจืกื” ืžืฉืชืžืฉืช ื‘ืืœื’ื•ืจื™ืชื ืื—ืจ ืœื™ืฆื™ืจืช ื”-UUID. ื”ื’ื™ืจืกืื•ืช ื”ื ืคื•ืฆื•ืช ื‘ื™ื•ืชืจ ื‘ืฉื™ืžื•ืฉ ื”ืŸ ื’ืจืกื” 1 ื•ื’ืจืกื” 4. UUID ืฉืœ ื’ืจืกื” 1 ื ื•ืฆืจื•ืช ื‘ืืžืฆืขื•ืช ื”ืฉืขื” ื”ื ื•ื›ื—ื™ืช ื•ื›ืชื•ื‘ืช ื”-MAC ืฉืœ ื”ืžื—ืฉื‘ ืฉื™ื•ืฆืจ ืืช ื”-UUID. ื’ืจืกื” 4 UUIDs ื ื•ืฆืจื™ื ื‘ืืžืฆืขื•ืช ืžืกืคืจื™ื ืืงืจืื™ื™ื.

ืื•ืจืš UUID

UUID ื”ื•ื ืขืจืš ืฉืœ 128 ืกื™ื‘ื™ื•ืช, ื”ืžื™ื•ืฆื’ ืขืœ ื™ื“ื™ ืžื—ืจื•ื–ืช ืฉืœ 36 ืชื•ื•ื™ื. ื”ืžื—ืจื•ื–ืช ืžื›ื™ืœื” 32 ืกืคืจื•ืช ื”ืงืกื“ืฆื™ืžืœื™ื•ืช, ื”ืžื—ื•ืœืงื•ืช ืœืงื‘ื•ืฆื•ืช ืฉืœ 8, 4, 4, 4 ื•-12 ืกืคืจื•ืช, ืžื•ืคืจื“ื•ืช ืขืœ ื™ื“ื™ ืžืงืคื™ื. ื”ื ื” ื“ื•ื’ืžื” ืœืžื—ืจื•ื–ืช UUID:

123e4567-e89b-12d3-a456-426655440000
ื“ื•ื’ืžื” UUID: ืœื”ืœืŸ UUID ืœื“ื•ื’ืžื”, ืฉื ื•ืฆืจ ื‘ืืžืฆืขื•ืช ืฉื™ื˜ืช randomUUID() :

d3ee2929-212b-4077-af84-694a0e69b8e1
UUID ื–ื” ืžื•ืจื›ื‘ ืž-32 ืกืคืจื•ืช ื”ืงืกื“ืฆื™ืžืœื™ื•ืช, ื”ืžื—ื•ืœืงื•ืช ืœืงื‘ื•ืฆื•ืช ืฉืœ 8, 4, 4, 4 ื•-12 ืกืคืจื•ืช, ืžื•ืคืจื“ื•ืช ื‘ืืžืฆืขื•ืช ืžืงืคื™ื. ื‘ื“ื•ื’ืžื” ืฉืœ UUID ืœืขื™ืœ ื›ืืฉืจ ืื ื• ืžื“ื‘ืจื™ื ืขืœ ืžื—ืœืงืช UUID ื‘-Java, ื”ืžื•ื ื— ื™ืฆื™ืจืช UUID ืžืชื™ื™ื—ืก ืœืชื”ืœื™ืš ืฉืœ ื™ืฆื™ืจืช UUID ื—ื“ืฉ ื‘ืืžืฆืขื•ืช ื”ืžื—ืœืงื” java.util.UUID . ืชื”ืœื™ืš ื–ื” ื›ื•ืœืœ ืงืจื™ืื” ืœืื—ืช ืžืฉื™ื˜ื•ืช ื”ืžืคืขืœ ื”ืกื˜ื˜ื™ื•ืช ืฉืœ ืžื—ืœืงืช UUID ื›ื’ื•ืŸ randomUUID() ืื• nameUUIDFromBytes(byte[]) . ื‘ืจื’ืข ืฉื ืงืจื ืœืื—ืช ืžื”ืฉื™ื˜ื•ืช ื”ืœืœื•, ืžื—ืœืงืช UUID ื‘-Java ืชื™ืฆื•ืจ UUID ื—ื“ืฉ ื•ืชื—ื–ื™ืจ ืœื ื• ืื•ืชื•. ืœืื—ืจ ืžื›ืŸ ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘-UUID ืืœื” ืฉื ื•ืฆืจื• ื‘ืืคืœื™ืงืฆื™ื” ืฉืœื ื• ืœืคื™ ื”ืฆื•ืจืš.

ืกื™ื›ื•ื

ื‘ืžืืžืจ ื–ื”, ื“ื ื• ื‘ืžื” ื”ื UUID ื•ื›ื™ืฆื“ ืœื™ืฆื•ืจ ืื•ืชื ื‘ืืžืฆืขื•ืช ื”ืžื—ืœืงื” java.util.UUID ื‘-Java. ื‘ื“ืงื ื• ื’ื ืืช ื”ืžืืคื™ื™ื ื™ื ืฉืœ UUIDs, ื›ื•ืœืœ ืื•ืจื›ื, ื”ื™ื™ื—ื•ื“ื™ื•ืช, ื”ืืงืจืื™ื•ืช ื•ื”ื’ืจืกื” ืฉืœื”ื. UUIDs ื ืžืฆืื™ื ื‘ืฉื™ืžื•ืฉ ื ืจื—ื‘ ื‘ืžืขืจื›ื•ืช ืžื—ืฉื‘ ืœื–ื™ื”ื•ื™ ืžื™ื“ืข ื‘ืฆื•ืจื” ื™ื™ื—ื•ื“ื™ืช. ื”ื ืฉื™ืžื•ืฉื™ื™ื ื‘ืžืขืจื›ื•ืช ืžื‘ื•ื–ืจื•ืช ื•ื‘ื‘ืกื™ืกื™ ื ืชื•ื ื™ื ืฉื‘ื”ื ืžื—ืฉื‘ื™ื ืื• ืฆืžืชื™ื ืžืจื•ื‘ื™ื ืฆืจื™ื›ื™ื ืœื’ืฉืช ื•ืœืชืคืขืœ ื ืชื•ื ื™ื. ืขื ื”ืžื—ืœืงื” java.util.UUID ื‘-Java, ืืชื” ื™ื›ื•ืœ ืœื™ืฆื•ืจ ื‘ืงืœื•ืช UUID ื‘ืคืจื•ื™ืงื˜ื™ Java ืฉืœืš.
ื”ืขืจื•ืช
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION