logo

Java Luo UUID

UUID on tietokonejärjestelmässä laajalti käytetty 128-bittinen yksilöllinen tunnistenumero. Se koostuu heksadesimaaliluvuista, jotka on erotettu neljällä tavuviivalla. Tässä osiossa keskustelemme mikä on UUID ja kuinka satunnaisesti luodaan UUID (versio 4) Javassa .

UUID

UUID tarkoittaa Yleisesti ainutlaatuinen tunniste . UUID:t ovat Open Software Foundationin (OSF) standardoimia. Se on osa Distributive Computing Environment (DCE) -ympäristöä. UUID on 36 merkkiä (128-bittinen) pitkä yksilöllinen numero. Se tunnetaan myös nimellä a Globaalisti yksilöllinen tunnus (GUID).

Java Luo UUID

UUID:n käyttö riippuu tilanteesta, käyttötapauksista, monimutkaisuudesta ja olosuhteista. Jotkut UUID:n käyttötavoista ovat:

  • Sitä käytetään luomaan yksilöllinen URN (Uniform Resource Names).
  • Sitä voidaan käyttää myös tapahtumatunnusten luomiseen.
  • Käytetään laajasti kryptografisissa sovelluksissa.
  • Verkkosovelluksessa sitä voidaan käyttää istuntotunnusten luomiseen.

UUID-tyypit

UUID-tunnuksia on neljää tyyppiä:

  • Aikaperusteinen UUID (versio 1)
  • DCE-turva-UUID (versio 2)
  • Nimipohjainen UUID (versiot 3 ja 5)
  • Satunnaisesti luotu UUID (versio 4)

UUID:n muunnelmia

UUID:stä on monia muunnelmia, mutta Huuhtele suola variantti on laajalti käytössä. Variantin 2 asettelu eli Huuhtele suola on seuraava:

lajiteltu arraylist javassa

MSB:t koostuvat seuraavista allekirjoittamattomista kentistä:

0xFFFFFFFF00000000 time_low

0x00000000FFFF0000 time_mid

0x000000000000F000 versio

0x0000000000000FFF time_hei

LSB:t koostuvat seuraavista allekirjoittamattomista kentistä:

lista javalla

0xC000000000000000 versio

0x3FFF000000000000 clock_seq

0x0000FFFFFFFFFFFF-solmu

Muunnelmakentässä on arvo, joka identifioi UUID:n asettelun. Yllä käsitelty asettelu koskee vain versiota 2.

mitä ravel tekee pythonissa

Java UUID-luokka

Luomiseen UUID , Java-ohjelmointikieli tarjoaa UUID-luokan. Luokka kuuluu java.util paketti. Se laajentaa Object-luokkaa ja toteuttaa sarjoitettavissa ja vertailukelpoinen käyttöliittymä. Luokka luo muuttumattoman UUID:n, joka edustaa 128-bittistä arvoa.

Java UUID -luokkamenetelmät

menetelmät Kuvaus
clockSequence() Se palauttaa tähän määritettyyn UUID-tunnukseen liittyvän kellosekvenssin arvon.
vertaa() Menetelmä vertaa UUID:tä tiettyyn UUID:hen.
on yhtä suuri () Menetelmä vertaa tätä objektia määritettyyn objektiin.
fromString() Se luo UUID-tunnuksen merkkijonomuodosta.
getLeastSignificantBits() Se palauttaa tämän UUID:n 128-bittisen arvon vähiten merkitsevät 64 bittiä.
getMostSignificantBits() Se palauttaa tämän UUID:n 128-bittisen arvon merkittävimmät 64 bittiä.
hash koodin() Se palauttaa hajakoodin tälle UUID:lle.
nimiUUIDFromBytes() Se noutaa version 3 (nimipohjaisen) UUID:n määritetyn tavutaulukon perusteella.
solmu() Se palauttaa solmun arvon, joka liittyy määritettyyn UUID-tunnukseen.
satunnainenUUID() Se palauttaa satunnaisesti luodun UUID:n.
aikaleima() Se palauttaa tähän määritettyyn UUID-tunnukseen liittyvän aikaleiman arvon.
toString() Se palauttaa tätä UUID-tunnusta edustavan merkkijono-objektin.
variantti() Sitä käytetään määritettyyn UUID-tunnukseen liittyvän muunnelman saamiseksi.
versio() Voimme saada määritettyyn UUID-tunnukseen liittyvän versionumeron.

Luodaan UUID-tunnusta

Seuraava esimerkki luo satunnaisen UUID:n.

UUIDEesimerkki.java

 import java.util.UUID; public class UUIDExample { public static void main(String args[]) { //generates random UUID UUID uuid=UUID.randomUUID(); System.out.println(uuid); } } 

Lähtö:

 2b733549-d2cc-40f0-b7f3-9bfa9f3c1b89 

Muunna merkkijonosta UUID:ksi

StringToUUIDEesimerkki.java

 import java.util.UUID; public class StringtoUUIDExample { public static void main(String args[]) { //randomly generates a UUID UUID uuid = UUID.randomUUID(); System.out.println('Randomly Generated UUID: '+uuid); //converts the randomly generated UUID into String String uuidAsString = uuid.toString(); System.out.println('UUID as String: '+uuidAsString); //generates a UUID from the String UUID sameUuid = UUID.fromString(uuidAsString); System.out.println('UUID from String: '+sameUuid); //compares UUID generated from the string with the randomly generated UUID System.out.println(sameUuid.equals(uuid)); } } 

Lähtö:

 Randomly Generated UUID: fe8a03d7-6495-4231-9843-8ee2f5282620 UUID as String: fe8a03d7-6495-4231-9843-8ee2f5282620 UUID from String: fe8a03d7-6495-4231-9843-8ee2f5282620 true