
단순한 “Hello World” 뒤에서 JVM이 어떤 과정을 거치는지, 컴파일부터 실행 엔진·JNI까지 전체 구조를 한눈에 이해할 수 있게 정리했습니다.

인터페이스와 추상 클래스의 차이를 실제 코드와 함께 정리한 글입니다. ‘규약을 강제하는 인터페이스’와 ‘공통 상태·기능을 제공하는 추상 클래스’를 비교하며 언제 어떤 것을 써야 하는지 명확하게 이해할 수 있도록 정리했습니다.
단일 책임 원칙(SRP)은 클래스가 하나의 역할만 가지도록 하여 변경 이유를 단일화하는 원칙이고, 개방·폐쇄 원칙(OCP)은 기존 코드를 수정하지 않고 새로운 기능을 확장할 수 있게 설계하는 원칙이다. 두 원칙 모두 유지보수성과 확장성을 높이는 핵심 객체지향 개념이다.
HashSet은 자바 컬렉션 프레임워크에서 순서 X, 중복 X 이러한 형식으로 저장되는 자료구조이다. 해싱(Hashing)을 사용하여 매우 효율적인 중복 체크와 요소 삽입/조회 성능을 달성한다.

Java File vs Files 차이와 개념 정리

JPA에서 자주 발생하는 N+1 문제의 원인과 Lazy 로딩의 동작 원리를 정리하고, Fetch Join, EntityGraph, DTO 프로젝션, Batch Size로 해결하는 방법을 예제와 함께 설명합니다.
경쟁 상태(Race Condition)의 본질과 해결 전략