전체 글
non-reifiable 타입이란
비 구체화 타입(non-reifiable type) : 타입 소거자에 의해 컴파일 타임에 타입 정보가 사라지는 것(런타임에 구체화하지 않는 것) 구체화 타입(reifiable type) : 자신의 타입 정보를 런타임 시에 알고 지키게 하는 것 (런타임에 구체화하는 것). 런타임 시에 완전하게 오브젝트 정보를 표현할 수 있는 타입 제너릭 타입 소거 : 원소 타입을 컴파일 타임에만 검사하고 런타임에는 해당 타입 정보를 알 수 없는 것. 다른 말로는 컴파일 타임에만 제약 조건을 적용하고, 런타임에 타입에 대한 정보를 소거하는 프로세스. Primitives, non-generic types, raw types 등이 있다. non-reifiable 문제는 자바에서 제네릭을 사용하지 않는 버전과의 호환성을 위해서 ..
Java Datagram 관련 클래스
TCP와는 다르게 클래스 하나에서 보내는 역할과 받는 역할을 모두 수행할 수 있다. 스트림을 사용하지 않고 DatagarmPacket이라는 클래스를 사용함 javadocs에는 아래와 같이 기술되어 있다. datagram packet를 나타내는 클래스이다. Datagarm 패킷은 비연결성 packet 전송 service에 쓰인다. 각각의 message는 여러개의 packets은 한 machine에서 다른 machine으로 전송된다. 순서가 보장되지 않고, 전송이 보장되지 않는다. * This class represents a datagram packet. * * Datagram packets are used to implement a connectionless packet * delivery service..
자바 Socket 클래스
package java.net에 선언된 클래스. 데이터를 보내는 쪽에서 객체를 생성하여 사용한다. 데이터를 보내는 쪽에서 많이 사용하고. 원격에 있는 장비와의 연결 상태를 보관하기 위한 클래스 javadocs에는 아래와 같이 기술되어 있다. "소켓은 두개의 machine의 연결을 위한 endpoint이다." 실제 동작은 SocketImpl의 instance에 의해 동작한다. 데이터를 보내기 위한 클래스이고, 데이터를 받는 서버에서는 클라에서 접속을 하면 Socket 객체를 생성하지만, 데이터를 보내는 쪽에서는 직접 생성해야 한다. * This class implements client sockets (also called just * "sockets"). A socket is an endpoint for..