Development/Java(855)
-
문자 스트림의 특징, 문자 스트림의 구조, 바이트 스트림과 문자 스트림 차이-바이트 스트림의 데이터 송수신 특성, 바이트 스트림을 이용하여 파일에 문자 저장시 문제점, 문자 스트림은 해..
문자 스트림의 특징· 유니코드로 된 문자를 입·출력 하는 스트림입니다.· 바이트 스트림에 추가하여 Reader와 Writer 클래스를 제공하는데, 이것은 2 바이트를 입출력 할 수 있는 문자 기반 스트림입니다.· 바이트 스트림은 1바이트를 입출력하기 때문에 일반적으로 영문자로 구성된 파일, 동영상 파일, 음악 파일의 입출력 등에 적합한 스트림입니다.· 문자 스트림은 2바이트를 입출력하기 때문에 세계 모든 나라의 언어로 구성된 파일을 입출력할 수 있습니다. 문자 데이터만 입·출력 가능합니다. 문자 스트림의 구조문자 스트림은 Reader와 Writer로 나뉩니다.Reader/Writer 클래스는 JAVA.IO 패키지에 포함되어 있는 추상 클래스입니다.문자 스트림을 다루는 모든 클래스의 수퍼 클래스입니다.
-
InputStream의 주요 메서드
InputStream의 주요 메서드
-
Damon Thread(데몬 스레드), 데몬 스레드 예, setDaemon(), isDaemon()
Damon Thread(데몬 스레드)· 주 스레드의 작업을 돕는 보조적인 역할을 수행하는 스레드입니다.· 주 스레드가 종료되면 데몬 스레드는 강제적으로 자동 종료됩니다. 그 이유는 주 스레드의 보조 역할을 수행하므로 주 스레드가 종료되면 데몬 스레드는 존재의 의미가 없어지기 때문입니다. 이를 제외하면 데몬 스레드는 일반 스레드와 차이가 없습니다. 데몬 스레드 예· 주 스레드에 해당되는 워드프로세스, 미디어 플레이어, JVM이 종료되면 같이 종료되게 됩니다.· 워드프로세스의 자동 저장· 미디어 플레이어의 동영상 및 음악 재생· JVM의 가비지 컬렉터· 등 setDaemon()스레드를 데몬으로만들기 위해서는 주 스레드가 데몬이 될 스레드의 setDaemon(true)메소드를 호출해주면 됩니다. autoSav..
-
ReentrantLock과 Condition, 동기화 메소드
ReentrantLock과 Condition · 서로 다른 쓰레드를 구분해서 동기화 통지를 할 수 있게 해주는 것이 Condition입니다. · wait()와 notify()메소드로 스레드의 종류를 구분하지 않고, 공유 객체의 waiting pool에 같이 몰아넣는 대신 각 쓰레드를 위한 Condition을 만들어서 각각의 waiting pool에서 따로 기다리도록 하면 문제가 해결됩니다. · wait()와 notify()메소드는 요리사 쓰레드와 손님쓰레드를 구분해서 통지하지 못하는 단점이 있었습니다. wait()와 notify()메소드로 스레드의 종류를 구분하지 않고, 공유 객체의 waiting pool에 같이 몰아넣는 대신 · 손님 쓰레드를 위한 Condition과 요리사 쓰레드를 위한 Conditi..
-
synchronized블럭 vs ReentrantLock과 같은 lock클래스
synchronized블럭 vs ReentrantLock과 같은 lock클래스 대부분의 경우 lock()과 unlock()대신 synchronized블럭을 사용할 수 있습니다. 이때는 synchronized블럭을 사용하는 것이 성능상 더 좋을 수 있습니다.
-
lock()와 unlock( )를 통한 동기화블록
lock()와 unlock( )를 통한 동기화블록· synchronized키워드를 대체할 수 있는 방법입니다.· Java Ver 5.0 이후부터 제공되는 동기화 방식입니다.· lock 메소드와 unlock 메소드의 호출을 통해서 동기화 블록을 구성합니다.· ReentrantLock 인스턴스 를 이용한 동기화 기법입니다.· 임계영역 내에서 예외가 발생하거나 return문으로 빠져 나가게 되면 lock이 풀리지 않을 수 있으므로 unlock()은 try~catch()문으로 감싸는 것이 일반적입니다. try블럭내에서 어떤 일이 발생해도 finally블럭에 있는 unlock()이 수행되기 때문에 lock이 풀리지 않는 일은 발생하지 않습니다.·