728x90 전체보기36 [Java] 🚦 자바 메모리 가시성(Java Memory Visibility) [Java] 🚦 자바 메모리 가시성(Java Memory Visibility) Java와 같은 멀티스레드 환경에서 각 스레드는 성능 향상을 위해 메인 메모리(Heap)에 있는 변수의 복사본을 자신의 캐시(CPU 캐시 등)에 저장하여 사용합니다. 스레드가 변수 값을 변경하면, 이 변경 내용은 즉시 메인 메모리에 반영되지 않고 자신의 캐시에만 반영될 수 있습니다. 이때 다른 스레드가 해당 변수 값을 읽으려 하면, 메인 메모리에 아직 반영되지 않은 오래된 캐시 값을 읽거나 전혀 다른 값을 읽을 수 있습니다. 이처럼 한 스레드의 변수 변경 결과를 다른 스레드가 즉시(또는 적절한 시점에) 볼 수 없는 현상을 메모리 가시성 문제라고 합니다. Spring 애플리케이션에서 여러 웹 요청이 같은 서비스 빈의 상태를 .. 2025. 4. 20. [Java] ☕ Thread 정리: 메서드, 생명주기, 제어 방법 [Java] ☕ Thread 정리: 메서드, 생명주기, 제어 방법 멀티스레드는 자바에서 병렬 처리를 구현하는 핵심 개념 중 하나다. 이 글에서는 Thread 클래스가 제공하는 주요 메서드부터, 스레드의 생명주기 및 제어 방법까지 핵심만 정리해서 소개한다. 🧵 1. Thread 클래스가 제공하는 주요 메서드 자바의 Thread 클래스는 스레드 실행을 위한 다양한 메서드를 제공한다. 목적에 따라 크게 3가지 범주로 나눌 수 있다. 1-1. ✅ 실행 관련 메서드메서드설명start()새로운 스레드를 시작하고, 내부적으로 run()을 호출한다.run()스레드에서 실행할 실제 작업을 정의한다. 직접 호출하면 멀티스레드가 아님.join()해당 스레드가 종료될 때까지 현재 스레드를 일시 중지시킨다.join(long.. 2025. 4. 7. [Java] 🧵 Thread 기본 개념 [Java] 🧵 Thread 기본 개념 ✅ 간단 정리항목설명Thread 개념실행 단위. 기본은 main 스레드생성 방법Thread 상속 vs Runnable 구현실행과 종료start()로 실행, 안전하게 종료 처리 필요동기화공유 자원 보호를 위한 synchronized데몬 스레드백그라운드 보조 역할, main 종료 시 자동 종료 🔍 Thread란? Thread(스레드)는 프로세스 내에서 실행되는 최소 실행 단위를 말한다. 자바 프로그램은 main 스레드에서 시작하며, 동시에 여러 작업을 병렬로 처리하고 싶다면 멀티스레딩(Multithreading)을 활용한다. 멀티스레딩은 UI 응답성, 백그라운드 처리, 서버 동시 요청 처리 등 다양한 상황에서 성능과 효율을 극대화할 수 있게 해 준다. ⚙️ 자바에.. 2025. 4. 6. [MySQL] MySQL 설치 후 Database 생성하기 [MySQL] MySQL 설치 후 Database 생성1. 데이터베이스 생성CREATE DATABASE my_database CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs;'my_database' : 만들고자 하는 DB 이름'utf8mb4' : 이모지까지 지원하는 문자 인코딩(표준)'utf8mb4_0900_as_cs' : 유니코드 9.0 기준, 대소문자 구분 문자 인코딩은 현재 표준으로 utf8mb4를 사용한다. 따라서 해당 값을 넣어주면 되고 정렬 규칙은 아래 특징에 따라 사용하고자 하는 Collation을 사용하면 된다. Collation의미특징utf8mb4_0900_ai_ciAccent-insensitive, Case-insensitive기본값... 2025. 4. 5. 이전 1 2 3 4 ··· 9 다음 728x90