20155237 2016-2017-2 《Java程序設計》第十週學習總結
教材學習內容總結
- 計算機網絡,是指分佈在不一樣地理區域的計算機用通訊線路互連起來的一個具備強大功能的網絡系統。網絡中的主機之間經過網絡協議來交流和聯繫。
- 根據計算機網絡的區域大小,能夠把網絡分爲局域網(LAN)和廣域網(WAN)。Internet是全球範圍的廣域網,不一樣的網絡之間的互聯靠網絡上的標準語言--TCP/IP協議。
- OSI參考模型:
國際標準化組織(iOS)研究了一種用於開放系統互聯(OSI)的體系結構,將網絡分爲七層,從下往上依次是物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層,以下圖所示。每一層使用下層提供的服務,併爲上層提供服務。
- TCP/IP參考模式和TCP/IP協議:
IOS制定的OSI參考模式提出了網絡分層的思想,但並無投入到實際運用。與OSI模型相似的TCP/IP參考模型借鑑了OSI分層的思想,對其進行了簡化,並在網絡各層(除了主機-網絡層外)都提供了完善的協議。TCP/IP參考模型分爲4個層次:應用層、傳輸層、網絡互聯層和主機-網絡層,以下圖所示。每一層都有相應的協議。
- IP協議:
IP網絡中的每一臺主機都有一個惟一的IP地址,IP地址是一個32位的二進制灱序列。IP地址由兩部分組成:IP網址和IP主機地址。
- 網絡掩碼用來肯定IP地址中哪一個部分是網址,哪一個部分是主機地址。把網絡掩碼與IP地址進行二進制與操做,獲得的就是IP網址。主機實際上有兩個不一樣的地址:物理地址和IP地址,物理地址纔是主機的真實地址。當主機A向主機B發送數據包的時候,會經過地址解析協議將主機B的IP地址解析爲物理地址,而後把包發給主機B。
- 域名:
域名與IP地址一一對應。例如JavaThinker網站的域名爲www.javathinker.org,對應的IP地址爲221.130.187.148。DNS協議採用DNS服務器來提供把域名轉換爲IP地址的服務。
- 端口:
端口不是物理設備,而是用於標識進程的邏輯地址。更確切的說,是用於標識TCP鏈接的端點的邏輯地址。客戶進程的端口通常由所在主機的操做系統動態分配。TCP和UDP都用端口來標識進程,在一個主機中,TCP端口和UDP端口的取捨範圍是各自獨立的,容許存在取值相同的TCP端口與UDP端口。
- 客戶/服務器通訊模式:
在通訊的兩個進程中,一個爲客戶進程,一個爲服務器進程。客戶進程向服務器進程發出請求,服務器進程響應請求,並返回給客戶進程響應結果。一個服務器進程可同時爲多個客戶進程服務。接下來介紹的Java網絡程序都是創建在TCP/IP的基礎上,致力於實現應用層。傳輸層嚮應用層提供套接字Socket接口,Socket封裝了下層的數據傳輸細節,應用層的程序經過Socket來創建與遠程主機的鏈接,以及進行數據傳輸。
教材學習中的問題和解決過程
- 問題一:java密碼學構架
問題一解決方案:密碼服務提供者
java.security.Provider是全部的安全提供者的基類。每個密碼安全提供者都包含這個類的實例,這個實例提供了提供者的名稱和實現的安全算法列表。當須要某個算法的實例的時候,JCA框架會查詢提供者的數據庫,若是找到合適的算法,就會建立實例。
提供者保包含了實現了聲明的密碼算法的一個包(一系列包)。每一個jdk的安裝包都會安裝一個或者多個提供者並按照默認的方式來排序。額外的提供者能夠動態或者靜態的添加(參見Provider和Security類)。客戶能夠配置運行環境爲本身偏好的順序。也就是指請求提供的服務卻沒有指定具體的提供者的,JCA框架查找提供者的順序。html
- 問題二:什麼是長鏈接?
問題二解決方案:長鏈接也就是這個socket鏈接一直保持鏈接,也就是通道一直保持通暢,兩個對端能夠隨時發送和接收數據;短鏈接就是咱們發送一次或有限的幾回,socket通道就被關閉了。首先,咱們必須明白的是socket鏈接後,若是沒有任何一方關閉,這個通道是一直保持着的,換句話說,若是任何一方都不關閉鏈接,這個socket鏈接就是長鏈接,所以Java中的socket自己就是支持長鏈接的。java
- 代碼量截圖:
上週考試錯題總結
暫時不知道錯題狀況,數據庫仍須要更深刻的學習git
結對及互評
點評過的同窗博客和代碼
其餘(感悟、思考等,可選)
java的學習已經進入了成熟階段了,按照婁老師的教學方式好多同窗已經有了及格的分數,隨着時間的積累,你們會能可觀的看到本身的努力和進步。算法
學習進度條
目標 |
3000行 |
30篇 |
200小時 |
第一週 |
5/5 |
1/1 |
10/10 |
第二週 |
36/41 |
1/2 |
12/24 |
第三週 |
271/312 |
1/3 |
20/44 |
第四周 |
577/889 |
1/4 |
25/69 |
第五週 |
520/1409 |
1/5 |
25/94 |
第六週 |
884/2293 |
1/6 |
20/114 |
第七週 |
404/2697 |
2/8 |
10/124 |
第八週 |
599/3296 |
1/9 |
20/144 |
第九周 |
1610/4906 |
2/11 |
20/164 |
第十週 |
361/5267 |
1/12 |
10/174 |
參考:軟件工程軟件的估計爲何這麼難,軟件工程 估計方法(http://www.cnblogs.com/xinz/archive/2011/04/06/2007294.html)數據庫
參考資料