cs지식 정리하기/면접 대비

[2일차] 기술 면접 준비

젤리의it 2024. 3. 12. 23:10

1. JPA의 더티 체킹이란 무엇인가요?

JPA의 더티 체킹JPA에서 더티 체킹(dirty checking)이란 영속성 컨테이너가 관리하는 엔티티의 상태를 감지해서, 변경된 부분이 있다면 자동으로 트랜잭션이 끝나는 시점에 데이터베이스에 반영하는 기능입니다. 따라서 여기서 말하는 dirty는 “엔티티 데이터의 변경된 부분”을 뜻하며 dirty checking은 변경된 부분을 감지한다는 의미입니다.더티 체킹 조건영속성 컨텍스트에서 관리되는 엔티티영속성 컨텍스트는 엔티티를 처음 조회할 때 시작되며, 이후 변경을 감지합니다. 준영속/비영속 상태의 엔티티는 더티 체킹의 대상이 되지 못합니다.Transaction이 커밋되었을 때트랜잭션이 커밋되기 전까지 영속성 컨텍스트는 변경사항을 추적하기만 하고, DB에 반영하지는 않습니다. 따라서 트랜잭션이 커밋될 때 영속성 컨텍스트는 엔티티의 변경된 상태를 DB에 반영합니다.

 

2. JVM 이란 무엇이고 왜 필요한지 설명해주실 수 있을까요?

JVM은 자바 프로그램 실행환경을 만들어주는 소프트웨어 입니다. OS에 종속받지 않고 CPU가 java를 인식, 실행 할 수 있게하는 가상 컴퓨터입니다. jvm을 사용하면 하나의 바이트 코드로 모든 플랫폼에서 작동할 수 있습니다.

 

3. Java가 컴파일되는 과정은 어떻게 되는지 설명해주실 수 있을까요?

자바로 코드를 작성합니다. 자바 컴파일러가 자바 소스 코드를 바이트 코드로 컴파일 합니다.

컴파일된 바이트 코드를 JVM의 클래스 로더에 전달합니다.

클래스 로더는 동적로딩을 통해 JVM 메모리에 올립니다.

실행 엔진이 JVM 메모리의 바이트 코드들을 명령어 단위로 하나씩 가져와서 실행합니다.

'cs지식 정리하기 > 면접 대비' 카테고리의 다른 글

[6일차] 기술 면접 준비  (0) 2024.03.25
[5일차] 기술 면접 준비  (0) 2024.03.20
[4일차] 기술 면접 준비  (0) 2024.03.19
[3일차] 기술 면접 준비  (1) 2024.03.13
[1일차] 기술 면접 준비  (0) 2024.03.11