분류 전체보기87 [MySql] DB 성능 최적화하기 회사에서 운영하고 있는 배치서비스 모니터링중 자꾸 memory leak 이 나는 현상을 발견했다. 2024-07-16 06:05:00.041 INFO 11456 --- [scheduling-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [play-day-stat]2024-07-16 06:05:20.062 WARN 11456 --- [HikariPool-1 housekeeper] cohttp://m.zaxxer.hikari.pool.ProxyLeakTask : Connection leak detection triggered for cohttp://m.mysql.cj.jdbc.ConnectionImpl@5a25810 on thread sch.. 2024. 7. 17. [SpringBoot] JPA Hibernate Assertion Failure 트러블슈팅 지금 있는 회사에서 기존 레거시 서비스를 운영중이다. 근데 보다보니 자꾸 특정시간만 되면 main 페이지가 느려지는게 아닌가? 확인해보니 매시간 정각에 back단에서 배치서비스가 실행이 되는데, 문제는 그 서비스가 실행되는 동안 다른 호출이 DB에 접근을 못한다는거다. 그 이유를 확인해보다 정리하는 글 일단 에러는 이렇다. 2024-07-10 00:01:00.995 WARN 7618 --- [scheduling-1] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: S10092024-07-10 00:01:00.996 ERROR 7618 --- [scheduling-1] o.h.engine.jdbc.spi.SqlExceptionHelp.. 2024. 7. 12. [JAVA] Collection forEach vs Stream forEach Java8 에서 Stream이 도입된지는 꽤 오래전 일이다. 개발하면서 문득 궁금해서 검색하다가 정리해보는 글.Collection.forEach 메서드로 반복할 때와 Stream.forEach 메서드로 반복할 때는 무슨 차이가 있을까? ✔️ 동시성 문제Collection.forEach의 경우엔 수정을 감지한 즉시 ConcurrentModificationException을 던지며 프로그램을 멈춘다. ConcurrentModificationException이란 한 오브젝트에 대해 허가되지 않은 변경이 동시적으로 이루어질 때 발생한다. 대표적으로 Collection이 반복되는 동안 Collection을 수정할 때 발생한다.아래의 코드는 List의 element가 짝수이면 remove 하는 Consumer를 .. 2024. 6. 11. [JAVA] Stream for each vs for-loop Java8 부터는 Stream과 Lambda를 제공한다.자바에서 Stream은 컬렉션 등의 요소를 하나씩 참조해 함수형 인터페이스(람다식)를 통해 반복적인 작업의 처리를 가능하게 해준다. Stream이 반복적인 일의 처리가 가능하므로, 반복문(for-loop 등)을 대신해 Stream을 사용하는 경우가 많다. 요즘 함수형 프로그래밍이 대세니 무조건 반복문 대신 Stream을 써야지! 라고 생각했다는 사람있다면 바로 나야나!!! 하지만 이거슨 크나큰 오산이었다. ✔️ 헿 Stream 좋은데? 😀😀아니, 함수형 프로그래밍 하는 게 어때서 왜 막는 거지! Stream을 쓰면 가독성도 올라가고 좋은 것 아닌가?? Stream을 쓰면 중첩된 for문/if문 여러 개를 보는 것보다 훨씬 읽기 쉽고 이해하기도 편.. 2024. 6. 11. 이전 1 2 3 4 5 ··· 22 다음