1. Long, long
Long은 참조 타입(Reference Type)으로 long의 래퍼 클래스이다.
long은 원시 타입(Primitive Type) 이다.
- 참조 타입 (Reference Type)
객체의 주소를 저장, 메모리 주소값을 통해 객체를 참조
null 할당 가능
Stack 영역에 참조 주소를 저장하고 Heap 영역에 데이터 저장하기 때문에 속도가 비교적 느리다.
원시 타입을 제외한 문자열, 배열, enum, class, interface - 원시 타입 ( Primitive Type )
실제 메모리에 데이터 값을 직접 저장
null 할당이 불가능
직접 값을 저장하기 때문에 참조 타입에 비해 성능이 좋다.
Stack 영역에 값이 존재하기 때문에 값을 가져오는데 속도가 비교적 빠르다.
boolean, char, byte, short, int, long, float, double
반응형
2. ISSUE
- 도메인에서 id
도메인 영역에서 id는 대체로 Auto Increment 설정이 되어있는 경우가 많다.
즉, 데이터 생성 시점에서 값이 할당된다는 것이며, 도메인 객체의 id는 특정시점에 존재할 수도 있고, 존재하지 않을 수도 있다.
그렇기에 long이 아닌 Long을 사용하며, not null 이 보장된다면 long을 사용하는 것이 더 좋다. - 혼용 사용 금지
원시 타입을 참조 타입으로 변환하는 것을 Boxing
참조 타입을 원시 타입으로 변환하는 것을 UnBoxing
Java에서는 이러한 변환을 명시적으로 선언하지 않아도 Auto Boxing / Auto UnBoxing 기능을 제공한다.
하지만 불필요한 객체 생성으로 인한 성능 저하를 일으킬 수 있다.
반응형
'Java' 카테고리의 다른 글
디자인 패턴(Design Pattern) (0) | 2024.05.01 |
---|---|
Huge Traffic Handling (대규모 트래픽 처리) (0) | 2024.01.16 |
Process & Thread / Thread.run() & Thread.start() (0) | 2023.04.19 |
Excel Download With POI (0) | 2023.03.21 |
Atomic (0) | 2023.02.27 |