일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- zipkin
- 디자인패턴
- JPA
- 멀티스레드
- 생산자 소비자 패턴
- 디자인 패턴
- Action Pattern
- 사가 패턴
- 키클락
- Spring Boot Actuator
- spring cloud
- 스프링 배치
- Serial GC
- 스레드
- 타입스크립트
- Resilinece4j
- Transaction Pattern
- Java
- java 정렬
- spring batch
- saga pattern
- 체인 패턴
- TypeScript
- 알고리즘
- The law of Demeter
- thread
- 배치
- MSA
- Spring Cloud Netfilx Eureka
- Parallel Old GC
- Today
- Total
목록Java (3)
PSD( Private-Self-Development )
힙 이란? 완전 이진트리의 일종이며, 우선순위 큐를 위해 만들어진 자료구조이다. 우선순위 큐? 우선순위 개념을 큐에 적용한 자료 구조이다. 가장 우선순위가 높은 데이터가 먼저 나간다. 배열, 연결 리스트, 힙으로 구현 가능하다. 이중 힙으로 구현하는 것이 가장 성능이 좋다. 힙 특징 힙은 일종의 반정렬 상태를 유지한다.( 큰 값이 위에 있으면 작은 값은 아래에 있다는 정도 ) 부모 노드의 값이 자식 노드보다 항상 크거나 작은 이진트리이다. 중복을 허용한다. 최대값, 최소값을 조회하기 좋다 힙 종류 최대 힙 부모 노드가 자식 노드보다 크거나 같은 완전 이진트리 최소 힙 부모 노드가 자식 노드보다 작거나 같은 완전 이진트리 힙 구현 힙을 저장하는 표준 자료구조는 배열이다. 배열의 첫 번째 인덱스인 0은 사용..
Thread 란? 프로세스 내에서 실행되는 여러 흐름의 단위이다. CPU의 스케줄링의 기본 단위이다. 각각의 Thread는 Stack 만 별도로 할당된다. Code, Data, Heap는 공유하여 사용한다. 프로세스 란? 현재 실행중인 프로그램이다. OS로부터 메모리를 할당받아 프로세스가 된다. 프로세스는 Code, Data, Stack, Heap 메모리 구조를 할당 받는다. 또한 프로세스 A를 실행하다가 스케쥴러가 어느 순간 실행하는 프로세스를 프로세스 B로 바꿔준다. 이때, 실행하는 프로세스를 바꿔주는 메커니즘을 콘텍스트 스위칭이라고 한다. Code 컴파일된 소스 코드가 저장되는 영역 Data 전역 변수 / 초기화된 데이터가 저장되는 영역 Stack 임시 데이터( 로컬 변수, 함수 호출 등 )가 저장..
Java 서버 장점 멀티스레드로 설계 가능하여 자원을 효율적으로 사용할 수 있다. 많은 개발자와 레퍼런스가 존재한다. 객체 지향 적 장점을 가지고 있다. ( 유지 보수 성, 사용성 ) 지원하는 부가 기능( aop, security, Exception, batch 등 ) 단점 메모리 사용량이 높다. Node.js 대비 속도가 느리다. Node.js 서버 장점 이벤트 루프가 비동기 싱글 스레드 이기 때문에 메모리가 절약된다. 코드가 쉽고 간편하다. 빠른 응답 속도( 단순 작업 한정 ) 단점 CPU 사용량이 많을 경우, 성능이 급 저하된다. 어떤 서버를 사용할 까? CPU 사용량이 큰 연산을 자주 하는가? => Java 서비스 혹은 솔루션이 크고 복잡한가? => Java 단순 입출력 위주이고 서버단의 복잡한 ..