UUID oznacza Universally Unique Identifier, czyli 128-bitową wartość używaną do identyfikacji informacji w systemach komputerowych. Identyfikator UUID wygenerowany przez generator UUID ma być unikalny we wszystkich systemach i przez cały czas. Długość identyfikatora UUID wynosi 36 znaków, łącznie z łącznikami i jest zwykle przedstawiana w zapisie szesnastkowym.

Co to jest UUID w Javie?

Klasa UUID w Javie jest częścią pakietu java.util i udostępnia metody generowania identyfikatorów UUID i manipulowania nimi. Jest to powszechnie używana klasa w Javie do generowania unikalnych identyfikatorów. Za pomocą klasy UUID w Javie możemy łatwo generować losowe identyfikatory UUID, a także tworzyć UUID z różnych źródeł, takich jak tablice bajtowe, ciągi znaków i długie wartości. Przy każdym wywołaniu generatora możemy uzyskać wiele różnych wygenerowanych identyfikatorów UUID. Wygenerowane identyfikatory UUID są unikalne i mają charakter globalny, co oznacza, że ​​ten sam identyfikator UUID nie zostanie wygenerowany dwukrotnie przez różne systemy. Wygenerowanych identyfikatorów UUID możemy używać do różnych celów, takich jak identyfikatory sesji, klucze bazy danych i inne scenariusze, w których ważna jest unikalność.

Generowanie UUID w Javie

Do wygenerowania UUID w Javie używamy klasy java.util.UUID . Klasa java.util.UUID udostępnia dwie metody generowania identyfikatorów UUID: randomUUID() i nameUUIDFromBytes(byte[] name) . Metoda randomUUID () generuje losowy identyfikator UUID. Ta metoda nie wymaga żadnych argumentów i generuje losowy identyfikator UUID przy każdym wywołaniu. Oto przykład użycia metody 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);
    }
}

Wyjście

Wygenerowany UUID: d3ee2929-212b-4077-af84-694a0e69b8e1
Metoda nameUUIDFromBytes(byte[] name) generuje identyfikator UUID na podstawie tablicy bajtów. Ta metoda przyjmuje tablicę bajtów jako argument i generuje identyfikator UUID na podstawie zawartości tablicy bajtów. Oto przykład użycia metody 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);
    }
}

Wyjście

Wygenerowany UUID: 4d6579d4-c3e7-38a1-9246-017e903b2c33

Właściwości UUID

Identyfikatory UUID mają następujące właściwości:
  • Długość: identyfikatory UUID mają długość 128 bitów, co oznacza, że ​​zawierają 16 bajtów danych. Ta długość sprawia, że ​​nadają się do stosowania w systemach komputerowych, ponieważ można je efektywnie przechowywać.
  • Wyjątkowość: prawdopodobieństwo, że dwa identyfikatory UUID będą takie same, jest bardzo niskie. Szansa na kolizję wynosi około 1 do 2^128, co jest niezwykle małą liczbą.
  • Losowość: UUID jest generowany przy użyciu algorytmu zapewniającego losowość. Ta losowość utrudnia każdemu przewidzenie identyfikatorów UUID, które zostaną wygenerowane.
  • Wersja: identyfikatory UUID są podzielone na wersje, przy czym każda wersja wykorzystuje inny algorytm do generowania identyfikatora UUID. Najczęściej używane wersje to wersja 1 i wersja 4. Identyfikatory UUID wersji 1 są generowane na podstawie bieżącego czasu i adresu MAC komputera, który generuje UUID. Identyfikatory UUID wersji 4 są generowane przy użyciu liczb losowych.

Długość identyfikatora UUID

UUID to wartość 128-bitowa reprezentowana przez ciąg 36 znaków. Ciąg zawiera 32 cyfry szesnastkowe, podzielone na grupy po 8, 4, 4, 4 i 12 cyfr, oddzielone myślnikami. Oto przykład ciągu UUID:
123e4567-e89b-12d3-a456-426655440000
Przykładowy UUID: Oto przykładowy UUID wygenerowany przy użyciu metody randomUUID() :
d3ee2929-212b-4077-af84-694a0e69b8e1
Ten identyfikator UUID składa się z 32 cyfr szesnastkowych, podzielonych na grupy po 8, 4, 4, 4 i 12 cyfr, oddzielonych łącznikami. W powyższym przykładzie UUID, gdy mówimy o klasie UUID w Javie, termin generowanie UUID odnosi się do procesu tworzenia nowego UUID przy użyciu klasy java.util.UUID . Proces ten polega na wywołaniu jednej ze statycznych metod fabrycznych klasy UUID, takich jak randomUUID() lub nameUUIDFromBytes(byte[]) . Gdy wywołamy jedną z tych metod, klasa UUID w Javie utworzy nowy UUID i zwróci go nam. Wygenerowane identyfikatory UUID można następnie w razie potrzeby wykorzystać w naszej aplikacji.

Wniosek

W tym artykule omówiliśmy, czym są identyfikatory UUID i jak je wygenerować za pomocą klasy java.util.UUID w Javie. Przyjrzeliśmy się także właściwościom identyfikatorów UUID, w tym ich długości, niepowtarzalności, losowości i wersji. Identyfikatory UUID są szeroko stosowane w systemach komputerowych do identyfikacji informacji w unikalny sposób. Są przydatne w systemach rozproszonych i bazach danych, gdzie wiele komputerów lub węzłów musi uzyskać dostęp do danych i manipulować nimi. Dzięki klasie java.util.UUID w Javie możesz łatwo generować identyfikatory UUID w swoich projektach Java.