본문 바로가기

분류 전체보기

(9)
13장) 스레드 안전성과 락 최적화 1. ReentrantLock 설명? 2. 논블로킹 동기화 - CAS (campare and swap) 설명? 3. 스핀락, 편향락 설명?
12장) 자바 메모리 모델과 스레드 1. 프로세스, 캐시, 메인메모리 사이의 상호관계 설명? 2. JIT컴파일러의 최적화 수행 방법? 3. jvm상에서의 스레드, 작업메모리, 메인메모리 사이의 상화관계 설명? 4. volatile의 정의/설명? 2가지 특성    - 읽기 : 일반변수와 같다.    - 쓰기 : 쓰기장벽을 통해, 재정렬 명령어 최적화 방지 코드를 추가함으로 느려진다. 5. 원자성, 가시성, 실행순서에 대한 설명? 6. 가시성 제공하는 키워드 3개는 ? 7. synchronized블록의 가시성에 대한 설명? 8. 동시성 안전문제를 분석할때는 시간순서에 얽매여서는 안되고, 선발생원칙에 근거해야한다.여기서 선발생원칙이란? 9. 스레드의 스케줄링 방법 2가지에 대한 설명?   - 협력적 스케줄링.   - 선점형 스케줄링.  10, ..
11장) 백엔드 컴파일과 최적화 1. 백엔드 컴파일이란? 2. 인터프리터의 역할 (JIT의 보조 측면)은 무엇인가? 3. 핫코드의 대상 기준 2가지? 4. 온스택치환이란? 5. 핫스팟 탐기 방법 2가지 설명  - 샘플기반 핫스팟 코드 탐지  - 카운터기반 핫스팟 코드 탐지. 6. AOT컴파일러에 대한 설명 (장단점) 7. 그랄컴파일러와 jaotc 목적과 사용법의 차이는?
9장) 프런트엔드 컴파일과 최적화 1. 자바가 선택한 제네릭 구현방식에 대한 설명(소거법)?
8장) 바이트코드 실행 엔진 1. 가상머신구현에서 실행엔진이 바이트코드를 실행하는 방법 2가지에 대한 설명? 2. 가상머신 스택에서의 스택프레임에 담기는 정보(요소)들은? 3. 가상머신 스택에서 메서드 호출시 하는 것?  4. 자바언어에서 '컴파일타임에 알수없고, 런타임에는 변경될수없다'라는 조건에 부합하는 메서드 2가지는? 5. 오버로딩된 메서드중에 어느 버전을 호출하지에 대한 기준 요소 2가지는?   (매개변수의 실제 타입이 아닌 정적 타입을 참고함) 6. 동적타입언어의 핵심 특징? 7. 스택기반 명령어 집합의 장점/단점 ?
7장) 클래스 로딩 메커니즘 1.  클래스 로딩 메커니즘 7단계? 각각 설명.    - 로딩       - 검증       - 준비       - 해석    - 초기화    - 사용    - 언로딩 2. 초기화 단계에서 clinit에서 주의해야할점? 3. 두 클래스가 '동치인가' 여부를 판단하는 기준은? 4. 자바 클래스 로더의 종류 2가지? 5. 클래스 로더 부모 위임 모델은 ? 6. 클래스 로더의 부모 위임 방식에 대한 설명은? 7. 자바모듈의 public의 접근 권한에 대한 설명? 8. 모듈화에서의 클래스 로더의 부모 위임 방식의 변화한 점은?
3장) 가비지 컬렉터와 메모리 할당 전략 1. 객체가 죽었는지를 확인하는 알고리즘 2가지 설명.   - 참조 카운팅 알고리즘   - 도달 가능성 분석 알고리즘. 2. GC루트로 이용할수 있는 객체는? 3. 참조 유형 4가지  - 강한 참조 (Strong)  - 부드러운 참조 (Soft)  - 약한 참조. (Weak)  - 유령 참조 (Phantom) 4. 세대 단위 컬렉션 이론 가설 3가지 5. 가비지 컬렉션 알고리즘 3가지   - 마크앤 스윕   - 마크앤 카피   - 마크앤 컴팩트 6. 세대간 참조 확인을 위해 신세대에 기억집합을 두고, 구세대 참조 기록을 관리함. 7. 마크-스윕 알고리즘 장단점? 8. 마크-카피 알고리즘 장단점? 9. 마크-캠팩트 알고리즘 장단점? 10. 메모리 할당 보증 메카니즘이란? 11. 핫스팟 알고리즘 상세하게 설..
2장) 자바 메모리 영역과 메모리 오버플로 1. 런타임 데이터 영역 구성도 설명?    - 클래스 로더, 런타임 데이터 영역, 런타임 실행엔진, 네이티브 라이브러리 인터페이스, 네이티브 라이브러리. 2. 프로그램 카운터 설명 3. 자바가상머신 스택 설명.    - 스택 프레임 이란? 4. 자바가상머신 스택에서 발생하는 오류 2가지는? 5. 네이티브 메서드 스택 설명. 6. 힙 설명. 7. TLAB (쓰레드 로컬 할당 버퍼) 설명. 8. 메소드 영역 설명.(역할)   - 클래스이름, 접근제한자, 상수풀, 필드설명, 메서드 설명 (타입관련 정보 저장) 9. 런타임 상수풀 설명. 10. 다이렉트 메모리 설명. 11. 객체생성 과정 설명. 12. 객체생성시, 메모리 할당 방식 2가지 (포인트 밀치기, 여유목록 방식) 13. 자바 객체생성시 new, in..
1장) 자바 기술 시스템 소개 1. 자바의 대표적인 특징? 2. 자바 기술 시스템에서 4가지 주요 제품군은? 3. 자바의 탄생     - 자바 전신 년도:    - 자바 1.0 년도:    - JIT컴파일러 처음 도입 년도: JDK 1.2발표 :    - 핫스팟 정식 가상머신으로 출시 년도 :     - JDK1.4 출시, 진정한 성숙 버전 :     - JDK6출시 및 오픈소스 전환 :     - JDK7출시 :     - JDK10출시, 오라클,안드로이드 저작권 사건 :     - JDK15출시, ZGC, 세넌도어 정식 출시 :     - JDK21출시 : 세대구분 ZGC, 가상스레드 도입 4. 자바 저작권관련 정책은?    5. 자바가 느리다' 라고 말했던 초기 자바의 구동 이유?    클래식 vm (완전 변경) -> 이그젝트 ..