본문 바로가기
728x90
반응형

분류 전체보기150

JSON 정렬, 파싱 사이트 JSON을 쉽게 보려면 이쁘게 정렬해서 봐야 편하다.이럴때 필요한 사이트들을 공유한다. 1. http://json.parser.online.fr/ Json Parser Online json.parser.online.fr 위 사이트는 광고가 없어서 좋고 깔끔하다.  2. https://jsonbeautifier.org/ Json Beautifier - Json Formatter | Json Viewer | Json EditorOnline best free JSON Beautifier tool used as JSON editor, Json viewer, Json Validator and Json formatter to display data in a tree view and plain text.jsonbea.. 2024. 12. 18.
[TOMCAT/JAVA] 로컬 톰캣 서버 Heap 메모리 모니터링 하기(jconsole) 실제 운영 WAS는 다양한 APM 모니터링 툴을 사용하지만, 개발할 때 OOM 관련 로컬 WAS에 대한 Heap 메모리 모니터링이 필요할 때가 있다. 다양한 툴들이 많지만, 새로 툴까지 설치를 하긴 싫어서 JDK를 설치할 때 제공해 주는 jconsole을 활용하여 로컬에서 간단한 모니터링을 진행하는 편이다.jconsole의 실행 파일 위치는 JDK 설치 위치(JAVA_HOME으로 주로 지정)의 하위인 bin 폴더에 있다.JAVA_HOME/bin/jconsole.exe 위 실행파일을 실행하면 아래와 같이 나온다  Local Process에 원하는 게 있다면 바로 Connect를 연결하면 된다.하지만 나는 로컬 WAS를 보고싶은 것이어서 Remote Process를 사용했다. Remote Process를 설.. 2024. 12. 6.
[Java] Stream - findAny(), findFirst() 차이 공통점 - 조건에 일치하는 요소 1개를 반환하는 메서드 차이점- findAny() - 병렬모드에서 순서를 보장하지 않음- findFirst() - 병렬모드에서 맨 첫 번째 요소 반환을 보장함 즉, findFirst()는 스트림의 첫 번째 요소를 반환하지만, findAny()는 스트림에서 모든 요소를 ​​선택할 수 있음 List elements = Arrays.asList("a", "b", "c");Optional findAny = elements.parallelStream().filter(n -> !n.startsWith("b")).findAny();System.out.println(findAny.get()); // "a" or "c" Optional findFirst = elements.parallel.. 2024. 11. 21.
[Spring] OutOfMemoryError - GC overhead limit exceeded 원인 분석 및 해결 OOM 이 발생하면 일반적으로 두 가지를 경험한다. 1. java heap space 2. GC overhead limit exceeded  ❓ 원인 분석- java heap space heap 영역의 공간이 부족해서 발생하는 오류(주로 코드 내 메모리 누수) - GC overhead limit exceeded 1. GC가 자주 발생하여 오버헤드 발생 2. GC를 수행하는 시간의 98%를 소비했지만, Heap 메모리의 2% 미만으로 복구 3. 응용 프로그램이 모든 메모리를 소진했고, GC 소요 시간이 너무 길고, 반복적인 실패를 할 때 같은 OOM 이지만 살짝 다른 의미를 지닌 에러이다. 일반적으로 코드 단에서 메모리 누수를 개선하거나, JVM Heap 사이즈를 증가시켜 해결하는 방법이 많이 보였다. [.. 2024. 11. 20.
728x90
반응형