Java & Spring 33

[JAVA] JVM의 구조

JVM의 구조 JVM├── 클래스 로더├── 실행 엔진├── 메모리 영역 (Heap, Stack 등)└── GC (Garbage Collector) 이전에는 JVM의 구조를 위처럼 표현했다.https://nippyclouding.tistory.com/4 이는 JVM의 핵심 기능들만 정리한 것이고, JVM의 정확한 구조는 아래와 같다. JDK (Java Development Kit)├── JRE (Java Runtime Environment) │ ├── JVM (핵심 실행 엔진) │ └── Java 클래스 라이브러리└── 개발 도구들 (javac, jar, javadoc 등) JVM├── Class Loader Subsystem 클래스 로더├── Execution Engine ..

Java & Spring 2025.12.09

[Servlet] File Upload

기본적으로 HTML 폼을 전송하는 방식은 application/x-www-form-urlencoded 방식이다.(Content-Type : application/x-www-form-urlencoded) 폼 전송 방식을 설정하지 않을 때 기본값으로 채택되며, 텍스트 데이터에 적합하다. url에 데이터를 인코딩하는 방식이며 key - value 형태이다. (input name = "kim" value = "25") 첨부 파일은 바이너리 데이터로 전송되며 HTTP는 첨부 파일과 텍스트 데이터 등 여러 종류의 복합적인 데이터들을동시에 전송하는 방법을 지원한다 : Content-Type : multipart/form-data package hello.upload.controller;import lombok.ex..

Java & Spring 2025.11.16

MyBatis

MyBatis는 DB에 전달할 SQL을 XML 파일에 작성하는 방식의 자바 진영 데이터 접근 기술 라이브러리이다.MyBatis의 장점 : 동적 쿼리를 매우 편리하게 작성 가능 1. 스프링에서 MyBatis 적용 방법2. 스프링에서 MyBatis 사용 방법3. XML 파일4. Mapper 인터페이스 구현체 1. build.gradle 추가implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3' 스프링 부트 버전이 2.x가 아닌 3.x라면 3.0.3을 넣어야 한다. 2. application.properties 편의 기능 추가main, test 디렉토리 모두 적용해야 테스트 상황에서까지 같이 적용된다.- mybatis.type-a..

Java & Spring 2025.11.15