본문 바로가기

java3

[Java] JVM이 죽었음다 ㅡㅡ; (Java heap space 에러) 에러 상황 : 파일 업로드가 안된다고 함. 웹서버가 올라간 호스트를 보니 디스크(/dev/vda2) 용량이 96%가 차있었음.일단 데이터를 백업해서 60% 가량으로 떨어트림. 그래도 안된다고 하심.그래서 문제가 됐다는 파일을 받아서 직접 테스트해보기로 함.1GB정도의 jpg 파일이었음. (그냥 개발자라 기가단위 넘어가는 이미지 파일은 처음봄.) 올려보니까 다행히도 500 에러가 발생했음. 로그를 확인해볼 수 있게 되어서 보니까java.lang.OutOfMemoryError: Java heap spaceat java.base/java.util.Arrays.copyOf(Arrays.java:3537) ~[na:na] 대충 읽어봐도 힙 공간이 없다고 한다. 그래서 일단 아래 방법을 써봤음.java -Xmx2.. 2025. 5. 18.
[IT/일상/Java] MQTT 통신 코드 개선 일지 (feat. QueueChannel, Future) 배경현재 프로젝트에서 장치와 통신하는 데에 MQTT를 사용하고 있다.MQTT가 뭔지에 대해서는 아래를 참고하자.  [IT] MQTT 프로토콜에 대해MQTT란?MQTT는 Publisher, Broker, Subscriber의 세 가지 분류로 이루어진 프로토콜이다.Publisher가 Broker 에게 특정 Topic으로 메시지를 보내면, Subscriber는 Broker로부터 받고 싶은 Topic만을 구독하여 메시지doringri.tistory.com 아무튼, 우리 장치는 어떤 토픽으로 명령에 대한 메시지를 보내면 장치가 다른 토픽을 통해 그 명령이 잘 수행됐는지 메시지를 주는 구조이다.문제는 클라이언트가 HTTP로 명령 요청을 보내면 그 명령이 성공했는지에 대한 결과를 백엔드에서 응답으로 줘야 된다는 것이.. 2024. 12. 14.
[IT/Spring] 스프링 개념들 복습 (Servlet, MVC, Model, DAO) 현재 나는 백엔드를 개발할 때 스프링부트와 JPA를 사용하고 있다.문제는 계속 똑같은 것만 쓰다보니까 다른 방법론이나 개념들을 대부분 잊어먹었다.그래서 이참에 다른 것들도 정리해보려고 한다.고전적인 개념들도 포함되어 있지만 복습할 겸 해서 정리한다. 서블릿(Servlet)JSP처럼 서버에서 동적으로 웹 페이지를 생성하는 서버 측 프로그램. test package1.ServletTest test /test/test 라는 URL로 요청하면 매핑을 통해 package1.ServletTest라는 서블릿 클래스가 응답한다.아래 예시 코드를 확인해 보자. package package1;public class ServletTest extends HttpServlet { @Override publ.. 2024. 7. 21.