본문 바로가기
728x90
반응형

분류 전체보기152

[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.
[Windows] 불필요 파일 주기적으로 자동 삭제하기 파일을 삭제하는 이유 : 로컬 서버에 개발을 진행하다 보면, 누적하여 log 파일이 많이 쌓여서 하드디스크가 빠르게 찰 수 있음목표 : 주기적으로 삭제하는 bat 파일의 커맨드를 작성하고 스케줄링을 등록하여 자동화한다. bat 파일 작성하기우선 forfiles 명령어를 사용할 것이다.forfiles 명령어는 파일 또는 파일 집합에서 명령을 선택하고 실행이 가능한 명령어다.참고 내용 : https://learn.microsoft.com/ko-kr/windows-server/administration/windows-commands/forfiles 정리하면, forfiles 명령어를 활용하여 원하는 디렉터리의 원하는 패턴의 파일을 추출한 뒤, 삭제 명령어를 날리는 bat 파일을 작성하는 것이다. 내가 작성한 .. 2024. 11. 19.
[네트워크] 캡슐화와 역캡슐화, PDU, 트래픽 💡 캡슐화와 역캡슐화패킷은 송신 과정에서 캡슐화가 이루어지고, 수신 과정에서 역캡슐화가 이루어짐송신자 입장에서는 가장 높은 계층에서 가장 낮은 계층으로 이동수신자 입장에서는 가장 낮은 계층에서 가장 높은 계층으로 이동 💡 캡슐화데이터 전송 과정에서 헤더 및 트레일러를 추가해 나가는 과정을 의미한 단계 아래 계층은 바로 위의 계층으로부터 받은 패킷에 헤더 및 트레일러를 추가해 나감 💡 역캡슐화캡슐화 과정에서 붙였던 헤더 및 트레일러를 각 계층에서 확인한 뒤 제거하는 과정을 의미✅ 캡슐화와 역캡슐화는 택배를 송수신하는 과정과 동일💡 PDU(Protocol Data Unit)각 계층에서 송수신되는 메시지의 단위를 의미  응용 계층 데이터(Data), 메시지(Message) 표현 계층데이터(Data)세.. 2024. 10. 17.
728x90
반응형