본문 바로가기

전체 글

(664)
[자바] 람다 표준 API의 함수 인터페이스 출처: http://palpit.tistory.com/673 자바에서 제공되는 표준 API에서 한 개의 추상 메소드를 가지는 인터페이스들은 모두 람다식을 이용해서 익명 구현 객체로 표현이 가능합니다. 예를 들어 스레드의 작업을 정의하는 Runnable 인터페이스는 매개변수와 리턴값이 없는 run() 메소드만 존재하기 때문에 다음과 같이 람다식을 이용해서 Runnable 인스턴스를 생성시킬 수 있습니다. package lambda; public class RunnableExam { public static void main(String[] args) { Runnable runnable = () -> { for (int i = 0; i < 10; i++) { System.out.println(i); } };..
[자바] 스레드 고급 동기화 (1) 보호되어 있는 글입니다.
[자바] 단일 연산 변수와 넌블로킹 동기화 Semaphore, ConcurrentLinkedQueue와 같이 java.util.concurrent 패키지에 들어있는 다수의 들어 있는 다수의 클래스는 단순하게 synchronized 구문으로 동기화를 맞춰 사용하는 것에 비교하면 속도도 빠르고 확장성도 좋습니다. 이와 같은 클래스의 성능이 좋아진 원인이라고 볼 수 있는 단일 연산 변수(atomic variable)와 대기 상태에 들어가지 않는 넌블로킹 동기화 기법을 살펴볼 예정입니다. 병렬 알고리즘과 관련한 연구 결과를 보면 대부분이 넌블로킹 알고리즘, 즉 여러 스레드가 동작하는 환경에서 데이터의 안정성을 보장하는 방법으로 락을 사용하는 대신 저수준의 하드웨어에서 제공하는 비교 후 교환(compare-and-swap) 등의 명령을 사용하는 알고리즘을..
[자바] 스레드풀 튜닝 및 Executor 고급 활용 보호되어 있는 글입니다.
[Nginx] 엔진엑스 프록시 모듈 엔진엑스 기본 빌드에는 프록시 모듈이 포함돼 있어 클라이언트로부터의 HTTP 요청을 백엔드 서버에 전달합니다. 여러 관점에서 모듈환경을 설정해봅시다. - 백엔드 서버의 기본 주소와 포트 정보 - 캐싱, 버퍼링, 임시 파일 옵션 - 한계치, 제한시간, 에러 처리 주요 지시어이 부류의 지시어는 백엔드 서버의 위치, 전달되는 정보, 전달 방법 등과 같은 기본 환경을 설정합니다. 1. proxy_pass (문맥: location, if)자신의 위치를 표시함으로써 요청이 백엔드 서버로 전달되게 지정합니다. # TCP 소켓을 사용할 때의 구문proxy_pass http://hostname:port; # 유닉스 도메인 소켓을 사용할 때의 구문proxy_pass http://unx:/path/to/file.socket..