-
Notifications
You must be signed in to change notification settings - Fork 0
조희승 7주차 학습 일지
huiseung edited this page Aug 19, 2024
·
1 revision
-
Synchronization
- POSIX 스레드 인터페이스
- user space 에서 Mutext를 관리하자
- synchronized 키워드
- heap에 object header에 monitor lock 자료로 관리
- HashMap
- 요구사항 get 과 put 을 동기화
- 방법 1. 인스턴스를 synchronized 로 묵음
- BLOCKEd 가 자주 발생
- 방법 2. Key를 synchronized의 대상으로 삼자
- 방법 3. ConcurrentHashMap
- get은 not block
- 방법 4. ConcurrentHashMap에 compute 연산 적용
- cas 기계어
-
api rate limit
- spring cloud 는 redis를 활용
-
redis의 ttl 과 유사한 기능 만들기
- ConcurrentHashMap에 value로 만료 시간을 두고, 요청이 올때 마다 현재 시간과 만료시간을 확인
- 만료 시간이 지나면 제거
- 주기적으로 map에서 제거하는게 별도 스레드에서 돈다
- ConcurrentHashMap에 value로 만료 시간을 두고, 요청이 올때 마다 현재 시간과 만료시간을 확인
-
cache coherence
-
DB
- 유저와 구매 테이블이 있을 때
- 유저별 구매 수 총합과 금액 총합 구하기
- 오래 걸리는 쿼리는 커넥션 풀 고갈을 낼 수 있다
- 소켓 Read Time Out
- Server 요청 보냄 -> DB요청 받음 -> DB 응답 -> Server 응답 받음
- join시 메모리 한계에 도달하면 disk를 사용한다
- 계산 결과를 DB가 아니라 애플리케이션에서 하자
- JPA는 왜 쓰니
-
long 타입 숫자들이 10GB 있는 파일을 1GB 메모리를 이용해 파일에 내용을 정리해라
- merge sort
-
Socket
- tcp와 http 차이
- vpn 터널링