Programming

Java Long 기본 유형 최대 한계

procodes 2020. 8. 4. 20:14
반응형

Java Long 기본 유형 최대 한계


'generateNumber'메서드가 호출 될 때마다 1 씩 증가하는 Long 기본 유형을 사용하고 있습니다. Long이 최대 한도에 도달하면 어떻게됩니까? 예외가 발생하거나 최소값으로 재설정됩니까? 여기 내 샘플 코드가 있습니다 :

class LongTest {
   private static long increment;
   public static long generateNumber(){
       ++increment;
       return increment;
   }
}

Long.MAX_VALUE

입니다

9,223,372,036,854,775,807

.나노 초당 한 번 함수를 실행했다면

이 소스

에 따라이 상황이 발생하는 데 여전히 292 년이 걸립니다 .그런 일이 발생하면

Long.MIN_VALUE

에 또는

-9,223,372,036,854,775,808

다른 사람들이 말한 것처럼 래핑됩니다 .


오버플로되어로 바뀝니다

Long.MIN_VALUE

.그래도 그렇지는 않습니다. 초당 1,000,000 번 증가하더라도 오버플로하는 데 약 300,000 년이 걸립니다.


범위는 -9,223,372,036,854,775,808에서 +9,223,372,036,854,775,807입니다. -9,223,372,036,854,775,808에서 시작합니다.

Long.MIN_VALUE.

long의 최대 값을 초과해도 예외가 발생하지 않고 대신 다시 돌아옵니다. 이렇게하면 :

Long.MAX_VALUE + 1

결과는 Long.MIN_VALUE와 같습니다.여기에서 :

자바 숫자가 long.max_value를 초과합니다-감지하는 방법?

참고 URL :

https://stackoverflow.com/questions/15505515/java-long-primitive-type-maximum-limit

반응형