[JVM] 메모리 구조와 객체 흐름
도입 남한테 설명할 줄 알아야 진짜 공부가 된거다. JVM에 대해 한번 공부했지만 기억에 남는건 별로 없었다. 이제부턴 모르는 사람에게 이 개념을 설명한다 상상하고 혼자 설명하며 공부해보려한다.. JVM의 역할과 RunTime Data Area 구조, 그리고 객체가 생성되고 GC로 정리되기까지의 흐름을 남겨보겠다. JVM 이란? JVM 요약도 ...
도입 남한테 설명할 줄 알아야 진짜 공부가 된거다. JVM에 대해 한번 공부했지만 기억에 남는건 별로 없었다. 이제부턴 모르는 사람에게 이 개념을 설명한다 상상하고 혼자 설명하며 공부해보려한다.. JVM의 역할과 RunTime Data Area 구조, 그리고 객체가 생성되고 GC로 정리되기까지의 흐름을 남겨보겠다. JVM 이란? JVM 요약도 ...
DevBid 프로젝트에서 입찰 동시성 제어를 Redis 분산락으로 구현했지만 자바 기본 동시성 메커니즘을 제대로 이해하고 싶어 김영한 선생님의 자바 고급편 강의를 듣고 있다. 그 중 생산자-소비자 문제를 BlockingQueue 로 이해하고 정리한 포스팅이다. 락의 2단계 대기 상태 synchronized, ReentrantLock 모두 2가지 대...
도입 이유 기존 DevBid의 로그인 흐름은 세션 기반 인증이었다. 사용자 → ID/PW 입력 → 서버에서 DB 조회 → 비밀번호 비교 → 성공 시 세션 저장 및 JSESSIONID 쿠키 발급 이 구조는 단순하고 안정적이지만, 경매 플랫폼 특성상 몇 가지 한계가 있었다. 회원가입 허들이 높다 경매는 충동적으로 참여가 ...
멀티태스킹 CPU가 매우 빠르게 두 프로그램의 코드를 번갈아 수행해 사람이 느낄 때 두 프로그램이 동시에 실행되는 것처럼 느끼는 것. 각 프로그램의 실행 시간을 분할해 마치 동시에 실행되는 것 처럼 하는 기법을 시분할(Time Sharing, 시간공유) 기법이라 한다. 따라서 CPU 코어가 하나만 있어도 여러 프로그램이 동시에 실행되는 것 처럼 느...
AOP란? Aspect-Oriented Programming (관점 지향 프로그래밍) 로깅, 트랜잭션, 보안 같은 공통 기능을 비즈니스 로직에서 분리하는 기법 AOP 없이 구현 public void placeBid(...) { log.info("입찰 시작"); // 로깅 long start = System.currentTimeM...
📚 실시간 경매 시스템 구축기 시리즈 WebSocket으로 실시간 경매 구현하기 WebSocket 메시지 동기화 문제와 Redis 선택 Redis 분산락과 Pub/Sub으로 멀티서버 동시성 제어 Redis 도입 후 마주한 문제와 해결 멀티서버 환경에서 Pub/Sub와 분산락 검증 ← 현재 글 들어가며 앞선 글에서 로컬 환경에 ...
📚 실시간 경매 시스템 구축기 시리즈 WebSocket으로 실시간 경매 구현하기 WebSocket 메시지 동기화 문제와 Redis 선택 Redis 분산락과 Pub/Sub으로 멀티서버 동시성 제어 Redis 도입 후 마주한 문제와 해결 ← 현재 글 멀티서버 환경에서 Pub/Sub와 분산락 검증 개요 이전 글에서 Redis Pub...
📚 실시간 경매 시스템 구축기 시리즈 WebSocket으로 실시간 경매 구현하기 WebSocket 메시지 동기화 문제와 Redis 선택 Redis 분산락과 Pub/Sub으로 멀티서버 동시성 제어 ← 현재 글 Redis 도입 후 마주한 문제와 해결 멀티서버 환경에서 Pub/Sub와 분산락 검증 멀티 서버 환경에서의 메시지 동기화 ...
📚 실시간 경매 시스템 구축기 시리즈 WebSocket으로 실시간 경매 구현하기 WebSocket 메시지 동기화 문제와 Redis 선택 ← 현재 글 Redis 분산락과 Pub/Sub으로 멀티서버 동시성 제어 Redis 도입 후 마주한 문제와 해결 멀티서버 환경에서 Pub/Sub와 분산락 검증 현재 구현의 한계 현재는 단일 서버...
📚 실시간 경매 시스템 구축기 시리즈 WebSocket으로 실시간 경매 구현하기 ← 현재 글 WebSocket 메시지 동기화 문제와 Redis 선택 Redis 분산락과 Pub/Sub으로 멀티서버 동시성 제어 Redis 도입 후 마주한 문제와 해결 멀티서버 환경에서 Pub/Sub와 분산락 검증 왜 WebSocket이 필요했나? ...