728x90
반응형
1. 자바를 쓰는 이유가 뭘까요
- 자바를 구성하는 5가지 장점으로 인해 자바를 사용한다고 생각합니다.
- 자바는 객체지향형이고, 쉽고, 단순합니다. 다형성 및 캡슐화 등 객체지향적으로 구성되어있습니다.
- 자바는 분산환경에서 사용되도록 디자인되어 보안상 안전하게 설계되어있습니다.
- 자바는 javac를 이용해 OS에 영향받지 않는 중립적인 코드를 생성하기 때문에 아키텍쳐 관계없이 사용가능하므로, 호환성 문제가 발생하지 않습니다.
- JIT나 GC 등 자바 최적화를 위한 기법들이 존재합니다.
- 멀티스레드 환경을 지원하여 동시에 여러 작업이 진행가능하도록 지원해줍니다.
2. JIT가 뭘까요?
- 어떤 메서드의 일부, 혹은 전체 코드를 네이티브 코드로 변환하여 JVM에서 번역하지 않도록 함으로서 보다 빠른 성능을 제공하는 기술입니다.
- 변환작업은 인터프리터에서 지속적으로 수행되지만, 필요한 코드 정보는 캐시에 담아두었다(메모리에 올려두었다)가 재사용하게 됩니다.
3. CMS GC란?
- STW를 최소화하기 위해 등장한 GC입니다.
- STW(Stop The World) : GC가 발생하여 가비지를 수집하는 동안에 모든 애플리케이션의 스레드가 중단되는 현상입니다.
- GC 대상을 최대한 자세하게 파악한 후 정리하는 시간을 최대한 짧게 가져가는 기법입니다.
- 한 차례의 긴 STW 중단을 짧은 두차례 STW로 대체하는 기법입니다.
4. JVM이란?
- 자바 가상머신
- 자바 바이트코드를 OS에 특화된 코드로 변환해준다.
- 특정 플랫폼에 종속적이다.
5. HashSet
- 순서가 중요한것이 아니라, 해당 키값의 밸류가 존재하는지가 중요할 때 사용합니다.
- 중복된 값이 들어올 수 없습니다.
- 실제 코드를 보면 HashMap 으로 구현이 된 것을 알 수 있습니다.
728x90
반응형
'Dev' 카테고리의 다른 글
[Spring] 의존성 주입(DI) 에 대해 알아보자 - 2 / Bean 설정 (0) | 2022.03.02 |
---|---|
[Spring] 의존성 주입(DI) 에 대해 알아보자 - 1 / 개요, Bean 정의 (0) | 2022.02.28 |
12. [면접질문 정리] 인터넷 네트워크 (0) | 2021.04.19 |
11. 기술면접 전 보고가면 좋은 내용 공유 (0) | 2021.04.06 |
10. [자바] 자바 개발자 면접 질문 정리 (0) | 2021.04.02 |