| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 코딩인터뷰
- 코딩테스트준비
- 개발자팁
- 멀티스레드
- 자바
- 메모리관리
- JVM
- 개발자취업
- 자바프로그래밍
- 백준
- 프로그래밍기초
- 자바개발
- 자료구조
- 객체지향
- 클린코드
- 자바공부
- 프로그래머스
- 코딩테스트팁
- 코딩공부
- 가비지컬렉션
- 개발공부
- 알고리즘
- 알고리즘공부
- 코딩테스트
- 예외처리
- Java
- 파이썬
- HashMap
- 자바기초
- 정렬
- Today
- Total
목록2025/12/07 (2)
코드 한 줄의 기록
당신이 놓치고 있는 것코딩테스트 준비하면서 매일 알고리즘 문제를 풀어본다. 하루에 3개, 5개, 때로는 10개까지. 맞았다고 나오면 다음 문제로 넘어가고, 틀렸다면 해설을 보거나 구글링해서 방법을 찾아본다. 빠르게 많은 문제를 푼다는 것 자체가 실력을 키우는 것이라고 믿으면서.하지만 여기서 정말 중요한 게 빠져있다는 걸 알고 있는가? 바로 자신이 쓴 코드를 다시 읽어보는 습관이다. 나도 처음엔 그랬다. 알고리즘 문제 풀 때는 마치 시험을 보는 심정으로 문제를 풀고, 통과하면 끝이라고 생각했다. 입사 시험도 아니고 그냥 연습이잖아. 빨리빨리 많은 문제를 풀어야 내 실력이 늘겠지 하는 생각으로 말이다. 그런데 인턴십 때 팀장님한테서 받은 피드백은 충격이었다. "코드는 맞는데, 왜 이렇게 짜셨어요?" 문제는 ..
멀티스레드 환경에서 안전한 데이터 공유는 Java 개발자들이 피할 수 없는 과제다. 특히 Java 8부터 도입된 스트림과 함께 Concurrent 컬렉션을 사용할 때, 많은 개발자들이 같은 실수를 반복한다. 우리가 공부하면서 겪었던 실제 문제들과 해결 방법을 정리해보자.Concurrent 컬렉션이 정말 안전한가?동기화 컬렉션의 진짜 문제처음 Java를 배울 때 Vector나 Hashtable이 스레드 안전하다고 배웠다. 맞는 말이다. 하지만 이들은 전체 컬렉션을 락으로 보호하기 때문에 성능이 끔찍하다. 모든 메서드에 synchronized가 붙어있어서 한 번에 하나의 스레드만 접근할 수 있다. 생각해보면 읽기만 하는데도 락을 기다려야 한다니, 정말 비효율적이다. ArrayList나 HashMap이 나온 ..