Java에서 GUID 만들기

Rashmi Patidar 2023년10월12일
  1. GUID 란?
  2. randomUUID()메서드를 사용하여 UUID를 생성하는 예제 코드
  3. UUID constructorfromString()메소드를 사용하여 UUID를 생성하는 예제 코드 :
Java에서 GUID 만들기

GUID 란?

GUID는Globally Unique Identifier의 약어입니다. 종종Universally Unique Identifiers또는UUIDs라고도합니다. 두 용어간에 진정한 차이는 없습니다. 기술적으로 이들은 128 비트 불변의 고유 한 암호화 강력한 난수입니다. 이러한 난수는 결국 컴퓨팅 목적으로 사용됩니다. 이러한 숫자를 생성하는 알고리즘은 매우 복잡하여 초당 1,0000,000,000 개의 난수를 생성 할 수 있습니다. 이 숫자는 반복되지 않을 것입니다.

소프트웨어 개발 관행 및 방법론에서 GUID 또는 UUID를 사용하며, 데이터베이스 키, 구성 요소 식별자 및 다양한 트랜잭션 인 기본 키로 고유 ID를 사용하여 대규모 트랜잭션이 발생하기를 원합니다.

randomUUID()메서드를 사용하여 UUID를 생성하는 예제 코드

package guid;

import java.util.UUID;

public class CreateGuid {
  public static void main(String[] args) {
    UUID uuid = UUID.randomUUID();
    System.out.println("UUID = " + uuid.toString());
  }
}

Java 언어에서UUID클래스는 버전 1.5 이후에 사용할 수 있습니다. 클래스는java.util.UUID패키지에 있습니다. randomUUID()메소드는 유형 4 (의사 무작위 생성) UUID를 검색하는 정적 팩토리 메소드입니다. 메서드가 UUID 클래스의 정적 팩토리 메서드이므로 메서드를 호출하려면 클래스 이름이 필요합니다.

위 프로그램의 출력은 고유하게 생성 된 UUID 인 것 같습니다.

UUID = 70aba303-60d8-4cb5-b3e7-4170c4be5642

UUID constructorfromString()메소드를 사용하여 UUID를 생성하는 예제 코드 :

아래 프로그램에서UUID클래스 생성자는 UUID를 생성하는 데 사용됩니다. 생성자는mostSignificantBitsleastSignificantBits의 두 매개 변수를 사용합니다.

mostSignificantBits는 UUID의 최상위 64 비트 용이고leastSignificantBits는 최하위 64 비트 용입니다.

fromString()메소드는 문자열 표준 표현에서 UUID를 생성하는 정적 팩토리 메소드입니다. 위의 방법은String을 매개 변수로 사용합니다. 따라서uuid개체를 통해 인라인 함수에서toString()메서드가 호출됩니다.

fromString메소드는 이름이toString메소드에 설명 된 문자열 표현을 따르지 않는 경우IllegalArgumentException을 발생시킵니다.

package guid;

import java.util.UUID;

public class GenerateGuidUsingConstructor {
  public static void main(String[] args) {
    UUID uuid = new UUID(24, 02);
    System.out.println(UUID.fromString(uuid.toString()));
  }
}

다음은 생성자에서 생성 된 UUID의 출력입니다.

00000000-0000-0018-0000-000000000002
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn