LUNA's Archive

고정 헤더 영역

글 제목

메뉴 레이어

LUNA's Archive

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (87) N
    • C (2)
    • C++ (1)
    • Data Structure & Algorithm (9)
    • Computer Vision (0)
    • RDBMS (19) N
    • Spring Framework (7)
    • Network (8)
    • Spring Webflux (2)
    • Java (16)
    • 대규모 설계 기초 (12)
    • Spring Data JDBC (5)
    • Spring Security (4)
    • JPA (0)
    • Spring Batch (0)
    • Infra (2)

검색 레이어

LUNA's Archive

검색 영역

컨텐츠 검색

전체 글

  • Context Switching이란?

    2025.05.16 by Wanderer Kim

  • Process와 Thread

    2025.05.16 by Wanderer Kim

  • [MySQL] MVCC(Multi-Version Concurrency Control)

    2025.05.14 by Wanderer Kim

  • [MySQL] 쿼리 실행 구조

    2025.05.13 by Wanderer Kim

  • LocalDate, LocalTime, LocalDateTime

    2025.05.13 by Wanderer Kim

  • Java의 시간 날짜 라이브러리 소개

    2025.05.11 by Wanderer Kim

  • spring security에서 authority와 role의 차이점

    2025.05.08 by Wanderer Kim

  • Java Generics에서 extends와 super의 차이점

    2025.05.06 by Wanderer Kim

Context Switching이란?

Context Switchig의 의미context switching이란 CPU가 현재 실행 중인 process또는 thread읭 상태를 저장하고, 다음에 실행할 프로세스의 상태를 복원하는 작업을 의미한다. Context란?context switching에서 context가 의미하는 것은 CPU가 어떤 작업을 수행 중인지 나타내는 정보 집합으로 다음을 포함한다.레지스터 값들program counterstack pointerCPU 상태메모리 맵 정보Context switching 과정(process 기준)현재 실행 중인 프로세스의 상태 저장다음에 실행할 프로세스 선택: 스케줄러가 CPU 할당 대상 프로세스를 선택선택된 process의 상태 복원CPU 제어권을 넘김thread간 context switching..

Java 2025. 5. 16. 19:33

Process와 Thread

java의 동시성에 대해서 배우기 시작하면서 가장 기초적인 개념인 process와 thread에 대해서 정리해 보았다. Processprocess란 실행 중인 프로그램을 말한다. process는 메모리, CPU,등 자원을 할당받아 독립적으로 실행된다.특징동릭된 메모리 공간을 가진다.하나의 프로세스는 다른 프로세스의 메모리에 접근 불가하다.프로세스를 생성하는 데 큰 비용을 든다.예시: 크롬 부라우저, 엑셀, 메모장Threadthread는 prcoess 내에서 실행되는 작업 흐름의 단위이다.특징같은 process 안의 여러 thread는 코드, 데이터, 힙 메모리를 공유한다.각각의 thread는 별도의 스택 메모리를 가진다.(함수 호출, 지역 변수등을 저장)thread의 생성 비용은 process에 비해 적..

Java 2025. 5. 16. 19:10

[MySQL] MVCC(Multi-Version Concurrency Control)

MVCC란?MVCC는 Multi-Version Concurrency Control의 약자로 RDBMS에서 Lock을 사용하지 않고도 데이터의 읽기 일관성을 보장해주는 기법이다. MVCC는 데이터 항목의 여러 버전을 유지함으로써 읽기 작업이 쓰기 작업에 의해 차단되지 않도록 합니다.MVCC의 핵심 원리는 데이터의 변경 이력을 버전별로 관리하여, 각 트랜잭션이 특정 시점의 일관된 데이터 스냅샷을 볼 수 있게 하는 것이다. MVCC 작동 원리트랜잭션 시작과 타임스탬프트랜잭션이 시작되면 고유한 트랜잭션 ID가 할당 된다. 이 ID는 데이터 버전의 가시성을 결정하는 데 사용된다. MySQL에서는 트랜잭션마다 트랜잭션 ID를 부여하여, 해당 ID보다 작은 트랜잭션 번호에서 변경된 데이터만 읽을 수 있게 한다.데이..

RDBMS 2025. 5. 14. 04:12

[MySQL] 쿼리 실행 구조

