finalizer와 cleaner 사용을 피하라 자바에서 제공하는 두 가지 객체 소멸자는 finalizer와 cleaner입니다. finalizer finalizer는 예측할 수 없고, 상황에 따라 위험할 수 있어 일반적으로 불필요합니다. 오작동, 낮은 성능, 이식성 문제의 원인이 되기도 하며, 기본적으로 사용하지 않는게 좋습니다. cleaner cleaner는 finalizer보다는 덜 위험하지만, 여전히 예측할 수 없고, 느리고, 일반적으로는 불필요합니다. 문제점 🧨 finalizer와 cleaner는 즉시 수행된다는 보장이 없습니다. 객체에 접근할 수 없게된 후 finalizer나 cleaner가 실행되기까지 얼마나 걸릴지 알 수 없습니다. 즉 finalizer와 cleaner는 제때 실행되어야 ..
다 쓴 객체 참조를 해제하라 자바에서는 가비지 컬렉터가 메모리를 알아서 관리 해주니까 프로그래머가 메모리 관리에 신경써야 하는 부분이 적습니다. 그래서 자칫 메모리 관리에 더 이상 신경쓰지 않아도 된다고 오해할 수 있는데, 절대 사실이 아닙니다. 일반적으로 객체 참조가 해제되서 객체를 참조하는 곳이 없게되면 가비지 컬렉터는 해당 객체를 회수해갑니다. 💡예제 코드 아래 예제 코드에서는 스택이 커졌다가 줄어들었을 때 스택에서 꺼낸 객체들을 가비지 컬렉터가 회수하지 않습니다. 프로그램에서 해당 객체를 더 이상 사용하지 않더라도 회수를 하지 않습니다. 예제 코드에서는 스택이 배열에 다 쓴 참조를 여전히 가지고 있습니다.(다 쓴 참조란 더이상 쓰이지 않을 참조란 의미) public class Stack { pri..
- Total
- Today
- Yesterday
- redis sorted set
- space based architecture
- 서비스 기반 아키텍처
- spring boot poi excel download
- microkernel architecture
- JDK Dynamic Proxy와 CGLIB의 차이
- 트랜잭셔널 아웃박스 패턴 스프링부트
- spring boot redisson sorted set
- transactional outbox pattern spring boot
- 레이어드 아키텍처란
- polling publisher spring boot
- redis 대기열 구현
- spring boot excel download oom
- pipe and filter architecture
- pipeline architecture
- @ControllerAdvice
- spring boot redisson 분산락 구현
- 공간 기반 아키텍처
- redis sorted set으로 대기열 구현
- spring boot 엑셀 다운로드
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- 람다 표현식
- spring boot redis 대기열 구현
- java userThread와 DaemonThread
- service based architecture
- spring boot excel download paging
- java ThreadLocal
- transactional outbox pattern
- spring boot redisson destributed lock
- 자바 백엔드 개발자 추천 도서
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |