지난 포스팅에 GC(Garbage Collection) 기본에 대해 알아보았다. GC는 크게 Minor GC, Major GC 두 가지 타입으로 나눈다. 이 두 가지 GC가 어떻게 상호 작용하느냐에 따라서 GC 방식에 차이가 나며, 성능에도 영향을 준다. GC 방식 WAS나 자바 애플리케이션 수행 시 옵션을 지정하여 선택할 수 있으며, GC 방식에 따라 처리 절차가 달라지므로 어떤 GC 방식이 있는지 살펴보자. 우선 JDK7을 기준으로 5가지 방식이 있다. 여기 명시된 다섯 가지의 GC 방식은 WAS나 자바 애플리케이션 수행 시 옵션을 지정하여 선택할 수 있다. Serial GC Parallel GC Paralled Old GC(Paralled Compaction GC) Concurrent Mark-Sw..
JAVA 프로그래밍을 한다면 JAVA에서 어떻게 메모리 동작하고 관리가 이루어지고 있는지 알 필요가 있다. JAVA는 백그라운드에서 자동으로 메모리 관리 기능을 제공한다. GC(Garbage Collection)는 백그라운드에서 사용되지 않는 객체를 정리하고 메모리를 확보한다. 따라서, JAVA 프로그래머는 사용하지 않는 객체를 파기하는 등의 문제로 신경 쓰지 않아도 된다. 그러나 이런 프로세스가 JAVA에서 자동으로 진행되는 경우에 그 행위는 보증되지 않는다. 그러므로 JAVA에서 메모리가 실제로 어떻게 동작하는지 아는 것이 중요하다. OutOfMemoryError가 나타나기 전에 높은 성능과 최적화된 애플리케이션을 작성할 수 있고, 문제가 발생하면 빠르게 메모리 누수를 찾을 수 있다. 먼저 JAVA에..
이번에 소개할 내용은 GC(Garbage Collection)가 HotSpot VM에서 작동하는 기본 사항을 설명한다. 프로그램의 성능을 생각하는 개발자라면 GC(Garbage Collection)가 어떻게 처리되는지 기본 지식을 갖고 있어야 한다. GC(Garbage Collection)에 대해서 반드시 암기하고 숙지해야 자바 개발을 할 수 있는 것은 아니다. 자신이 만든 자바 프로그램의 성능을 생각하는 프로그래머라면, GC(Garbage Collection)가 어떻게 처리되는지 기본 지식을 갖고 있는 것이 좋다. GC(Garbage Collection)에 관심을 갖고 관련 내용을 찾을 정도면 프로그래머로써의 한 단계 레벨업을 꿈꾸시는 분들로 생각된다. 우선 JAVA 메모리 스택&힙 영역에 대해 기본적..
JMH 설치 및 설정 JMH는 JDK를 오픈소스로 제공하는 OpenJDK에서 만든 성능 측정용 라이브러리이다.JMH는 Mercurial이라는 코드 저장소를 사용하기 때문에 Mercurial을 설치해야만 한다. 하단의 URL에 접속하여 각 OS 별 다운로드를 통해 설치한다.https://www.mercurial-scm.org/downloads 정상적으로 설치했다면 원하는 디렉토리에서 다음 명령어를 실행한다. $ hg clone http://hg.openjdk.java.net/code-tools/jmh/ jmh코드 다운로드가 완료되면 다음 명령어를 실행하여 메이븐 빌드를 한다. $ cd jmh $ mvn clean install -DskipTests=true메이븐 빌드가 완료되었으면 메이블 로컬 저장소에 J..
시스템의 성능이 느릴 때 가장 먼저 해야 하는 작업은 병목 지점을 파악하는 것이다. 프로파일링 툴 VS APM 툴 구분 특징 프로파일링 툴 소스 레벨의 분석을 위한 툴이다.애플리케이션의 세부 응답 시간까지 분석할 수 있다.메모리 사용량을 객체나 클래스, 소소의 라인 단위까지 분석할 수 있다.가격이 APM 툴에 비해서 저렴하다.보통 사용자 수 기반으로 가격이 정해진다.자바 기반의 클라이언트 프로그램 분석을 할 수 있다. APM 툴 애플리케이션의 장애 상황에 대한 모니터링 및 문제점 진단이 주 목적이다.서버의 사용자 수나 리소스에 대한 모니터링을 할 수 있다.실시간 모니터링을 위한 툴이다.가격이 프로파일링 툴에 비해 비싸다.보통 CPU 수를 기반으로 가격이 정해진다.자바 기반의 클라이언트 프로그램 분석이 불..
- 리액트 16
- 프로그래머스
- 정렬 알고리즘
- effective java
- Java
- 이직
- spring
- Tomcat
- 리눅스 명령어
- Eclipse
- 개발환경
- 자바
- 경력관리
- Collection
- 프로그래머
- 회고
- 오라클
- 자바스크립트
- sort algorithm
- 소프트웨어공학
- React
- Linux 명령어
- 제주도 3박4일 일정
- 리액트
- 성능분석
- SQL
- 제주도 여행
- javascript
- Maven
- 오라클 내장 함수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |