Java 애플리케이션이 실행될 때, JVM은 프로그램을 구동하기 위해 Runtime Data Area(실행 시 데이터 영역)을 생성한다.이 영역은 다음과 같이 구성된다.Runtime Data Area = Method Area + Heap Area + Thread Private (Stack Area + PC Register + Native Method Stack × N) 📍 Thread Private 영역Stack Area, PC Register, Native Method Stack은 스레드마다 독립적으로 존재한다.즉, 멀티 스레드 환경에서는 각 스레드가 자신의 스택과 레지스터를 따로 갖고 실행된다.Stack Area메서드 호출 시마다 프레임이 쌓이며, 재귀 호출이 계속 반복되어 스택이 한계치에 다다르면..
인프런 - 널널한 개발자님의 [기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM] 강의를 수강하며 구글링과 함께 정리한 내용입니다😀 컴퓨터의 기본 구조Computer는 기본적으로 H/W와 S/W로 이루어져 있다.하드웨어 (H/W)- CPU : 실제 물리적인 Machine (하드웨어라고 할 때 주로 CPU를 의미)- Machine Code: 이 CPU가 이해하는 언어소프트웨어 (S/W)소프트웨어는 크게 두 영역으로 구분된다.System 영역 - 운영체제(OS): System 영역의 가장 대표적인 것 - Kernel: 운영체제의 핵심적 알맹이Application 영역 - User Application: Application 영역 - Process: Application이 동작하는 방..
SQL 최적화: IN vs EXISTS이론IN: 일반적으로 SET 자료구조를 이용 → 반복 비교 시 유리EXISTS: 존재 여부만 확인 → Subquery 기반 실행데이터가 아예 적을 때는 성능 차이가 있을 수 있음실무 관점실제 동작은 옵티마이저 최적화 방식에 따라 달라짐따라서 무조건 “IN이 빠르다/EXISTS가 빠르다”가 아니라,👉 실제 상황에서는 AUTOTRACE / EXPLAIN PLAN으로 실행계획을 직접 확인하고 최적화한다.답변 예시"이론적으로는 IN/EXISTS 차이가 있지만, 실무에선 옵티마이저 실행계획을 확인하면서 최적화를 합니다. 즉, 단순 이론이 아니라 실제로 어떻게 대응할 건지가 중요하다고 생각합니다."2. 메시징 시스템 (Kafka 등)경험 (이력서 기반)Redis Stream과..
이번에 설치할 GitLab은 내부서버용이다. 서버 관련 정보가 아래와 같다고 해보자.ip (host)192.1.1.37id (server user)rootpassword (server user)passw@rd사용 할 repository 경로/data/gitlab 🧪 GitLab 설치 명령어# 1. 필수 패키지 설치sudo yum install -y curl policycoreutils-python-utils openssh-server # 2. SSH 서비스 시작sudo systemctl enable sshdsudo systemctl start sshd# 3. 방화벽 설정sudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --perman..