Welcome to Yumao′s Blog.
Java SE2 Day05
====================
timer
Socket TCP
反射API介紹
4.Java Socket編程 TCP 協議編程
1) TCP工作模型: 先找
堂(主機/IP), 到食堂以後找窗口
(Socket/套接字 端口號), 服務員等待連接,客戶向服務員發起連接
連接以後, 一個窗口可以為每個客戶安排一個服務員(線程)提供服務,
每個服務過程可以雙向交流通訊(流), 通訊完成後要關閉連接.
5. TCP 服務端編程(食堂)(java.io.*,java.net.*,java.lang.*)
1) 創建ServerSocket實例綁定一個服務端口(Socket/套接字 端口號)
2) 開始ServerSocket實例 的監聽, 等待客戶端的連接
3) 如果有客戶連接進來, 就獲得了客戶的套接字(Socket)實例
客戶的套接字(Socket)實例中包括與客戶端建立的連接流
4) 為這個客戶(Socket) 創建一個服務線程, 提供服務(run方法)
5) 繼續等待下一個連接, 返回到2)
6) 服務線程 完成通訊服務過程
7) 端口號: 0~65535, 1K以下留給系統使用
6. TCP 客戶端編程
1) 創建Socket 實例, 連接到服務器端, 成功創建s就表示連接到了
服務器
Socket s = new Socket("host", port)
2) 客戶端 Socket 與服務器端 Socket 對應, 都包含輸入, 輸出流
客戶端的s.getInputStream() 連接於服務器s.getOutputStream()
客戶端的s.getOutputStream()連接於服務器s.getInputStream()
3) 使用線程處理 網絡流
7. Java 反射
1) 反射是Java自我管理(類, 對象)的機制
2) * 可以通過反射機制發現對象的類型 發現類型的方法/屬性/構造器
3) * Java 反射 可以創建對象 並 訪問任意對象方法和屬性等
4) Class 加載
類加載到內存: java 將磁盤類文件加載到內存中,為一個對象(實例)
這個對象是Class的實例, 也就是 這些對象都是Class實例
5)Class 實例代表Java中類型, 基本類型的類型: int.class, long.class
類類型 Class 實例獲得如下:
Class cls = String.class;
Class cls = Class.forName("java.lang.String");
Class cls = "abc".getClass();
以上方法獲得cls 是同一個對象, 就是String 類內存加載的結果