20165215 2017-2018-2 《Java程序設計》第九周學習總結

20165215 2017-2018-2 《Java程序設計》第九周學習總結

教材學習內容總結

  • URL類
    • URL 類是 java.net 包中的一個重要的類,使用 URL 建立對象的應用程序稱爲客戶端程序。
    • 一個 URL 對象一般包含最基本的三部分信息:協議、地址和資源
    • URL 對象的構造方法:
    public URL (String spec)throws MalformedURLException;
    public URL (String protocol, String host, String file) throws MalformedURLException
  • InetAddress類
    • Internet上的主機有域名和IP地址兩種方式表示地址
    • 使用InetAddress類的靜態方法getByName(String s)將一個域名或 IP 地址傳遞給該方法的參數 S,得到一個 InetAddress 對象
    • public String getHostName()獲取InetAddress對象所含的域名
    • public String getHostAddress()獲取InetAddress對象所含的IP地址
    • 使用InetAddress類的靜態方法getLocalHost得到含有本機域名和IP地址的對象
  • 套接字
    • 當兩個程序須要通訊時,它們能夠經過使用Socket類創建套接字對象並鏈接在一塊兒(端口號和IP地址的組合得出一個網絡套接字)
    • Socket類的構造方法爲Socket(String host, int port),參數host是服務器的IP地址,port是端口號
    • ServerSocket 的構造方法是 ServerSocket(int port),port 是一個端口號
    • 可使用方法accept()將客戶端的套接字和服務器端的套接字鏈接起來
    • 從套接字鏈接中讀取數據與從文件中讀取數據有着很大的不一樣,從文件中讀取數據時,全部的數據都已經在文件中了,而使用套接字鏈接時,可能在另外一端數據發送以前,就已經開始讀取了
    • 注意accept方法也會阻塞線程的執行,直到接收到客戶的呼叫
  • UDP數據報
    • 套接字是基於TCP協議的網絡通訊
    • UDP的信息傳遞更快,但不提供可靠性保障,即沒法知道數據可否正確到達目的地,也不能肯定數據到達目的地的順序是否和發送的順序相同
    • 用DatagramPacket的如下兩個構造方法建立待發送的數據包:
    DatagramPacket(byte data[],int length,InetAddtress address,int port)
    DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)
    • 方法DatagramSocket()負責發送數據包,方法receive(DatagramPacket pack)負責接收數據包
  • 廣播數據報
    • D類地址不是用來你表明位置的,即在網絡上不能使用D類地址去查找計算機
    • 224.0.0.0~224.255.255.255是保留地址,稱做D類地址
    • 要廣播或接收廣播的主機都必須加入到同一個 D 類地址
  • Java遠程調用
    • 使用RMI可讓一個虛擬機上的應用程序請求調用位於網絡上另外一處虛擬機上的對象
    • 代理的特色是它與遠程對象實現了相同的接口
    • 存根是一種特殊的字節碼,並讓這個存根產生的對象做爲遠程對象的代理,其字節碼後綴爲"_Stub"

代碼託管

(statistics.sh腳本的運行結果截圖)html

上週考試錯題總結

  • 錯題1
    調用線程的interrupt()方法 ,會拋出()異常對象? A.IllegalStateException B.RuntimeException C.InterruptedException D.SecurityException 正解:C D
    • 理解狀況:面對這樣的提醒靠記憶是遠遠不夠的,應學會查看API
  • 錯題2
    下列說法正確的是 A.Java語言的一大特性就是內置對多線程的支持 B.main方法返回時,JVM就會結束Java應用程序 C.Java應用程序中第一個線程結束後,JVM結束Java應用程 D.Java語言使用Thread類及其子類對象來表示線程。 正確答案:A B D
    • 理解狀況:在main沒有建立其餘線程時,main方法返回時,JVM就會結束Java應用
  • 錯題3
    下列關於線程經常使用的方法的敘述,錯誤的是 A.讓run方法執行完畢,線程就變成死亡狀態 B.若是線程在休眠時被打斷,JVM會拋出InterruptedException異常 C.一個已運行的線程沒有進入死亡狀態時,若是再給線程分配實體,則先前的實體會被垃圾收集器收集掉 D.當線程進入死亡狀態後,線程就不可以調用isAlive()方法了 正確答案:C D
    • 理解狀況:本題屬於粗心錯誤,漏選了D選項。當線程進入死亡狀態後,線程就還能夠調用isAlive()方法,而且返回值爲false

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 37/37 1/1 15/15
第二週 398/429 2/3 15/30
第三週 753/1167 1/4 20/50
第四周 1296/2109 2/6 20/70
第五週 1191/3323 2/8 20/90
第六週 1806/4390 2/10 15/105
第七週 1260/5145 2/12 15/120
第八週 606/5745 3/15 20/140
第九周 596/6341 1/16 15/155

參考資料

相關文章
相關標籤/搜索