자바 네트워크 프로그래밍 - 얼굴 질문

 

동기, 비동기, 차단, 비 차단 1. 네트워크 프로그래밍에?

동기화 :이 기능은 결과를 호출하지 않는 결과를 얻을하지 않았다 전에 호출, 어떤 결과가 반환되지 않습니다.
비동기 : 결과를 호출 상태 정보를 반환하지 않는 결과를 얻을하지 않았다 전에 호출 된 함수.
차단 : 결과를 얻지 않았다 전에 호출 된 함수를, 현재의 thread가 중단. 결과를 얻기 후에 돌려줍니다.
비 차단 : 함수가 결과를 얻을하지 않았다 전에 호출, 현재의 thread가 중단되지 않고 즉시 반환합니다.

비 블록 모드를 달성 2.Java 방법 소켓 프로그래밍?

NIO는 멀티 스레드 서버를 스레딩 문제에 효과적인 솔루션을 비용.

아니는 각 클라이언트 요청에 응답하고 스레드가 NIO의 주요 목적 멀티 스레딩 사용하십시오 별도의 서비스를 할당

그러나 여러 CPU의를 처리하는 멀티 스레드 처리 능력과 대기 시간의 전체 사용을 통해, 서비스 기능 개선의 목적을 달성하기 위해.

3. 자바 (직렬화)의 직렬화는 무엇입니까?

단순히 (즉, 인스턴스 변수 아닌 방법) 메모리에 각종 오브젝트의 상태를 유지하는,

그리고 당신은 개체의 상태를 읽어 저장할 수 있습니다. 당신이 개체의 상태를 저장하는 방법은 자신의 다양한 사용할 수 있지만, 자바는 제공하지만 메커니즘은 당신에게 자신보다 개체의 보존의 좋은 상태를 제공해야하고, 그 연재입니다.

4. 어떤 상황 직렬화해야합니까? 노트의 순서, 방법 자바 직렬화 (직렬화)를 달성하기 위해?

• 때 당신은 시간의 파일이나 데이터베이스에 메모리를 절약 할 개체의 상태;

• 네트워크 시간에 소켓 전송 객체를 사용하려면;

• 당신이 객체를 전송할 때 때 RMI;

직렬화 고려 사항

서브 클래스가 부모를 구현하지 않습니다 직렬화 클래스를 구현하는 경우 1, 부모는 직렬화되지 않지만 이번에는 그렇지 인해 InvalidClassException가 예외를 던져, 비 부모 생성자의 매개 변수가 있어야합니다.

2, 정적 변수는 가지 "음식"가 아닌 객체이었다 직렬화되지 않습니다. 직렬화 된 오브젝트는 상태, 즉, 비 정적 특성, 즉, 인스턴스 변수에 저장된다. 당신은 클래스 변수를 저장할 수 없습니다.

3 임시 키 변수 직렬화 제한하도록 수정 될 수있다. 필요하지 않거나 등록 정보를 저장하지 않아야를 들어, 과도 수정에 추가해야합니다. 직렬화 된 객체 클래스에 공개 (공개)해야합니다.

(4)가, 가상 머신이 직렬화시킨다뿐만 아니라, 클래스 경로 및 기능 코드 매치에 매우 중요한 포인트는 동일한 ID를 비공개 정적 최종 길이의 serialVersionUID = 1L 클래스의 두 시퀀스이다 여부 의존한다.

5, 파일이 동일한 개체에 기록되며, 객체의 내용이 더 이상 저장되지 않습니다 때, 특정 저장 규칙에 디스크 공간을 저장,하지만 다시 참조를 저장하기 위해 자바 직렬화 메커니즘. 역 직렬화 참조 관계를 복원한다.

이러한 다시 시간을 절약하기 위해 동일한 오브젝트 속성 값 내지 제 수정안과 동일한 파일로 직렬화 6, 참조 관계에 기초하여 상기 가상 머신이 이미 따라서 단지 2 기록 참조 절약이 하나이고 동일한 객체가 파일에 기록 된 것을 알 읽을 때 그래서, 그것은 개체의 저장이 처음이다.

5.java에서 흐름의 여러 종류가있다? JDK는, 그들이처럼 무슨 말을 상속 추상 클래스의 수에 대한 흐름의 각 유형에 대해 제공?

JDK는 스트림이 4 개의 카테고리로 분류 상속 제공합니다 :

InputStream 인 (바이트의 입력 스트림)의 OutputStream (바이트 출력 스트림), 리더 (문자 입력 스트림) 라이터 (문자 출력 스트림).

흐름 분류 기준 :

입력 스트림 : 프로그램이 데이터 스트림을 읽을 수 있습니다.
출력 스트림 : 스트림 데이터는 이에 기록 될 수있는 프로그램.

데이터 전송 부 카테고리에 따르면

바이트 스트림 : 바이트 (8 비트 바이너리) 처리 유닛. 주로 판독 및 화상이나 음성 등의 바이너리 데이터를 기입하기위한.
문자 스트림 : 문자 (16 진수) 처리 장치.
이것은 바이트 스트림에 의해 달성된다. 바이트 문자 스트림이 작동하기 쉬운 패키지의 스트림입니다. 최하위 레벨에서, 모든 출력은 바이트 포맷으로 입력된다.
접미사 스트림 접미사 리더 동안, 작가는 문자 스트림, 바이트 스트림이다.

기능에 의해 분류 :

노드 스트림 : 스트림 클래스는 읽기 및 디스크 나 메모리 영역 같은 특정 장소에서 작성합니다.
필터 흐름 : 입력 또는 출력 노드 스트림을 사용합니다. 작성한 기존의 입력 스트림 및 출력 스트림 접속을 이용하여 여과를 흐른다.

6. 자바 소켓 프로그래밍, 서버는 몇 글자를 읽은 다음 로컬 디스플레이에 기록.

클라이언트가 서버에 연결 요청을 전송 한 후에는 수동적으로 서버로부터의 응답을 기다리고 있습니다.

일반적인 TCP 클라이언트는 다음과 같은 세 가지 단계를 통해 이동합니다 :

(1)는, 소켓 인스턴스를 생성 : 생성자는 지정된 원격 호스트 및 포트에 TCP 연결 설정,
(2) 서버와의 I / O 스트림 소켓 통신을 통해 단계;
3 소켓 클래스 닫기 접속의 방법을 사용.

 

최종 서비스 작업은 통신 단말기를 설정하고 수동적으로 클라이언트 연결을 기다리는 것입니다.

일반적인 TCP 서버는 다음의 두 단계를 수행합니다 :

도 1은 포트에서 클라이언트에 의해 전송 된 TCP 접속 요구를 모니터링하는 데 사용되는 특정 로컬 포트 및 ServerSocket의 인스턴스를 생성하기 위해
2 반복
1) 클라이언트 접속을 얻을 ServerSocket의 accept () 메소드를 호출하고, 그 반환 값 소켓 인스턴스를 작성,
2) 새로운 스레드 소켓 인스턴스가 반환 열 및 소켓은 클라이언트와 통신하는 I / O 스트림 예를 반환;
클라이언트를 닫으려면 닫기를 소켓 클래스 () 메소드를 사용, 3) 통신이 완료 소켓 커넥터의 끝.

7.TCP / IP 여러 차례 악수를 연결하면? 시간은 때 악수 자료가 있습니까?

TCP는 세 방향 핸드 셰이크는 연결 프로세스를 수립 :

 

TCP 네 릴리스 프로세스를 흔들었다 :

추천

출처www.cnblogs.com/shoshana-kong/p/10932309.html