CodeGym /Blog Java /Ngẫu nhiên /Hướng dẫn về UUID trong Java

Hướng dẫn về UUID trong Java

Xuất bản trong nhóm
UUID là viết tắt của Universally Unique Identifier, là giá trị dài 128 bit được sử dụng để nhận dạng thông tin trong hệ thống máy tính. UUID do trình tạo UUID tạo ra được thiết kế duy nhất trên tất cả các hệ thống và mọi lúc. Độ dài của UUID là 36 ký tự, bao gồm cả dấu gạch nối và thường được biểu thị bằng ký hiệu thập lục phân.

UUID trong Java là gì?

Lớp UUID trong Java là một phần của gói java.util và cung cấp các phương thức để tạo và thao tác UUID. Nó là một lớp thường được sử dụng trong Java để tạo các mã định danh duy nhất. Với sự trợ giúp của lớp UUID trong Java, chúng ta có thể dễ dàng tạo các UUID ngẫu nhiên, cũng như tạo UUID từ các nguồn khác nhau như mảng byte, chuỗi và giá trị dài. Chúng ta có thể nhận được nhiều UUID được tạo khác nhau mỗi khi trình tạo được gọi. Các UUID được tạo này là duy nhất và được thiết kế để duy nhất trên toàn cầu, nghĩa là cùng một UUID sẽ không được tạo hai lần bởi các hệ thống khác nhau. Chúng tôi có thể sử dụng UUID được tạo cho nhiều mục đích khác nhau như ID phiên, khóa cơ sở dữ liệu và các tình huống khác trong đó tính duy nhất là quan trọng.

Tạo UUID trong Java

Để tạo UUID trong Java, chúng ta sử dụng lớp java.util.UUID . Lớp java.util.UUID cung cấp hai phương thức để tạo UUID: RandomUUID()nameUUIDFromBytes(byte[] name) . Phương thức RandomUUID () tạo ra UUID ngẫu nhiên. Phương thức này không yêu cầu bất kỳ đối số nào và nó tạo ra một UUID ngẫu nhiên mỗi khi được gọi. Đây là một ví dụ về cách sử dụng phương thức 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);
    }
}

đầu ra

UUID đã tạo: d3ee2929-212b-4077-af84-694a0e69b8e1
Phương thức nameUUIDFromBytes(byte[] name) tạo UUID từ một mảng byte. Phương thức này lấy một mảng byte làm đối số và tạo UUID dựa trên nội dung của mảng byte. Dưới đây là một ví dụ về cách sử dụng phương thức 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); 
    }
}

đầu ra

UUID đã tạo: 4d6579d4-c3e7-38a1-9246-017e903b2c33

Thuộc tính UUID

UUID có các thuộc tính sau:
  • Độ dài: UUID dài 128 bit, nghĩa là chúng chứa 16 byte dữ liệu. Độ dài này làm cho chúng phù hợp để sử dụng trong hệ thống máy tính vì chúng có thể được lưu trữ một cách hiệu quả.
  • Tính duy nhất: Xác suất hai UUID giống nhau là rất thấp. Khả năng xảy ra va chạm là khoảng 1 trên 2^128, một con số cực kỳ nhỏ.
  • Tính ngẫu nhiên: UUID được tạo bằng thuật toán đảm bảo tính ngẫu nhiên. Tính ngẫu nhiên này khiến mọi người khó dự đoán UUID sẽ được tạo.
  • Phiên bản: UUID được chia thành các phiên bản, mỗi phiên bản sử dụng một thuật toán khác nhau để tạo UUID. Các phiên bản được sử dụng phổ biến nhất là phiên bản 1 và phiên bản 4. UUID phiên bản 1 được tạo bằng cách sử dụng thời gian hiện tại và địa chỉ MAC của máy tính đang tạo UUID. UUID phiên bản 4 được tạo bằng số ngẫu nhiên.

Độ dài của UUID

UUID là giá trị 128 bit, được biểu thị bằng chuỗi 36 ký tự. Chuỗi chứa 32 chữ số thập lục phân, được chia thành các nhóm 8, 4, 4, 4 và 12 chữ số, cách nhau bằng dấu gạch ngang. Đây là một ví dụ về chuỗi UUID:

123e4567-e89b-12d3-a456-426655440000
UUID mẫu: Đây là một UUID mẫu, được tạo bằng phương thức RandomUUID() :

d3ee2929-212b-4077-af84-694a0e69b8e1
UUID này bao gồm 32 chữ số thập lục phân, được chia thành các nhóm 8, 4, 4, 4 và 12 chữ số, cách nhau bằng dấu gạch nối. Trong ví dụ UUID ở trên khi chúng ta nói về lớp UUID trong Java, thuật ngữ tạo UUID đề cập đến quá trình tạo UUID mới bằng lớp java.util.UUID . Quá trình này bao gồm việc gọi một trong các phương thức xuất xưởng tĩnh của lớp UUID như RandomUUID() hoặc nameUUIDFromBytes(byte[]) . Khi chúng ta gọi một trong các phương thức này, lớp UUID trong Java sẽ tạo một UUID mới và trả về cho chúng ta. Sau đó, những UUID được tạo này có thể được sử dụng trong ứng dụng của chúng tôi nếu cần.

Phần kết luận

Trong bài viết này, chúng ta đã thảo luận về UUID là gì và cách tạo chúng bằng lớp java.util.UUID trong Java. Chúng tôi cũng xem xét các thuộc tính của UUID, bao gồm độ dài, tính duy nhất, tính ngẫu nhiên và phiên bản của chúng. UUID được sử dụng rộng rãi trong các hệ thống máy tính để xác định thông tin theo một cách riêng. Chúng rất hữu ích trong các hệ thống và cơ sở dữ liệu phân tán, nơi nhiều máy tính hoặc nút cần truy cập và thao tác dữ liệu. Với lớp java.util.UUID trong Java, bạn có thể dễ dàng tạo UUID trong các dự án Java của mình.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION