2014-04-03 3 views
-1

저는 주로 자바에서 사용한 데이터 스트림을 언급하는 많은 책과 기사를 읽었으며 그 중 아무도 데이터 스트림이 무엇인지 정확히 언급하지 않았습니다. 데이터가 바이트 단위로 연속적으로 메모리에 정렬됩니까? 보너스 질문 : 소켓은 어떻습니까? 어떻게 정확하게 메모리에 표현되며 하드웨어 입/출력에 어떻게 연결됩니까?데이터 스트림은 배열과 같은 일련의 메모리 주소입니까?

답변

1

Java 스트림은 추상화입니다. 사용자가 읽고 쓸 수있는 것입니다. 일반적으로 파일이나 소켓과 같은 외부 리소스가 지원합니다. 각 스트림에 대한 자세한 내용은 수십 가지가 있지만 소스 코드를 참조하십시오. '메모리 주소 순서'와 실제로 일치하는 두 개의 스트림은 ByteArrayInputStreamByteArrayOutputStream.

입니다. 소켓은 통신의 끝점입니다. 내부적으로 이것은 커널의 데이터 구조이며 하나 이상의 네트워크 인터페이스 카드 (NIC)에 차례로 연결된 네트워크 프로토콜 스택에 '연결'됩니다.

관련 문제