Man brauch es bei der Interaktion mit der Datenbank. Man brauch es zur Programmierung eines Poolings und man brauch es an 1.000.000 anderen Stellen im Leben. Die Rede ist natürlich von ID’s. Die Abkürzung ID kommt aus dem Englischen und steht für „Identity Document“. Speziell geht es in diesem Beitrag um die so genannte Universally Unique Identifier kurz UUID. Die UUID ist ein Standard für Identifikatoren, der in der Softwareentwicklung verwendet wird. Er ist von der Open Software Foundation (OSF) als Teil des Distributed Computing Environment (DCE) standardisiert. Hauptsächlich werden UUIDs eingesetzt, um Informationen in verteilten Systemen ohne zentrale Koordination eindeutig kennzeichnen zu können.
Eine UUID ist eine Zahl, die aus 16 Bytes besteht. Typischerweise wird die UUID hexadezimal dargestellt und in fünf Gruppen unterteilt.
Beispiele:
Version | Beschreibung |
---|---|
1 | ursprüngliche, zeitstempelbasierte UUID |
2 | DCE Security version |
3 | namensbasiert, MD5-gehasht |
4 | zufällig oder pseudozufällige UUID |
5 | namensbasiert, SHA1-gehasht |
mehr Informationen gibt es auf Wikipedia.
Eine UUID kann man immer gebrauchen. In den folgenden Szenarien habe ich schon einmal eine UUID eingesetzt.
// Eine Typ 4 UUID erzeugen (zufällige UUID) UUID myID = UUID.randomUUID(); // Eine Typ 3 UUID erzeugen (aus einem Byte Array) UUID myID2 = UUID.nameUUIDFromBytes(("AxxG Blog").getBytes()); // wichtige Werte System.out.println("UUID: " + myID); System.out.println("Die kleinsten 64 von 128 Bit: " + myID.getLeastSignificantBits()); System.out.println("Die größten 64 von 128 Bit: " + myID.getMostSignificantBits()); System.out.println("Hashcode: " + myID.hashCode()); System.out.println("UUID: " + myID2); System.out.println("Die kleinsten 64 von 128 Bit: " + myID2.getLeastSignificantBits()); System.out.println("Die größten 64 von 128 Bit: " + myID2.getMostSignificantBits()); System.out.println("Hashcode: " + myID2.hashCode());
UUID: f4a49c9d-ba04-4962-a876-059bee6badec Die kleinsten 64 von 128 Bit: -6307848060807696916 Die größten 64 von 128 Bit: -818357031029946014 Hashcode: 146636168 UUID: 57b3289e-335f-3487-bc49-4ace2714aa91 Die kleinsten 64 von 128 Bit: -4879286471999837551 Die größten 64 von 128 Bit: 6319439362062759047 Hashcode: -5112762
Achtung erst seit JDK 1.5 gibt es die UUID.
http://docs.oracle.com/javase/6/docs/api/java/util/UUID.html
Kommentar verfassen