- 자바의 동적 클래스 로딩: 메모리 효율적이지만 언로딩이 없어 메모리 누수 가능성 존재 ♻️
- JVM 클래스 로딩 과정: 클래스 파일을 JVM 메모리에 로딩 후 클래스 파일로 변환, 안정성 검사 및 최적화 진행 ⚙️
- JVM 실행 모드: 인터프리터 모드(빠른 시작, 느린 실행)와 JIT 컴파일 모드(느린 시작, 빠른 실행) 존재 🚄
- Java Agent: 클래스 변환 과정에 개입하여 바이트코드 조작 가능, AOP 등에 활용 🧙♂️
- 자바 형 추론: 지역 변수, 람다 인자 등에 적용, 코틀린과 러스트의 형 추론 방식 비교 🔎
- 익명 클래스: 간편하게 익명 클래스 생성 가능, 코드 가독성 향상 👍
- 불변 컬렉션: 런타임에 불변 여부 확인 어려움, 자바 10 이상의
copyOf
메소드 활용 권장 🔒
- 자바 모듈 시스템: 클래스 로딩 방식 변경, 순환 참조 및 캐노니컬 문제 발생 가능, 모듈 이름 고유해야 함 ⚠️
- 모듈 무용론: 모듈 시스템의 단점 및 한계 지적, 실제 활용에 대한 고찰 필요 🤔