본문 바로가기

Java2

Java 멀티 스레딩 및 성능 최적화(1) 개요와 운영 체제 기초 Why we need Threads Responsiveness 높은 응답성은 애플리케이션에 꼭 필요한 가치이다. 동영상 플레이어에서 재생을 하며 동시에 마우스 커서를 움직이는 것이 멀티 스레드의 예이다. Concurrency = Multitasking CPU가 여러 스레드를 순회하며 멀티 테스킹을 하는 것을 Concurrency라고 한다. 이를 통해 여러 작업을 동시에 수행하는 것 같은 착각을 일으킨다. Concurrency를 위해 많은 코어가 필요하지 않다. 싱글 코어로도 멀티 스레드가 가능하다. Preformance 멀티 코어로 일을 하면 당연히 더 많은 일을 할 수 있지만, 멀티 스레드를 이용하면 필요한 코어의 개수(혹은 컴퓨터의 개수)를 줄일 수 있다. What thread.. 2023. 8. 28.
Spring Boot에서 Logback(+ CloudWatch에 기록하기) 로깅 로그를 사용하는 목적에는 에러나 장애가 발생할 때 해당 내용을 파악하기 위함과 사용자 로그를 분석 데이터로 활용하기 위함이 있다. 콘솔에서 출력되는 로그는 로그 수준을 높이거나 낮추는데 그 목적이 있고, 에러나 장애 혹은 로그 분석을 위해선 로그를 파일에 저장한다. 스프링에서 로깅 초기 스프링은 JCL(Jakarta Commons Logging)을 사용해서 로깅을 구현했다. 요즘에는 대표적으로 Log4j와 Logback으로 스프링 부트의 로그 구현체를 사용한다. Logback은 log4j 이후에 출시된 Java 기반 Logging Framework 중 하나로 가장 널리 사용되고 있다. slf4j의 구현체이며 Spring Boot 환경이라면 spring-boot-starter-web 안에 spring.. 2023. 8. 23.