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