본문 바로가기

전체 글

(24)
Part1 mysql & HikariCP 커넥션 풀 설정 1.DataSourceTest.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml") @Log4j public class DataSourceTests { @Setter(onMethod_ = {@Autowired}) private DataSource dataSource; @Test public void testConnection() { try (Connection con = dataSource.getConnection()){ log.info(con); }..
19-2장. NIO 기반 입출력 및 네트워킹 19.6 TCP 블로킹 채널 NIO를 이용해 TCP 서버/클라이언트 애플이케이션을 개발하려면 블로킹, 넌블로킹, 비동기 구현 방식 중 선택해 개발해야한다. 19.6.1 서버소켓 채널과 소켓 채널의 용도 NIO에서 TCP 네트워크 통신을 위해 사용하는 채널은 ServerSocketChannel과 SocketChannel이있다. ServerSocketChaanel, SocketChannel은 버퍼를 이용하고 블로킹과 넌블로킹 방식을 모두 지원한다. ServerSocketChaanel은 클라이언트 SocketChannel의 연결 요청을 수락하고 통신용 SocketChannel을 생성한다. 19.6.2 서버소켓 채널 생성과 연결 수락 서버 개발을 하려면 ServerSocketChannel 객체를 얻어야 한다. ..
19-1장. NIO 기반 입출력 및 네트워킹 19.1 NIO 소개 새로운 입출력(NIO : New Input/Outpu)이라는 뜻이다. 기존 IO와 NIO를 개선한 NIO.2 API가 추가되었으며 java.nio의 하위 패키지에 통합 되었다. 19.1.1 IO와 NIO의 차이점 스트림 vs 채널 IO : 스트림 기반의 입,출력 방식이다. 스트림은 입,출력 스트림으로 구분되어 데이터를 읽고 출력하기 위해선 입,출력 스트리임 각각 생성되어야 한다. NIO : 채널 기반이며 채널과 달리 양방향으로 입출력이 가능하여, 입,출력을 위한 별도의 채널을 만들 필요가 없다. 넌버퍼 vs 버퍼 IO : 넌버퍼 타입이며 버퍼 사용시 보조 스트림을 사용해야한다. 데이터를 즉시 처리하며 별도로 저장하지 않는다. 입력된 데이터의 위치를 이동해 가면서 자유롭게 사용 불가 ..
18-2장. IO 기반 입출력 및 네트워킹 18-5 보조 스트림 다른 스트림과 연결되어 편리한 기능을 제공하는 스트림을 말한다. 자체적으로 입출력을 수행할 수 없기 때문에 연결 해주는 클래스나 메소드가 필요하다. 문자 변환, 입출력 성능 향상, 기본 데이터 타입 입출력, 객체 입출력 등의 기능을 제공한다. 18.5.1 문자 변환 보조 스트림 소스 스트림이 바이트 기반 스트림이면서 입출력 데이터가 문자라면 Reade와 Writer로 변환하는걸 고려해야 한다. Reader와 Writer은 문자 단위로 입출력 하기에 편리하면서, 문자셋이 종류를 지정할수 있기 때문이다. 18.5.2 성능 향상 보조 스트림 하드디스크에 데이터를 보내지 않고 메모리 버퍼에 보내 쓰기 속도가 향상되고, 버퍼는 데이터를 쌓은후 한번에 하드디스크로 보낸다. 보조 스트임중에는 메..
18-1장. IO 기반 입출력 및 프레임워크 18.1 IO 패키지 소개 자바에서 데이터는 스트림을 통해 입출력된다. 데이터는 출발지에서 나와 도착지로 들어간다는 개념이다. 18.2 입력 스트림(InPutStream)과 출력 스트림(OutPutStream) 데이터를 입력을 받을떄는 입력 스트림이라 부르고, 출력 받을때는 출력 스트림이라 부른다. 스트림의 특성은 단방향으로 프로그램과 데이터 교환을 위해서는 양쪽모두 입,출력 스트림이 필요하다. 스트림 클래스는 크게 바이트 기반 스트림과 문자 기반 스트림으로 구분 된다. 바이트 기반 스트림 InpuStream, OutputStream은 바이트 기반 입,출력 최상위 클래스이다. 문자 기반 스트림 Reader, Writer은 문자 기반 입,출력 최상위 클래스이다. 18.2.1 InputStram FileIn..