운영중이던 작은 서비스에서 그동안 없던 힙덤프가 생성되었다며 분석을 해 볼 기회가 생겼다. 관련 툴을 다운받고 어떻게 힙덤프파일을 보는지 간단히 기록해보고자 한다. Heap Dump 분석하기 생성된 Heap Dump를 Eclipse Memory Analyzer(MAT) 툴을 이용하여 분석할 수 있다. 다운로드 받은 후 MemoryAnalyzer.exe 파일을 실행한다. 그런데 MAT를 실행하니 아래와 같은 오류가 발생했다. JVM 버전 1.8.0_181은이 제품에 적합하지 않습니다. 버전 : 17 이상이 필요합니다. 이런 이야기이다. 실행 버전을 충족시키기 위해 아래링크에서 jdk 17을 다운받고 Download the Latest Java LTS Free Download the Latest Java L..
소켓 통신, 서버소켓을 구현하고 수신한 데이터(바이트)를 문자로 변환하는 작업을 해보게 되었다. 그 과정에서 알게 된 개념과 정보들을 기록해보고자 한다. 소켓(Socket) **소켓(Socket)**은 TCP/IP 기반 네트워크 통신에서 데이터 송수신의 마지막 접점을 말한다. 소켓통신은 이러한 소켓을 통해 서버-클라이언트간 데이터를 주고받는 양방향 연결 지향성 통신을 말하는데, 보통 지속적으로 연결을 유지하면서 실시간으로 데이터를 주고받아야 하는 경우에 사용된다. 소켓은 클라이언트 소켓과 서버 소켓으로 구분되며, 소켓간 통신을 위해서는 네트워크상에서 클라이언트와 서버에 해당되는 컴퓨터를 식별하기 위한 IP주소와 해당 컴퓨터내에서 현재 통신에 사용되는 응용프로그램을 식별하기 위한 포트번호가 사용된다. 서버..
자바 스레드를 공부하는데 관련 설명들을 보는데 프로세스, 스레드, 멀티태스킹, 멀티 프로세싱, 멀티 스레딩 등 너무 헷갈리는 용어들이 많았다. 먼저 알아야 하는 용어부터 짚고 가겠다. 프로세스(process) ‘실행 중인 프로그램(program)’ 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 된다. 프로세스 = 프로그램을 수행하는데 필요한 자원(데이터와 메모리 등) + 쓰레드 로 구성 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 바로 쓰레드 이다. 쓰레드(Thread) 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 바로 쓰레드 이다. 모든 프로세스에는 최소한 하나 이상의 쓰레드가 존재. 둘 이상의 쓰레드를 가진 프로세스를 ‘멀티쓰레드 프로세스(mul..
System.currentTimeMillis() vs new Date() vs Calendar.getInstance().getTime() Java에서는 위의 3가지 코드를 통해 time을 얻을 수 있다. 대표적으로 3가지가 주로 사용되고 있죠. Date객체를 사용하는 방법, Calendar클래스의 getInstance() 메서드를 활용하는 방법, System클래스의 currentTimeMillis() 메서드를 활용하는 방법 기존의 단점들을 개선한 java.time패키지(JDK1.8) Calendar는 추상클래스이기 때문에 직접 객체를 생성할 수 없고, 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 한다. Calendar cal = Calendar.getInstance(); getInstan..
- Total
- Today
- Yesterday
- 자바의정석
- 이정환
- AWS
- 자바스크립트
- 스프링 빈
- Node.js
- 한입크기로 잘라먹는 리액트
- 데이터베이스
- 시큐리티
- di
- 스프링의정석
- 친절한SQL튜닝
- @Configuration
- node
- 리액트
- 스프링
- 스프링 프로젝트
- security
- 객체지향
- JavaScript
- Spark
- 컨테이너
- React
- spring
- 데브캠프
- MySQL
- 코드로 배우는 스프링 웹 프로젝트
- 남궁성
- 인덱스
- EC2
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |