java.nio3 java.nio 패키지 사용법(Channel / Buffer / Charset) [1/1] [ java.nio.channel 패키지 ] 다양한 외부 리소스와 내부의 버퍼를 연결해주는 채널을 생성해주는 클래스들 존재 양방향 채널로 사용할 수도 있고 단방향 채널로 사용할 수도 있음 java.io의 스트림 클래스들에 비해 입출력 속도가 빠름 java.io의 스트림 클래스들과 다르게 무조건 버퍼를 사용해야 함 [ java.nio 패키지 ] boolean 타입을 제외한 원시타입 별 버퍼 클래스를 제공 Buffer 인터페이스를 상속받기 때문에 클래스들의 사용법이 거의 비슷함 파일 채널(FileChannel)과 바이트 버퍼(ByteBuffer) 클래스의 사용법 위주로 정리하겠습니다. 다른 리소스와 연결되는 채널 및 다른 타입의 버퍼 클래스도 거의 사용법은 유사합니다. 특별한 기능을 가진 채널 및 버퍼 클래.. ▸JAVA/라이브러리(API) 2019. 12. 17. 외부 데이터 입출력_java.nio [3/3] [ java.nio 패키지 ] New IO라는 의미로 java.io의 업그레이드 버전 NIO2는 Java Se-7 버전에서 java.nio가 한 번 더 업그레이드 되었다는 의미 굳이 NIO1, NIO2의 구분 없이 그냥 NIO를 한통으로 생각하면 됨 [ 기존 Java.io와 차이점 ] 양방향 Channel 방식을 사용해 외부 데이터와 입출력 연동 (통로가 하나만 있으면 됨) 기본적으로 버퍼(Buffer)를 사용해 속도를 높임 (커널 버퍼를 직접 사용해서 입출력 속도 향상도 가능) 비동기 지원 (메소드 호출 시점과 결과 출력 시점이 다름) Non-Blocking 지원 (I/O를 수행하는 동안 스레드가 놀지 않도록(block 당하지 않도록) 함) NIO는 어렵습니다. NIO만 정리해도 책이 한권 나올 것 같.. ▸JAVA/기본 문법 2019. 12. 16. 외부 데이터 입출력_io / nio / nio2 [1/3] Java에서 프로그램과 외부의 데이터(디스크, 네트워크, 메모리 등)를 연결해서 조작할 수 있게 해주는 클래스가 너무 많습니다. 구버전과 신버전으로 나눌 수 있는데 아직까지 구버전도 많이 쓰이는데다가 각각 장단점이 있어서 둘 모두를 적절히 알고 사용해야할 것 같습니다. 먼저 구버전은 java.io 패키지입니다. 신버전은 Java SE-4에서 처음 나와(NIO) 7에서 한번 더 업그레이드 된(NIO2) java.nio라는 패키지입니다. 굳이 NIO1, NIO2로 나눠서 생각하지 않아도 됩니다. 그냥 (Old)IO와 (New)IO라고 생각하면 됩니다. 워낙 클래스도 많고 방대해서 중점적인 부분만 다루도록 하겠습니다. 전체적인 구조와 원리만 알면 상황에 따라 적절한 클래스를 찾아서 사용하면 됩니다. [ IO와.. ▸JAVA/기본 문법 2019. 12. 16. 이전 1 다음 💲 추천 글 반응형