| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 자료구조
- 자바
- 코딩인터뷰
- 코딩테스트팁
- 알고리즘공부
- Java
- 가비지컬렉션
- 메모리관리
- 코딩테스트
- 자바개발
- 자바기초
- HashMap
- 정렬
- 멀티스레드
- 프로그래밍기초
- 코딩테스트준비
- 알고리즘
- 클린코드
- 자바공부
- 코딩공부
- 객체지향
- 프로그래머스
- 자바프로그래밍
- JVM
- 백준
- 개발공부
- 파이썬
- 개발자팁
- 개발자취업
- 예외처리
- Today
- Total
목록2025/12/13 (2)
코드 한 줄의 기록
처음 Java를 배울 때 가장 신기한 부분 중 하나가 메모리 관리였다. C나 C++처럼 직접 free() 함수를 호출하거나 포인터를 관리할 필요가 없다는 게 정말 편했다. 하지만 실제 프로덕션 환경에서 고성능의 백엔드 시스템을 구축하려면 이 "자동"이라는 개념이 정확히 어떻게 동작하는지 알아야 한다. 특히 GC(Garbage Collection)는 애플리케이션의 응답 속도와 처리량에 직접적인 영향을 미치기 때문에 개발자가 반드시 이해해야 할 핵심 개념이다. 이번 글에서는 Java GC의 기초 원리부터 시작해서 세대별 GC가 왜 필요한지, 그리고 마크-스윕 알고리즘이 어떻게 동작하는지 상세히 설명할 것이다. 마지막으로 실제 GC 로그를 읽고 분석하는 방법까지 다룰 예정이니, 이 글을 읽으면 GC에 대한 근..
입사 코딩테스트는 많은 개발자들이 거쳐야 할 관문입니다. 저도 지난 몇 년간 여러 회사의 코딩테스트를 응시하면서 느낀 점이 있는데, 단순히 문제를 많이 푸는 것보다 어떻게 실수를 기록하고 분석하는가가 최종 합격을 좌우한다는 것입니다. 특히 우리처럼 이미 실무 경험이 있는 개발자들에게는 더욱 그렇습니다. 과거의 나는 코딩테스트를 준비할 때, 프로그래머스나 리트코드에서 어려운 문제들을 닥치는 대로 풀었습니다. 맞으면 넘어가고, 틀리면 답을 봤다가 다시 풀고... 이런 식의 반복이었습니다. 하지만 몇 달이 지나도 합격 소식은 오지 않았고, 여전히 같은 유형의 문제에서 같은 실수를 반복하고 있다는 것을 깨달았습니다. 변화는 오답노트를 체계적으로 작성하기 시작했을 때 생겼습니다. 이 글에서는 제가 실제로 경험하면..