閱讀874 返回首頁    go 技術社區[雲棲]


Java 筆記11

UDP編程:

DatagramSocket(郵遞員):對應數據報的Socket概念,不需要創建兩個socket,不可使用輸入輸出流。

DatagramPacket(信件):數據包,是UDP下進行傳輸數據的單位,數據存放在字節數組中。

UDP也需要現有Server端,然後再有Client端。

兩端都是DatagramPacket(相當於電話的概念),需要NEW兩個DatagramPacket。

InetAddress:網址

這種信息傳輸方式相當於傳真,信息打包,在接受端準備紙。

模式:

發送端:Server:

DatagramPacket  inDataPacket=new DatagramPacket ((msg,msg.length);InetAdress.getByName(ip),port);

接收端:

clientAddress=inDataPack.getAddress();//取得地址

clientPort=inDataPack.getPort();//取得端口號

datagramSocket.send;  //Server

datagramSocket.accept;  //Client

URL:在應用層的編程

注意比較:

https://Localhost:8080/directory  //查找網絡服務器的目錄

file://directory                 //查找本地的文件係統

java的開發主要以http為基礎。

反射:主要用於工具和框架的開發。

反射是對於類的再抽象;通過字符串來抽象類。

JAVA類的運行:classLoader:加載到虛擬機(vm)

Vm中隻能存儲對象(動態運行時的概念),.class文件加載到VM上就成為一個對象,同時初始靜態成員及靜態代碼(隻執行一次)。

Lang包下有一個類為Class:在反射中使用。此類中的每個對象為VM中的類對象,每個類都對應類類的一個對象(class.class)。

例:對於一個Object類,用getClass()得到其類的對象,獲得類的對象就相當於獲得類的信息,可以調用其下的所有方法,包括類的私有方法。

注意:在反射中沒有簡單數據類型,所有的編譯時類型都是對象。

反射把編譯時應該解決的問題留到了運行時。

最後更新:2017-04-02 16:47:46

  上一篇:go Struts2架構圖解析以及攔截器的理解
  下一篇:go Java 筆記01