Category Uncategorized

Java 동시성 컬렉션 (2) – Concurrent Collection

Java 동시성 컬렉션에서 Collections.synchronizedXxx()를 살펴보았다. 이번에는 그 한계를 극복한 java.util.concurrent 패키지와 고성능 동시성 컬렉션들을 알아보자 왜 별도의 동시성 컬렉션이 필요할까? Collections.synchronized의 문제 Concurrent 컬렉션의 해결책 동시성 컬렉션 개요 java.util.concurrent 패키지 핵심 특징 제공되는 컬렉션 종류 타입 일반 컬렉션 Concurrent 컬렉션…

jOOQ UPDATE와 DELET

데이터 수정과 삭제는 신중해야 하는 작업이다. jOOQ는 동적 필드 업데이트부터 WHERE 절 없는 위험한 쿼리를 방지하는 안전장치까지 제공해준다 UPDATE 3가지 방식 DAO를 통한 전체 필드 업데이트 JPA의 save()처럼 POJO 전체를 업데이트 – 변경 여부와 관계없이 모든 컬럼이 SET 절에 포함된다…

SQL 쿼리의 논리적 실행 순서

SQL 쿼리를 작성하는 순서 (SELECT, FROM, WHERE 등)와 데이터베이스가 쿼리를 실제로 처리하는 논리적인 실행 순서는 다르다. 이 순서를 이해하는 것은 오류를 피하고 효율적으로 쿼리를 작성하는 데 매우 중요하다 SQL 쿼리의 논리적 실행 순서 (7단계) 예제로 따라가는 실행 순서 문제 단계별…

동시성 컬렉션

동시성 컬렉션이 필요한 이유 – 스레드 안전성 문제 java.util 패키지의 ArrayList, LinkedList, HashSet, HashMap과 같은 일반적인 컬렉션들은 스레드 세이프(Thread Safe)하지 않다. 즉, 여러 스레드가 동시에 접근할 때 데이터 손상이나 예상치 못한 결과를 초래할 수 있다 SimpleList SimpleListMain BasicList의 add() 메서드…