📑 JAVA 03 - JVM GC와 메모리 관리
JVM GC와 메모리 관리 학습 목표 이번 주제의 핵심은 단순히: “GC는 안 쓰는 객체를 제거하는 기능” 수준이 아니다. 실무에서는 다음을 이해해야 한다. 왜 GC가 필요한가? JVM은 왜 Heap을 세대별로 나누는가? Minor GC와 Major GC 차이는 무엇인가? ...
JVM GC와 메모리 관리 학습 목표 이번 주제의 핵심은 단순히: “GC는 안 쓰는 객체를 제거하는 기능” 수준이 아니다. 실무에서는 다음을 이해해야 한다. 왜 GC가 필요한가? JVM은 왜 Heap을 세대별로 나누는가? Minor GC와 Major GC 차이는 무엇인가? ...
DATT v2 아키텍처 설계 및 도메인 구조 분석 프로젝트 개요 DATT는: “공간에 기억을 남기는 위치 기반 기록 플랫폼” 을 목표로 하는 서비스다. 사용자는: 장소 검색 지도 탐색 Anchor 기록 이미지 업로드 리뷰 작성 장소...
DATT 프로젝트란? DATT는 단순 맛집 검색 서비스가 아니다. 핵심 목표는: "특정 장소를 기준으로 주변 경험을 탐색하고, 그 경험을 사용자들과 공유하는 플랫폼" 을 만드는 것이다. 즉: 장소 검색 → 주변 탐색 → Anchor 생성 → 공유 → 리뷰 → 사용자 활동 → 성장 흐름을 가진다. 예를 들어 사용자가: "성수에서 데이...
JVM ClassLoader와 Proxy 구조 학습 목표 이번 주제의 핵심은: JVM은 왜 Runtime Dynamic Loading 구조를 사용하는가? 부모 위임 모델은 왜 필요한가? 핵심 클래스를 왜 보호해야 하는가? Proxy는 왜 사용하는가? Spring은 왜 프록시 기반 프레임워크인가? Reflection과 Pro...
실무형 Java 백엔드 집중 성장 플랜 현재 목표: 중견 Java 백엔드 이직 실무형 개발자 포지셔닝 강화 Java/Spring 내부 동작 이해 운영/장애 대응 관점 강화 방향은 명확하다. “코테”보다 “실무 이해도” 에 집중한다. 즉: Java 내부 구조 Spring 동작 원리 DB/트랜잭션 운영...
1주차 1일차 - 객체 생성 과정과 JVM 메모리 구조 심화 Java 백엔드 면접에서 굉장히 자주 등장하는 질문: “new 키워드로 객체 생성 시 어떤 일이 발생하나요?” 많은 경우: Heap에 객체 생성 Stack에 참조 저장 정도로 끝난다. 하지만 실제 중견 이상 면접에서는: 클래스 로딩 메모리 할당 객체...
문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 ...
문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면...
문제 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는...
문제 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진...