동시성(Concurrency)Immutable Objects오브젝트 는, 구축 후에 상태를 변경할 수없는 경우, 불변 이라고 보여집니다.불변 객체에 대한 최대 의존도는 간단하고 안정적인 코드를 만들기위한 건전한 전략으로 널리 받아 들여지고 있습니다.
변경 불가능한 객체 ...
동시성(Concurrency)Guarded Blocks스레드는 종종 자신의 행동을 조정해야합니다.가장 일반적인 조정 관용구는 Guarded Blocks 입니다.이러한 블록은 블록을 진행하기 전에 참이어야하는 조건을 폴링하여 시작합니다.이 작업을 제대로 수행하려면 여러 ...
동시성(Concurrency)생명(Liveness)적시에 동시 응용 프로그램을 실행할 수있는 기능을 활성이라고 합니다.이 섹션에서는 가장 일반적인 종류의 생명 문제, 교착 상태 에 대해 설명하고 다른 두 가지 생명 문제, 기아 및 라이브 록 을 간략하게 설명 합니다.
...
동시성(Concurrency)동기화(Synchronization)쓰레드는 주로 필드에 대한 액세스를 공유함으로써 통신하며 객체 참조 필드는 참조합니다.이러한 형태의 통신은 매우 효율적이지만 스레드 간섭 과 메모리 일관성 오류 의 두 가지 종류가 있습니다.이러한 오류를 ...
동시성(Concurrency)Thread Objects각 스레드는 Thread 클래스의 인스턴스와 연관됩니다.Thread 객체를 사용하여 동시 응용 프로그램을 만드는 두 가지 기본 전략이 있습니다 .
스레드 생성 및 관리를 직접 제어하려면 Thread 응용 프로그램이 ...
동시성(Concurrency)컴퓨터 사용자는 시스템이 한 번에 두 가지 이상을 할 수 있다는 것을 당연시합니다.다른 응용 프로그램이 파일을 다운로드하고 인쇄 대기열을 관리하며 오디오를 스트리밍하는 동안 계속해서 워드 프로세서에서 작업 할 수 있다고 가정합니다.단일 응용 ...
이펙티브 자바아이템 76. 가능한 실패를 원자적으로 만들라.일반화 해서 말하자면 호출된 메서드가 실패 하더라도 해당 객체는 메서드 호출 전 상태를 유지해야 한다.이러한 특성을 실패 원자적(failure atomic)이라고 한다.
메서드를 원자적으로 만드는 방법
가장 간 ...
이펙티브 자바아이템 75. 예외의 상세 메시지에 실패 관련 정보를 담으라.실패 순간을 포착하려면 발생한 예외에 관여된 모든 매개변수와 필드의 값을 실패 메시지에 담아야 된다.
IndexOutOfBoundsException 에서 실패값을 온전히 포착하도록 수정해 보겠다. ...
이펙티브 자바아이템 74. 매서드가 던지는 모든 예외를 문서화 하라.검사 예외는 항상 따로따로 선언하고, 각 예외가 발생하는 상황을 자바독의 @throws 태그를 사용하여 정확하게 문서화 하자.
비검사 예외는 메서드 선언의 throws 목록에 넣지 말자.(비검사 예외도 ...