1. 자바 언어의 장점은 무엇인가요?
2. JVM(Java Virtual Machine)이 무엇인가요?
3. JIT 컴파일러란 무엇인가요?
4. JVM에서 사용할 수 있는 메모리 저장소는 어떤 게 있나요?
5. JVM, JRE, JDK의 차이점은 무엇인가요?
6. 스트링 풀(String Pool)이란 무엇인가요?
7. 예외 처리란 무엇인가요?
8. 컬렉션 프레임워크(Collection Framework)가 무엇인가요?
6. 스트링 풀(String Pool)이 무엇인가요?
Java의 스트링 풀은 프로그램에 정의된 모든 문자열이 저장되는 힙 메모리의 장소입니다.
스택의 별도 위치에는 문자열을 저장하는 변수가 저장되고, 새 문자열 객체를 생성할 때마다 JVM은 스트링 풀에 객체가 있는지 확인합니다. 문자열이 풀에서 사용 가능한 경우 동일한 객체 참조가 변수와 공유되고, 그렇지 않으면 새 객체가 생성됩니다.
String str1="안녕하세요";
// "Hello"는 String Pool에 저장됩니다.
// str1은 스택 메모리에 저장됩니다.