java

· Java
네트워킹(Networking) 네트워킹(Networking)이란 두 대 이상의 컴퓨터를 케이블로 연결하여 네트워크(Network)를 구성하는 것을 말한다. 자바에서 제공하는 java.net패키지를 사용하면 이러한 네트워크 어플리케이션의 데이터 통신 부분을 쉽게 작성할 수 있다. 클라이언트/서버(client/server) 클라이언트와 서버는 컴퓨터간의 관계를 역할(role)로 구분하는 개념이다. 서비스를 제공하는 쪽이 서버, 제공받는 쪽이 클라이언트가 된다. 서버(server) 서비스를 제공하는 컴퓨터(service provider) 클라이언트(client) 서비스를 사용하는 컴퓨터(service user) 서비스는 서버가 클라이언트로부터 요청받은 작업을 처리하여 그 결과를 제공하는 것을 뜻하며 서버가 제..
· Java
collect()와 Collector, Collectors collect()는 Collector(인터페이스)를 매개변수로 하는 스트림의 최종연산이다. Object collect(Collector collector) // Collector를 구현한 클래스의 객체를 매개변수로 Object collect(Supplier supplier, BiConsumer accumulator, BiConsumer combiner) // 잘 안쓰임 reduce()와 collect()은 reduce()이 스트림 요소 전체에 대한 리듀싱을 한다고 하면 collect()는 그룹별 리듀싱이 가능하다는 차이가 있다. 이처럼 스트림을 나눠놓고 작업을 할수 있다는 것이 collect()의 장점이다. Collector 인터페이스는 수집(c..
· Java
스트림(Stream) API 기존의 자바에서는 많은 양의 데이터를 저장하기 위해 배열이나 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하기 위해 컬렉션을 정의해 사용하였다. 컬렉션은 데이터를 저장하는 자료 구조에 따라 핵심이 되는 주요 인터페이스List, Map, Set을 정의하였지만 결국 성격이 다른 자료구조는 사용 방법이 달라 결국 반쪽 짜리 표준화라고 볼 수 있고 저장된 데이터에 접근하기 위해서는 반복문이나 반복자(iterator)를 사용하여 매번 새로운 코드를 작성해야 했다. 이렇게 작성된 코드는 가독성도 떨어지며, 코드의 재사용이 거의 불가능하며 데이터마다 다른 방법으로 접근해야했다. 이러한 문제점을 극복하기 위해서 Jdk 1.8부터 스트림(stream) API가 도입되었..
· Java
표준 입출력 자바에서 콘솔과 같은 표준 입출력 장치를 위해 운영체제 시스템과 관련된 기능을 제공하는 클래스 System을 정의해 놓았다. 모든 멤버가 static이기 때문에 별도의 인스턴스를 생성할 필요가 없으며 표준 입출력 관리와, 환경 변수 접근, 시스템 속성, 현재 ms / ns시간 확인, 객체 복사 등에 사용된다. 표준 입출력은 시스템에서 설정을 따르겠다는 뜻으로 일반적으로 표준 입력 장치는 키보드, 표준 출력 장치는 콘솔(console, 화면)을 의미하며 환경에 따라 다른 입출력 소스가 될 수도 있다. System클래스는 표준 입출력을 위해 in, out.error와 같은 클래스 변수를 제공한다. 자료형 멤버 변수 설명 static PrintStream out 표준 출력 스트림 static In..
· Java
버퍼(Buffer) 버퍼란 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역을 말한다. 버퍼링 (buffering) 버퍼를 활용하는 방법 또는 버퍼를 채우는 과정을 말한다. 동시에 버퍼는 입력받은 값은 버퍼에 저장해두었다가 버퍼가 가득차거나 개행 문자가 나타나면 버퍼의 내용을 한 번에 전송하게 된다 그렇다면 버퍼를 왜 사용하는 걸까? 입출력을 수행하는데에 있어서 속도차이를 극복하기 위해 사용하는 임시 저장 공간인 버퍼를 사용한다. 예를 들어 입력 장치는 1초당 100개의 데이터를 전송할 수 있고, 출력 장치는 1초당 10개의 데이터를 전송받을 수 있을 때 버퍼가 없다면 입역 장치의 속도를 출력 장치의 속도에 맞춰 입력 장치의 효율이 크게 떨어진다. - 입력 ..
· Java
스트림(stream) 스트림(stream)이란 실제의 입력이나 출력이 표현된 데이터의 이상화된 흐름을 말한다. 보통 시스템은 여러가지 입출력 장치를 가지고 있고 장치에 따라 입출력 부분을 다르게 구현하면 호환성이 떨어지기 마련이다. 이런 입출력 장치를 다루기 위한 각각의 방법이 있다면 입출력을 사용할때 어떤 데이터 형식을 사용할것인지가 이미 정해져있다는 것을 의미한다. 예를 들어 키보드로 입출력을 받는데 사용되는 입출력 방식, 데이터 형식과 네트워크를 통해 입출력되는 입출력 방식, 데이터 형식이 다르다면 시스템의 다양한 입출력 을 사용하기 위해서는 각각의 입출력 방식, 데이터 형식을 사용자가 이해하고 있어야 사용할 수 있었고 이런 방식은 프로그래밍을 힘들게 한다. 이를 해결하기 위해 자바에서는 파일이나 ..
PP_D
'java' 태그의 글 목록