목록java (3)
어흥

동시성 제어는 멀티 유저를 위한 프로젝트를 개발하다보면 필수로 처리해야 될 문제다. 1. 개념 우선 동시성 제어란, 동시에 실행되는 여러 개의 트랜잭션이 작업을 성공적으로 마칠 수 있도록 트랜잭션의 실행 순서를 제어하는 기법이다. 동시성 제어의 정의 Multi-user 환경을 지원하는 DB 시스템에서 여러 트랜잭션들이 성공적으로 동시에 실행될 수 있도록 지원 Multi-user 환경을 지원하는 DB 시스템에선 필수로, '병행 제어'로도 불린다 트랜잭션의 직렬화 수행 보장(순서 보장) 동시성 제어의 목적 트랜잭션의 직렬성 보장 데이터의 무결성 및 일관성 보장 동시성 제어 필요 이유 갱신 손실(Lost Update): 2개 이상의 트랜잭션이 1개의 데이터를 동시에 갱신 → 갱신 무효화 현황파악오류(Dirty..
1. 싱글톤 패턴이란? Java: Class는 ClassLoader당 1번만 인스턴스화가 되어야 한다 Spring: BeanScope를 정의하는 한가지 방법 2. 구현 방법 1) Eager Initialization [Eager Initialization] - 이른 초기화 #1. 외부에서 접근하지 못하도록 private static한 인스턴스 생성 #2. 외부에서 생성자 호출하지 못하도록 private으로 설정 #3. 인스턴스를 반환해주는 메소드는 어디서든 접근 가능하도록 public static으로 설정 public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { // 생성자는 외부에서..
1. 정의 - DB Object 중 하나로, 식별자들을 관리하기 편하도록 기능 제공 - 목적으론, 중복되지 않는 숫자를 반환하며 삭제 or 수정하여 중간에 값이 비게 될 수도 있다 2. 생성, 수정, 삭제 [생성] CREATE SEQUENCE SEQ--SEQ: 사용할 시퀀스명 START WITH 1--1부터 시작 INCREMENT BY 1;--1씩 증가 위에 사용한 초기설정말고도 MAXVALUE, MINVALUE, CYCLE, CACHE 등 여러가지가 존재한다 [수정] ALTER SEQUENCE SEQ INCREMENT BY 2;--증가값을 2로 변경 이외에도 MAXVALUE, MINVALUE, CYCLE, CACHE 모두 변경 가능하다. 단! 초기값은 변경하지 못한다 [삭제] DROP SEQUENCE ..