쿼리 실행 과정쿼리가 실행 되는 전체적인 과정은 아래와 같다.SQL 요청쿼리 파서전처리기옵티마이저쿼리 실행기스토리지 엔진SQL 결과 반환쿼리 파서쿼리 파서는 사용자 요청으로 들어온 쿼리 문달을 토큰으로 분리해 트리 형태의 구조로 만들어 내는 작업을 의미한다.쿼리 문장의 기본 문법 오류는 이 과정에서 발견되고 사용자에게 오류 메시지를 전달한다.전처리기파서 과정에서 만들어진 파서 트리를 기반으로 쿼리 문장에 구조적인 문제점이 있는지 확인한다.각 토큰을 테이블 이름이나 칼럼 이름 또는 내장 함수와 같은 개체를 매핑해 해당 객체의 존재 여부와 객체의 접근 권한 등을 확인하는 과정을 수행한다.옵티마이저옵티마이저는 사용자의 요청으로 들어온 쿼리 문장을 저렴한 비용으로 가장 빠르게 처리할지를 결정하는 역할을 담당한..

RDBMS 2025. 5. 13. 18:53

LocalDate, LocalTime, LocalDateTime

java에서 시간/날짜를 표시하는 class 중 지역의 날짜/시간을 나타내는 LocalDate, LocalTime, LocalDateTime에 대해서 정리해 보았다.LocalDate: 날짜만 표현할 때 사용한다.LocalTime: 시간만을 표현할 때 사용한다.LocalDateTime: LocalDate와 LocalTime을 합한 개념이다.LocalDatepublic final class LocalDate implements Temporal, TemporalAdjuster, ChronoLocalDate, Serializable { /** * The year. */ private final int year; /** * The month-of-year. ..

Java 2025. 5. 13. 03:04

Java의 시간 날짜 라이브러리 소개

java.time 패키지에서 제공하는 시간/날짜 라이브러리에 대해서 정리해보았다.아래 표는 java.time 패키지에있는 시간/날짜 관련 class및enum을 정리한 표이다. LocalDate, LocalTime, LocalDateTimeLocalDate: 날짜만 표현할 때 사용한다. 년,월,일을 다룬다LocalTime: 시간만을 표현할 때 사용한다. 시,분,초를 다룬다.LocalDateTime: LocalDate와 LocalTime을 합한 개념이다.앞에 Local이 붙는 이유는 세계 시간대를 고려하지 않아서 timezone이 적용되지 않기 때문이다. 특정 지역의 날짜와 시간만 고려할 때 사용한다. ZonedDateTime, OffsetDateTimeZonedDateTime: 시간대를 고려한 날짜와 시간..

Java 2025. 5. 11. 19:01

spring security에서 authority와 role의 차이점

spring security를 공부하면서 사용자 접근 제어를 위해 authority와 role 두 가지 개념을 제공하는 것을 알았다. 두 개념이 어떻게 다른지에 대해서 정리해보았다. Authority와 Role의 차이점AuthorityAuthority는 애플리케이션 내에서 사용자가 수행할 수 있는 구체적인 행동이나 작업을 정의한다.세분화된 접근 제어를 위해 사용된다.특정 기능이나 리소스에 대한 접근 권한을 나타낸다.RoleRole은 여러 권한을 그룹화한 개념이다.보다 포괄적인 접근 제어를 위해 사용된다.사용자나 사용자 그룹에 권한을 할당하는 방법을 제공한다.Role은 항상 "ROLE_" prefix를 사용해야 한다.Authority와 Role 사용방법spring security에서는 User를 이용해 a..

Spring Security 2025. 5. 8. 21:06

Java Generics에서 extends와 super의 차이점

Generics를 공부하면서 extends와 super가 헷갈려서 두 keyword의 정의와 차이점을 정리해 보았다. extends란?generics에서 extends keyword는 타입의 상한 경계를 제한할 때 사용됩니다.T 타입과 T의 하위 클래스 타입만 허용합니다.사용 예시: List는 Number와 Integer,Double등 Number의 하위 타입만 받을 수 있습니다..주로 읽기 용도로 사용합니다. 리스트에서 값을 꺼낼 때 타입 안정성을 보장할 수 있지만 리스트에 값을 추가할 때는 타입 불일치로 인해 제한됩니다public void printNumbers(List list) { for (Number n : list) { System.out.println(n); } ..

Java 2025. 5. 6. 20:50

추가 정보

인기글

최신글

페이징

이전
1 2 3 4 5 ··· 11
다음
TISTORY
LUNA's Archive © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바