버퍼란 임시 저장 장소입니다. 하지만 단순히 임시저장 공간의 역할을 하는 것이 아닌 수신하는 속도와 처리하는 속도의 차이가 발생했을 때 사용되는 공간입니다.
컴퓨터 내에서는 다양한 용도의 정의된 버퍼가 사용됩니다. 예를 들어 CPU와 느린 외부 장치간에 데이터 속도 차이는 버퍼가 없으면 불가능합니다
예를 들어 CPU는 1초에 100개를 처리하는데 HDD는 전송하는데 1분에 1개라면 약 59초동안 CPU는 아무작업도 못하고 있게되는 것입니다.

응용프로그램에서의 버퍼
- 실제로 유튜브와 같은 동영상 스트리밍 사이트에서 쉽게 볼 수 있다
- 버퍼링은 전체 영상이 로드되기 전에 동영상 재생을 시작할 수 있으므로 스트리밍을 원활하게 실행하는데 도움을 준다
- 연결이 끊기더라도 로드된 컨텐츠는 계속 스트리밍된다

자바에서의 버퍼
- 자바에서는 BufferedWriter와 BufferedReader라는 클래스를 제공한다
- 문자 입력 스트림에서 텍스트를 읽고, 문자, 배열 및 줄을 효율적으로 읽을 수 있도록 문자를 버퍼링한다
- 여기서 얻을 수 있는 장점은 문자를 저장해뒀다가 한 번에 전달하는 방식으로 전송 효율성이 증가한다
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
br.readLine();
출처
'CS' 카테고리의 다른 글
| [용어정리] CPU의 속도(프로세서의 속도) (0) | 2024.10.06 |
|---|---|
| [용어정리]빌드와 컴파일의 차이 (0) | 2024.10.06 |
| [Network] 유니캐스트, 멀티캐스트, 브로드캐스트, 애니캐스트 / MAC 주소 (0) | 2024.10.05 |
| [Network] 네트워크 연결과 구성요소 (0) | 2024.10.05 |
| [Network] 프로토콜과 OSI 7계층 (2) | 2024.10.01 |