가비지 컬렉션이란?
정리되지 않은 메모리, 유효하지 않은 메모리 주소인 가비지를 정리해주는 프로그램
Heap 메모리를 재활용 하기위해 참조되지 않는 객체들을 해제시켜 가용한 공간을 만드는 작업
프로그래머가 직접 메모리를 정리하지 않아도 되어 개발 속도가 대폭 향상된다.
메모리를 언제 되찾을지 결정하기 위한 오버헤드 발생 문제점 존재
Vector와 ArrayList의 차이는?
Vector : 동기식. 한 스레드가 벡터 작업 중이면 다른 스레드가 벡터 보유 불가능
ArrayList : 비동기식. 여러 스레드가 ArrayList에서 동시 작업이 가능
String과 StringBuffer의 차이는?
String : 불변. 문자를 수정하려면 지우고 다시 생성해야됨 (new) → 문자열 연산이 많으면 기능 떨어짐. 연산이 적고 조회가 많은 멀티스레드 환경에서 좋다
StringBuffer : 가변. 한 번 만들고 필요할 때 크기를 변경하여 문자를 변경함. Thread-Safe
StringBuilder : StringBuffer와 같으나 Thread-Safe 하지않음
Serialization이란?
직렬화. 객체의 상태 혹은 데이터 구조를 기록할 수 있는 포맷으로 변환해줌
나중에 재구성 할 수 있게 자바 객체를 JSON으로 변환해주거나 JSON을 자바객체로 변환해주는 라이브러리