++/CS

[TIL] CS공부 14일차

writtenbyrla 2024. 3. 21. 19:36

Spring @ControllerAdvice 어노테이션의 동작 원리에 대해 자세히 설명해주세요.

@ControllerAdvice 어노테이션은 컨트롤러에 대한 예외 처리를 하는 클래스를 정의할 때 사용됩니다.

@ControllerAdvice 어노테이션이 명시된 클래스는 스프링 컨텍스트에 등록되고,
로직 처리 중 예외가 발생하면 @ExceptionHandler가 명시된 메서드가 호출되어 예외처리와 관련된 로직을 수행합니다.

 

 

 

 

 


 

 

 

 

Checked Exception Unchecked Exception에 대해 자세히 설명해주세요.

Checked Exception
Exception 클래스의 하위 클래스로 컴파일 단계에서 발생하는 예외를 의미합니다.
외부 리소스와의 상호작용 시에 발생하는 예외 등 예측 가능한 상황에서 사용됩니다.
try-catch 나 throw로 예외 처리를 해야 하며, 컴파일 시점에서 예외 처리 여부를 검사하기 때문에 안정성이 높다는 장점이 있습니다.

Unchecked Exception
RuntimeException 클래의 하위 클래스로 실행 중에 발생할 수 있는 예외를 의미합니다.
주로 프로그래밍 오류나 런타임 환경의 문제 등 예측하기 어려운 상황에서 사용되며,
Checked Exception과는 달리 예외 처리를 강제하지 않습니다.

 

 

 

 

 

 


 

 

 

 

 

 

JPA 지연 로딩 즉시 로딩에 대한 설명과 함께 주의해야할 점에 대해 설명해주세요.

지연 로딩과 즉시 로딩은 연관관계에 있는 ORM에서 데이터를 가져오는 방식입니다.

지연로딩
연관관계에 있는 데이터를 필요한 시점에 로드하는 방법으로
네트워크 트래픽을 줄이고 메모리 사용을 최적화할 수 있습니다.
하지만 연관관계에 있는 엔티티의 경우 별도로 N개의 쿼리가 요청되어 성능 저하의 요인이 되기도 합니다.

즉시로딩
모든 데이터를 한번에 로드하는 방법으로
여러 개의 엔티티가 연관관계에 있을 때 한 번의 쿼리 요청으로 데이터를 로드할 수 있습니다.
하지만 한번에  모든 데이터를 로드하기 때문에 메모리나 자원을 많이 소비할 수 있습니다.

 

'++ > CS' 카테고리의 다른 글

[TIL] CS공부 15일차  (0) 2024.03.28
[TIL] CS공부 13일차  (0) 2024.03.20
[TIL] CS공부 12일차  (2) 2024.03.19
[TIL] CS공부 11일차  (1) 2024.03.18
[TIL] CS공부 10일차  (1) 2024.03.15