[k8s] Container 환경에서 JVM GC (Garbage Collection) 확인하기
·
스터디/Cloud & k8s
JDK11의 GC는 무조건 G1GC일까? JDK11의 GC 알고리즘을 일반적으로 G1GC를 사용한다고 알려져있는데요, JDK11을 사용한다고 무조건 G1GC 알고리즘을 사용하는 것이 아니었습니다..! 명령어로 GC 확인 어떤 GC를 사용하는지는 아래 명령어를 통해 확인가능합니다. > java -XX:+PrintCommandLineFlags -version pinpoint로 GC 확인 pinpoint에서도 확인 가능합니다. pinpoint를 확인해보니 Serial GC 알고리즘을 사용하고있네요. GC 종류 Serial GC 가장 단순한 방식의 GC 싱글스레드로 동작 느리고 그만큼 stop the world 시간이 다른 GC에 비해 길다 보통 실무에서 사용하는 경우가 없음 (디바이스 성능이 안좋아서 cpu ..
IntelliJ Cannot resolve symbol 원인 및 해결방법
·
스터디/기타 (소공, 보안)
Cannot resolve sysmbol 원인 intellij를 켜면 종종 빨간색 표시로 마주치는 오류인 "cannot resolve symbol" 오류에 대해서 알아보고 오류 해결방법을 정리하겠습니다. cannot resolve symbol은 왜 발생할까요?! 발생 원인은 때로는 복합적으로 발생할 수 있는데 대부분의 원인으로는 import가 제대로 안되어서 생깁니다. 코드가 컴파일 될 때 컴파일러는 소스코드의 식별자들이 각각 어떤 의미가있는지 해석하는데요, 이 작업을 할 수 없는 경우 즉, 컴파일러가 소스코드를 해석할 수 없을 경우에 cannot resolve symbol 에러가 출력됩니다. build.gradle은 제대로 작성되었는데도 해당 오류가 발생한다면 아래와 같은 방법으로 해결해봅니다! 해결 ..
[Spring] Mybatis resultType과 resultMap
·
스터디/Spring
Mybatis 개념 mybatis-spring은 mybatis에서 mybatis3과 spring 연동 라이브러리로 제공된다. 싱글톤 패턴으로 스프링 빈으로 등록하여 주입하고 쉽게 사용이 가능하다. mybatis mapper interface를 통해 DB에 접근하다. 객체 프로퍼티로 파라미터와 결과를 객체(dto 등)로 자동 매핑을 지원한다. 스프링 연동 모듈을 제공해주기 때문에 스프링 설정이 간단하다. 트랜잭션을 관리해주기 쉽게 설정이 가능하다. ResultType - resultType The fully qualified class name or alias for the expected type that will be returned from this statement. Note that in the ..
[Spring] @JsonProperty와 @SerializedName
·
스터디/Spring
목차 1. Gson과 Jackson Jackson Jackson은 JSON 구조를 처리해주는 라이브러리입니다. json뿐만 아니라 xml도 지원합니다. Gson Gson은 자바에서 json을 파싱하고 생성하기 위해 사용하는 구글에서 개발한 오픈소스입니다. Java Object → Json 문자열, Json 문자열 → Java Object로 변환할 수 있습니다. 2. @JsonProperty 사용하기 POST로 넘어오는 Json 데이터는 스네이크 케이스로 이루어져있는 반면 자바 엔티티는 카멜 케이스로 이루어져있습니다. 이러한 경우 컨트롤러 단에서 Json ↔ 자바 엔티티를 맵핑 시켜주어도 데이터의 key가 달라지는 경우 제대로 값을 받아오지 못 할 수 있습니다. 이를 해결하기 위해 @JsonProperty..
[Springboot] CircuitBreaker 적용방법(2) - 코드 적용
·
스터디/Spring
목차 지난번 CircuitBreaker 적용방법(1)에 이어서 포스팅하겠습니다. 1. CircuitBreaker 코드 적용하기 방법 1) 코드 적용 방식 연동 로직에 직접 CircuitBreaker를 적용하려면 먼저 적용대상 CircuitBreaker를 CircuitBreakerRegistry를 통해 구해야한다. 연동 로직에 CircuitBreaker를 decorate 하도록 직접 코드를 적용한다. 연동 대상 서버 API 호출 공통 로직에 적용 시 모든 API에 동일한 설정 적용이 가능하다. https://resilience4j.readme.io/docs/examples 1) Create a CircuitBreakerRegistry // Create a custom configuration for a C..
[Springboot] CircuitBreaker 적용방법 (1) - Resilience4j
·
스터디/Spring
목차 1. CircuitBreaker 적용 방법 circuitbreaker는 라이브러리를 통해 적용이 가능합니다. circuitbreaker를 제공하는 라이브러리는 아래와 같이 크게 3가지 종류가있습니다. 구분 Resilience4j Netflix Hystrix Sentinal Home https://github.com/resilience4j/resilience4j https://github.com/Netflix/Hystrix https://github.com/alibaba/Sentinel 라이센스 Apache License 2.0 Apache License 2.0 Apache License 2.0 특징 Light Weight, dependency 적음 Java 8 Fuctional Interface로 ..