본문 바로가기

Programming Language/Java

Mybatis Executor, PreparedStatement Mybatis의 Executor type에는 SIMPLE, REUSE, BATCH 3가지가 존재한다. 공식문서의 설명은 아래와 같다. ExecutorType.SIMPLE: 이 타입의 실행자는 아무것도 하지 않는다. 구문 실행마다 새로운 PreparedStatement를 생성한다. ExecutorType.REUSE: 이 타입의 실행자는 PreparedStatements를 재사용할 것이다. ExecutorType.BATCH: 이 실행자는 모든 update구문을 배치처리하고 중간에 select 가 실행될 경우 필요하다면 경계를 표시한다. 이러한 과정은 행위를 좀더 이해하기 쉽게 하기 위함이다. 매퍼 설정 디폴트 실행자(executor) 설정. SIMPLE 실행자는 특별히 하는 것이 없다. REUSE 실행자는 .. 더보기
Java 프로그램 개발과 구동 JDK는 플랫폼에 독립적이지 않다. 각 운영체제, 환경 별로 다른 버전이 필요하다. 하지만 각 플랫폼 별로 다른 목적(실행) 파일을 만들지는 않는다. 이에 대해서 알아보자. C 언어의 개발과 구동 Java 이전 언어인 C 언어의 소스(코드) 파일 와 목적(실행) 파일은 어땠을까? C 언어는 하나의 소스 파일이 존재하고, 각 플랫폼 별 컴파일러가 해당 플랫폼에서 실행 가능한 목적 파일을 생성한다. 이는 이 전 플랫폼 별 소스 파일, 컴파일러, 목적 파일이 필요하던 어셈블리어 에서 개선된 형태이다. 장점 하나의 소스 파일만 작성하면 된다. 단점 각 플랫폼 별 컴파일러가 필요하다. 각 플랫폼 별 목적 파일이 생성된다. Java 언어의 개발과 구동 Java는 기존 C 언어의 불편함을 개선했다. 하나의 소스 파일.. 더보기
JVM, JDK, JRE 란? JDK, JRE, JVM? 처음 자바 개발을 하다 보면 생소한 단어들을 듣게 된다. Java를 다운 받으려고 하는데 어떤걸 받아야 할까? 기초적인 내용을 알아보자. JVM (Java Virtual Machine) 말 그대로 가상 머신이다. 자바 바이트 코드가 실행 될 수 있는 런타임 환경을 제공한다. JVM은 플랫폼에 독립적이지 않다. 각 OS 플랫폼 별로 다른 JVM을 설치 해야 한다. JVM은 대표적으로 아래와 같은 기능을 수행한다. 코드를 읽어들인다. 코드를 검증한다. 코드를 실행한다. 런타임 환경을 제공한다. JRE (Java Runtime Environment) 자바 실행 환경을 뜻한다. Java 프로그램 실행기인 java.exe를 포함한다. JVM의 구현체이다. JRE는 JVM과 다르게 물리적.. 더보기
빌드도구란? (Maven, Gradle) 빌드도구는 소스코드에서 어플리케이션 생성을 자동화 하기 위한 프로그램이다. 빌드는 코드를 사용 or 실행 가능한 형태로 컴파일링, 링킹, 패키징 하는것을 포함한다. 기본적으로 빌드 자동화는 아래와 같은 정형화된 다양한 작업을 스크립팅하거나 자동화 하는 행위이다. 종속성 다운로드 소스코드를 바이너리코드로 컴파일 바이너리 코드를 패키징 테스트 실행 프로덕션 시스템에 배포 사용 이유 대규모 프로젝트에선 빌드프로세스를 수동으로 호출이 실용적이지 않다. 무엇을 빌드할지, 어떤 순서로 할지, 어떤 의존성이 있는지 모두 추적하기 쉽지 않기 때문이다. 빌드도구를 사용하면 이를 일관되게 할 수 있다. Maven vs Gradle Maven은 고정적이고 선형적인 단계의 모델을 기반으로 한다. 반면 Gradle은 작업 의존.. 더보기