java3 [Java] HashMap 이해하기 MapMap 자료구조의 특징은 키(Key)와 값(Value)이다.키를 통하여 값에 접근할 수 있는 구조이다. List나 배열은 인덱스로 접근한다. 인덱스는 단순히 순서만 나타낸다. 그러나 Map의 키는 개발자가 의미를 부여할 수 있다. HashMapJAVA에서 Map은 인터페이스이며, Map의 구현체 중 하나가 HashMap 데이터를 저장하려면 자료구조가 필요하다. HashMap은 자료구조로 배열(array)을 사용한다. 배열은 '인덱스'를 통해 바로 접근이 가능하다는 장점이 있다. HashMap은 해싱(Hashing)을 통해 Map 데이터가 저장 될 위치의 인덱스를 구한다. 그래서 이름이 HashMap이다. key(X)를 해싱함수(function)에 넣어 인덱스(Y)를 산출한 후, 해당 인덱스에 Map.. 카테고리 없음 2024. 7. 14. Generics (Java) 강의를 듣던중 지네릭스 선언 방식, 사용방식이 기억이 나지 않았습니다. 지네릭스에 관한 전반적인 내용을 블로그에 정리해보겠습니다. // 강의 코드 @Slf4j @RequiredArgsConstructor public class TraceTemplate { private final LogTrace trace; public T execute(String message, TraceCallback callback) { TraceStatus status = null; try { status = trace.begin(message); // 로직 호출 T result = callback.call(); trace.end(status); return result; } catch (Exception e) { trace.e.. Java 2024. 2. 12. Statement 대신 PreparedStatement를 사용해야 하는 이유 1) 쿼리의 실행과정 쿼리의 실행과정은 위 그림과 같다. 1) Parsing & Normalization Phase - Query 문법 확인, Semantic check(?) 및 쿼리에 있는 테이블, 컬럼 존재여부 확인 2) Compilation Phase - 쿼리를 machine이 이해할 수 있는 형식으로 컴파일 3) Query Optimization Phase - 쿼리를 실행할 수 있는 방법들을 체크하고, 최적의 쿼리 실행 방법을 선택 4) Cache - 3) 단계의 최적의 방법을 저장 5) Execution Phase - 쿼리 실행 2) Statement, PreparedStatement의 동작 방식의 차이점 1️⃣ 캐시 사용 유무 // [Statement] Connection conn = Driv.. DB & SQL 2024. 1. 30. 이전 1 다음