최근 포스트

ThreadLocal은 무엇일까

4 분 소요

흔히 동시성 문제는 상태와 관련이 되어 있습니다. 멀티 스레드 환경에서 상태를 가진 객체를 사용할때 주의하지 않으면 예상치 못한 결과가 발생하는 데 간단한 예제를 통해 확인해보겠습니다.

컴파일러는 왜 타입 추론을 실패했을까

3 분 소요

자바 8부터는 함수형 프로그래밍 방식을 지원하며 람다 식과 메서드 참조를 사용할 수 있습니다. Comparator 인터페이스를 람다 식으로 구현하며 발생했던 문제에 대해 정리해봤습니다.

Lombok은 어떻게 작동하는걸까

4 분 소요

자바에서 코드를 작성할 때 반복적으로 작성해야 되는 코드로 인해 불편함을 느끼신 적 있나요? 저는 gettter, setter 메서드들에서 특히 그런 느낌을 받았습니다. 기능적으로 필요한 코드들이지만 같은 유형의 반복적인 코드와 작성한 클래스 파일의 스크롤도 길...

Optional 알아보기

5 분 소요

자바 8부터 제공되기 시작한 Optional은 null을 처리하는데 도움을 주는 새로운 클래스입니다. 자바는 왜 null을 처리하기 위해 Optional을 도입했을까요?

ArrayList는 동적 배열인가

3 분 소요

자바의 컬렉션 중 가장 쉽게 사용되는 것은 List 인터페이스를 구현한 ArrayList가 아닐까합니다. 여러 블로그의 포스팅을 보면 배열과 함께 언급이 되는데 배열과 ArrayList의 차이와 ArrayList의 내부 구조가 어떻게 구현되어 있는지 알아보려고 합니다.