본문 바로가기

전체 글33

[DB] Isolation Level (트랜잭션 격리 수준) 트랜잭션 격리 수준 (Isolation Level) 동시에 여러 트랜잭션이 처리 될 때, 트랜잭션끼리 얼마나 서로 고립되어 있는지를 나타내는 것. Read Uncommitted Read Committed Repeatable Read Serializable READ UNCOMMITTED 어떤 트랜잭션의 변경 내용이 COMMIT이나 ROLLBAK과 상관없이 다른 트랜잭션에서 보여진다. Dirty Read 발생 가능 A 트랜잭션에서 10번 사원의 나이를 27살에서 28살로 변경 커밋하지 않음 B 트랜잭션에서 10번 사원의 나이를 조회 28살이 조회됨 (Dirty Read) A 트랜잭션에서 문제가 발생해 ROLLBACK 함 B 트랜잭션은 10번 사원이 여전히 28살이라고 생각하고 로직을 수행 READ COMMI.. 2021. 5. 13.
[Spring] Bean Scope의 종류 Singleton (싱글톤) 기본 scope. 스프링 컨테이너의 시작과 종료까지 하나의 객체로 유지되는 가장 넓은 범위의 스코프이다. 특정 타입의 Bean을 하나만 만들어 두고 공유해서 사용하기 위함. - Bean에 상태를 저장하는 코드를 작성하는 것은 동시성 문제를 유발함, Prototype (프로토타입) 스프링 컨테이너는 프로토타입 빈의 생성과 의존 관계 주입까지만 관연하고 더는 관리하지 않는 매우 짧은 범위의 스코프이다. 요청이 오면 항상 새로운 인스턴스를 생성하여 반환하고 이후에 관리하지 않는다. (빈 콜백 중 종료 메소드가 호출 안 된다.) Web (웹) request: 웹 요청이 들어오고 나갈 때 까지 유지되는 스코프 session: 웹 세션이 생성되고 종료될 때 까지 유지되는 스코프 appl.. 2021. 5. 13.
[Java] GC의 종류 (Garbage Collector) GC (Garbage Collector)란? 힙 내의 객체 중에서 Garbage를 찾아내고 찾아낸 Garbage를 처리해서 힙의 메모리를 회수한다. 이를 Garbage Collection이라 하며 JVM에서 이를 자동으로 수행하는 프로세스를 GC(Garbage Collector)라고 한다. JAVA에서 객체가 생성되면 해당 객체는 JVM의 Heap영역의 메모리를 점유 한다. 해당 객체는 현재 참조 되지 않더라도 메모리 공간을 점유 한다. 물론 메모리 공간은 한정적이다. 한정적인 메모리에 현재 사용되지 않는 객체가 점유한 공간을 재때 정리해 주지 않으면 메모리 공간이 부족해 지고, 결국은 Out Of Memory Error 가 발생 할 수 밖에 없다. Serial GC 순차적인 GC. Single Thre.. 2021. 5. 10.
[Java] Java 8에 대해 알아보자! (feat. 다른 버전 summary) Summary version 특징 발표일 Java 8 - 기본 GC -> Parallel GC - Lambda Expression - Optional - Stream API - Repeating Annotation - 새로운 날짜와 시간 API - Interface Default Method 2014. 03. 18 Java 9 - Java를 인터프리터 언어 쉘 처럼 사용할 수 있는 JShell 추가 - private interface method - immutable collection - 64비트 버전만 출시 - .properties 파일에 UTF-8 지원 2017. 09. 21 Java 10 - var 키워드를 이용한 지역 변수 타입 추론 - 병렬 처리 GC - 개별 쓰레드로 분리된 Stop-the-.. 2021. 5. 9.