목록스트림 (2)
판봉 개발 일기
프로그램의 실행 성능은 입출력이 가장 늦은 장치를 따라간다고 합니다 이건 몰랐는데 CPU나 메모리가 아무리 좋고 비싼걸 써도 하드 디스크의 입출력이 늦어지면 그만큼 실행이 하드 디스크의 처리속도에 맞춰진다고 합니다. ※내가 비싸게 샀던 CPU는 뭐가 되는거지...! 하지만 이 증상은 프로그램과 중간에 메모리 버퍼(buffer)와 작업하면 실행 성능을 향상 시킬 수가 있습니다. 버퍼는 데이터가 쌓이기를 기다렸다가 다 차면 데이터를 한번에 하드 디스크로 보냅니다. 그래서 출력 횟수가 줄어 드는 것입니다. ※살짝 어릴적에 뿌요뿌요 할때 한번에 모아서 보낼때 느낌이 떠올랐습니다.. 기본적으로 출력 스트림은 내부에 작은 버퍼를 가지고 있지만은 너무나도 충분하지 않습니다. 그래서 보조 스트림 중에는 메모리 버퍼를 ..
모든 바이트 기반 입력 스트림은 "InputStream"을 상속받아서 만들어 집니다. 다음은 InputStream 클래스의 주요 메소드를 표로 나타낸 것입니다. 리턴 타입 메소드 설명 int read() 1byte를 읽고 읽은 바이트를 리턴 int read(byte[] b) 읽은 바이트를 매개값으로 주어진 배열에 저장하고 읽은 바이트 수를 리턴 int read(byte[] b, int off, int len) len개의 바이트를 읽고 매개값으로 주어진 배열에서 b[off]부터 len개 까지 저장 그리고 읽은 바이트 수를 리턴 void close() 입력 스트림을 닫습니다. read() 메소드는 입력 스트림으로부터 1byte를 읽고 int(4byte) 타입으로 리턴합니다. 따라서 리턴된 4byte중 끝 1..