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.
GO TO FULL VERSION