Java
108개의 글
발단: "왜 다른 데이터가 나오죠?" API 개발 중 황당한 버그를 만났습니다. GET /api/items?category=A → A 카테고리 데이터 ✓ GET /api/items?category=…
2026-01-25 08:17:33 - HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=15m45s854ms).…
🔹 JDK 17 이전에도 이미 Reactive Streams가 존재했음 • JDK 9(2017년)에 java.util.concurrent.Flow 패키지가 추가되면서 Reactive Streams…
1. JPetStore 설정 JPetStore 소스는 https://github.com/mybatis/jpetstore-6 에 있는 것을 사용하였다. git clone https://github.c…
1. 배경 기본 와탭 자바 에이전트로는 Spring Cloud Gateway 모니터링 불가 별도로 제공되는 위빙(Weaving) 기능을 사용해야 함 2. 지원 버전 제공되는 위빙 플러그인 버전 : …
IBM JVM의 주요 Parameter를 설명하는 문서이다. 옵션 기본값 설명 Xclasshc TRUE . 클래스로더가 변했을 때만 Class GC를 수행할지 여부 Xalwaysclassgc . G…
개요 옵저버 패턴의 구현체로서, 이벤트 기반의 프로그래밍을 할 때 유용한 인터페이스. 실습을 위한 주요 구성 요소 퍼블리셔, 이벤트, 이벤트핸들러 이벤트 ApplicationEvent 상속 publ…
1. 개요 최근 JMC(JDK Mission Control) 8.1가 릴리스 되었다. 이 버전부터 JMC Agent 플러그인이 즉시 제공되므로 성능 모니터링 요구 사항에 대해 쉽게 활용 가능하다. …
1. 소개 Netflix에서 만든 것으로 웹 서비스 클라이언트를 보다 쉽게 개발할 수 있도록 도와주는 도구이다. 2. 사용법 의존성 추가 (spring-cloud-starter-feign) @Ena…
1. 코드 import org.json.JSONException; import org.json.JSONObject; import java.io.*; import java.net.HttpURLConn…
JavaDockerizing Spring Boot Application
Spring Boot 애플리케이션을 Docker 환경에 배포하기 위해서는 크게 4가지의 과정이 필요하다. Spring Boot 애플리케이션 만들기 Dockerfile 만들기 Dockerfile을 빌…
ZGC(Z Garbage Collectors)
Java 11 버전의 GC는 많은 개선과 변화를 가지고 왔다. ZGC(Z Garbage Collectors)란? ZGC는 아래의 목표를 충족하기 위해 설계된 확장 가능하고 낮은 지연율(low lat…
JPA를 사용해 MongoDB를 연동하는 과정에서 MongoDB 내에 값을 암호화해야 하는 경우가 있다. 이에 spring-data-mongodb-encrypt 라는 암호화 모듈 제공파일을 사용하여…
1. 개요 ThreadLocal에 대해 알아본다. 2. 역사 자바 1.2 버전부터 제공되고 있다. 3. 목적 스레드 단위로 로컬 변수를 할당하는 기능이다. 일반적인 변수는 메소드, for 블록 등 …
1. 개요 트랜잭션은 참 다양한 곳에서 의미를 가지고 있다. 데이터베이스에서는 상태를 변화시키기 위해 수행하는 작업의 단위를 뜻한다. 일반적인 컴퓨터 과학에서는 쪼개질 수 없는 업무처리의 단위를 의…
1. 개요 의존성 주입에 대해 보다 자세히 알아본다. 2. 의존성 연결 방법 @Required 어노테이션 사용 (Setter 메소드에 사용) @Autowired 어노테이션 사용 (생성자, 메소드, …
1. Interceptor란? Interceptor는 컨트롤러에 들어오는 요청(HttpRequest), 컨트롤러의 응답(HttpReesponse)를 가로채는 역할을 한다. 정식 명칭은 Handler…
1. 개요 자바 코드 상에서 OS 명령어를 실행하기 위한 방법 중 ProcessBuilder를 이용하는 예를 살펴본다. 2. 사전지식 OS 명령어 실행을 위한 Arugument는 List Strin…
1. 객체, 클래스 자바는 클래스로 표현하고 클래스는 생성자, 필드, 메소드 등을 가지고 있다. 객체를 인스턴스화하기 위해서는 생성자를 활용한다. 자바스크립트에서 객체를 생성하는 방법은 다음과 같다…
1. 개요 GC Log를 분석하기 위한 스크립트를 작성하고 있으며 활용시에는 반드시 스크립트 점검하고 사용할 것 2. 코드 #!/bin/bash LOG_DIR=/sw/apache-tomcat-8.5…
Intellij 를 통해 소스 코드 개발 시 "cannot find symbol" 이라는 에러와 함께 getter, setter 메소드에서 오류가 나는 경우가 있습니다. 이 경우 우선 Intelli…
1. 목적 Spring boot에서 https 를 사용하기 위한 embedded tomcat SSL 설정 및 테스트용 인증서 발급 2. 테스트용 인증서 발급 -. CMD (관리자 모드에서 진행) k…
1. 목적 Spring Boot 2.0 에서 http로 들어오는 요청을 https로 redirection하기 위함 2. 방법 2-1. connector 설정 redirection을 원한다면 아래와 …
1. 목적 특정 경로에 대한 접근제어 설정을 하기 위함 2. 의존성 추가 [ pom.xml ] !-- security -- dependency groupId org.springframework.bo…