자바 병렬 프로그래밍 - 7장 작업 실행
스레드가 작업 중일 때 자바에서 해당 작업을 강제로 멈추게 하는 방법은 없다. 다만 앞선 포스팅에서 본 것처럼 인터럽트를 통해 특정
<Java> Selector가 TCP FIN 패킷을 감지하는 법
배경특정 캐시 노드를 정상적으로 종료시키고 Java단에서 해당 캐시 노드와 연결된 TCP 소켓 채널 객체의 상태를 확인해봐야하는 작업을 진행중이였다. 이를 확인하기
자바 병렬 프로그래밍 - 6장 작업 실행
스레드에서 작업 실행흔히 사용하는 작업이라는 단위는 수행할 로직을 특정 범위를 가지며 수행하는 일종의 단위이다. 그래서 이러한 작업을 스케쥴링하거나 분산 시키려면
<Java> DNS Cache TTL 설정 (System vs Security)
DNS cache TTL?흔히 DNS LookUp을 통해 특정 도메인에 해당하는 IP 주소 값을 얻어옵니다. Java의 경우 특이하게 JVM 단에서 DNS에
자바 병렬 프로그래밍 - 5장 구성 단위
동기화된 컬렉션 클래스동기화된 컬렉션 클래스는 Vector, HashTable이 존재한다. 이는 synchronizedXxx를 사용하지 않아도 동기화 된 기능을 제공해준다. 위와 같은 자료구조를 사용하다보면
자바 병렬 프로그래밍 - 4장 객체 구성
스레드 안전한 클래스 설계객체가 가진 여러가지의 정보들을 객체 내부에 캡슐화 시켜두면 다른 클래스를 분석할 필요없이 객체 단위로 스레드 안전성을 확인해볼
친절한 SQL 튜닝 - 2. 인덱스 구조 및 탐색
미리 보는 인덱스 튜닝특정 데이터를 찾는 방법은 크게 아래의 두 가지로 나뉜다. 테이블 전체를 스캔한다.인덱스를 이용한다.찾으려는 데이터가 중복이
<Redis> 레디스 활용해서 N개의 랜덤 데이터 가져오기
우선 개발 중인 서버의 요구사항은 아래와 같습니다. Chosung 이라는 테이블이 있고 해당 테이블에서 클라이언트에게 전달될 랜덤한 N개의 초성 데이터를 뽑아내야합니다.
친절한 SQL 튜닝 - 1. SQL 처리 과정과 I/O
1.1 SQL 파싱과 최적화구조적, 집합적, 선언적 질의 언어SQL은 단어 그대로 구조적 질의 언어이다. 해당 언어는 아래와 같은 순서로 실행된다.
자바 병렬 프로그래밍 - 3장 객체 공유
가시성특정 변수의 값을 여러 스레드가 가져갈 때, 한 스레드가 작성한 값을 가져간다는 보장을 할 수 없다. 그래서 메모리상의 공유된 변수를