From 7515813470c5170537c1e774177e78cf02316982 Mon Sep 17 00:00:00 2001 From: Gaurav Date: Sun, 20 Dec 2020 00:38:30 +0530 Subject: [PATCH 1/2] Add new blogpost --- .../2020-12-19-your-guide-to-uuid-in -java.md | 143 ++++++++++++++++++ assets/images/2020-12-19/uuid.png | Bin 0 -> 21002 bytes 2 files changed, 143 insertions(+) create mode 100644 _posts/2020-12-19-your-guide-to-uuid-in -java.md create mode 100644 assets/images/2020-12-19/uuid.png diff --git a/_posts/2020-12-19-your-guide-to-uuid-in -java.md b/_posts/2020-12-19-your-guide-to-uuid-in -java.md new file mode 100644 index 0000000..a68278b --- /dev/null +++ b/_posts/2020-12-19-your-guide-to-uuid-in -java.md @@ -0,0 +1,143 @@ +--- +layout: post +title: "Your Guide To UUID In Java" +author: gaurav +image: assets/images/2020-12-19/uuid.png +categories: [ Java, Core Java, String] +description: In this article you will learn what is UUID and about the Java UUID class. +featured: false + +--- + +In this article we will see, +- What is UUID? +- Java UUID class + +## What is UUID? + +UUID, a universally unique identifier is a 128-bit number used to identify information in computer systems. + +UUID is made of hex digits along with 4 hyphen ("-") symbols. The length of a UUID is 36 characters. + +There are 4 types of UUID + +1. Time-based UUID (Version 1) +2. DCE Security UUID (Version 2) +3. Name-based UUID (Version 3 and 5) +4. Randomly Generated UUID (Version 4) + +Mostly Randomly Generated UUID i.e. UUID Version 4 is used. + +UUID Version 4 uses random numbers as a source. It uses an unpredictable value as the seed to generate random numbers to reduce the chance of collisions + +There are 4 types of UUID variant + +- **0:** It is reserved for NCS backward compatibility +- **2:** Leach-Salz +- **6:** It is reserved for Microsoft backward compatibility +- **7:** It is reserved for future definition. + +Mostly the variant 2 is used. + +UUID can be used in the following cases + + - As a primary key of database table +- To create session id for web application +- To represent as transaction id +- To create a random file name + +### Example UUID + +df6fdea1-10c3-474c-ae62-e63def80de0b + +![Structure of UUID](/assets/images/2020-12-19/uuid.png) +## Java UUID class + +UUID Class belongs to the `java.util` package. It represents an immutable universally unique identifier (UUID). + +UUID Constructor + +```java +`[UUID](https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html#UUID-long-long-)(long mostSigBits, long leastSigBits)` +``` +Constructs a new `UUID` using the specified data. + +### Static methods +There are three static methods of a UUID class, + +```java +UUID.fromString(String name) +``` +The above method creates a UUID from the string standard representation as described in the [toString()](https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html#toString--) method. + +```java +UUID.nameUUIDFromBytes(byte[] name) +``` +This method is used to create a version 3 (name based) UUID based on the specified byte array. + +```java +UUID.randomUUID() +``` +This method is used to create a version 4 (pseudo randomly generated) UUID. + +### Instance methods + +Also there are a few instance methods of a UUID class. + +```java +clockSequence() +``` +This method is used to get the the clock sequence value associated with this UUID. + +This method returns the clock sequence value as `int`. + +```java +compareTo(UUID val) +``` +This method is used to compare this UUID with the specified UUID ( the one received as method param i.e. `val` + +This method returns -1, 0 or 1 as this `UUID` is less than, equal to, or greater than `val` + +```java +equals(Object obj) +``` +This method simply compares this object to the specified object. It return the result in `boolean` + +```java +node() +``` +This method returns the node value (`long`) associated with this UUID. + +```java +timestamp() +``` +This method returns the timestamp value (`long`) associated with this UUID. + +```java +toString() +``` +This method returns a `String` object representing this UUID. + +```java +variant() +``` +This method returns the variant number (`int`) associated with this UUID. + +```java +version() +``` +This method returns the version number (`int`) associated with this UUID. + +-------- +You can visit my [YouTube channel 'coderolls'](https://www.youtube.com/channel/UCl31HHUdQbSHOQfc9L-wo3w?view_as=subscriber?sub_confirmation=1) to find more video tutorials. + +If you found this article worth, support me by [giving a cup of Coffee ☕](https://www.paypal.me/GauravKukade) + +#### Related Articles + +- [Learn About Java String Pool And intern() Method](https://coderolls.com/java-string-pool-and-intern-method/) +- [How Do I Compare Strings In Java](https://coderolls.com/compare-strings-in-java/) +- [How To Reverse A String In Java (5 ways)](https://coderolls.com/reverse-a-string-in-java/) +- [Compare Two Strings Lexicographically In Java](https://coderolls.com/compare-two-strings-lexicographically-in-java/) +- [Introduction to Java Technology (Language and Platform)](https://coderolls.com/java-introduction/) + diff --git a/assets/images/2020-12-19/uuid.png b/assets/images/2020-12-19/uuid.png new file mode 100644 index 0000000000000000000000000000000000000000..9d5f9762f410202ded5807c2ed683a92e93cfba2 GIT binary patch literal 21002 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 Date: Sun, 20 Dec 2020 00:47:58 +0530 Subject: [PATCH 2/2] Add a gem in Gemfile --- Gemfile | 1 + Gemfile.lock | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index b807382..b1809d8 100644 --- a/Gemfile +++ b/Gemfile @@ -17,4 +17,5 @@ group :jekyll_plugins do gem 'jekyll-archives' gem 'kramdown' gem 'rouge' + gem 'kramdown-parser-gfm' end diff --git a/Gemfile.lock b/Gemfile.lock index edc55e6..01db6b3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -44,6 +44,8 @@ GEM listen (~> 3.0) kramdown (2.3.0) rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) liquid (4.0.3) listen (3.2.1) rb-fsevent (~> 0.10, >= 0.10.3) @@ -63,6 +65,7 @@ GEM sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) + wdm (0.1.1) PLATFORMS ruby @@ -75,7 +78,9 @@ DEPENDENCIES jekyll-seo-tag jekyll-sitemap kramdown + kramdown-parser-gfm rouge + wdm (>= 0.1.0) BUNDLED WITH - 2.0.2 + 2.1.4