20155229 2016-2017-2 《Java程序設計》第十週學習總結

20155229 2016-2017-2 《Java程序設計》第十週學習總結

教材學習內容總結

網絡

  • 網絡分爲局域網、廣域網、城域網
  • 一次HTTP請求包含3個部分:①方法--統一資源標識符--協議/版本
    ② 請求頭
    ③ 請求實體html

  • HTTP包含3個部分:①協議--狀態碼--說明;②響應頭;③響應實體。
  • HTTP是URL中最常使用的協議
  • URLConnection類有兩個布爾類型的字段,doInputdoOutput,他們分別表示URLConnection是用於讀仍是寫.java

  • 每一個HTTP請求均可以使用HTTP標準中指定的衆多請求方法之一。HTTP/1.1支持7種類型的請求:GETPOSTHEADOPTIONSPUTDELETETRACE.GETPOST是互聯網應用程序中最常使用的請求。android

  • 套接字是一個網絡鏈接的端點。使得應用程序可以從網絡讀取或者向網絡寫入信息。git

  • 使用URL只能讀取一個Web資源。要向服務器寫內容,須要使用java.net.URLConnection對象。算法

Java與密碼學

  • Java安全體系結構總共分爲4個部分:

①JCA( Java Cryptography Architecture, Java加密體系結構):JCA提供基本的加密框架, 如證書、 數字簽名、消息摘要和密鑰對產生器。數據庫

②JCE( Java Cryptography Extension, Java加密擴展包):JCE在JCA的基礎上做了擴展, 提供了各類加密算法、 消息摘要算法和密鑰管理等功能。JCE的實現主要在javax.crypto包( 及其子包) 中安全

③JSSE( Java Secure Sockets Extension, Java安全套接字擴展包):JSSE提供了基於SSL( Secure Sockets Layer,安全套接字層) 的加密功能。 在網絡的傳輸過程當中, 信息會通過多個主機(頗有可能其中一臺就被竊聽) , 最終傳送給接收者, 這是不安全的。這種確保網絡通訊安全的服務就是由JSSE來提供的。服務器

④JAAS( Java Authentication and Authentication Service, Java鑑別與安全服務):JAAS提供了在Java平臺上進行用戶身份鑑別的功能。網絡

教材學習中的問題和解決過程

  • 問題一:22.6中使用await而沒有使用wait,二者的區別爲?
  • 解決:

經常使用的wait方法有wait()和wait(long timeout);框架

void wait() 在其餘線程調用此對象的 notify() 方法或者 notifyAll()方法前,致使當前線程等待。

void wait(long timeout)在其餘線程調用此對象的notify() 方法 或者 notifyAll()方法,或者超過指定的時間量前,致使當前線程等待。

wait()後,線程會釋放掉它所佔有的「鎖標誌」,從而使線程所在對象中的其餘shnchronized數據可被別的線程使用。

  • 問題二:Android權限Uri.parse
  • 解決:
  • 卸載

Uri uninstallUri = Uri.fromParts("package", "xxx", null);

returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri);

  • 安裝

Uri installUri = Uri.fromParts("package", "xxx", null);

returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);

代碼調試中的問題和解決過程

本週暫時沒有調試的問題

代碼託管

上週考試錯題總結

暫不知上週的錯題狀況

結對及互評

評分標準

  1. 正確使用Markdown語法(加1分):
    • 不使用Markdown不加分
    • 有語法錯誤的不加分(連接打不開,表格不對,列表不正確...)
    • 排版混亂的不加分
  2. 模板中的要素齊全(加1分)
    • 缺乏「教材學習中的問題和解決過程」的不加分
    • 缺乏「代碼調試中的問題和解決過程」的不加分
    • 代碼託管不能打開的不加分
    • 缺乏「結對及互評」的不能打開的不加分
    • 缺乏「上週考試錯題總結」的不能加分
    • 缺乏「進度條」的不能加分
    • 缺乏「參考資料」的不能加分
  3. 教材學習中的問題和解決過程, 一個問題加1分

  4. 代碼調試中的問題和解決過程, 一個問題加1分

  5. 本週有效代碼超過300分行的(加2分)
    • 一週提交次數少於20次的不加分
  6. 其餘加分:
    • 週五前發博客的加1分
    • 感想,體會不假大空的加1分
    • 排版精美的加一分
    • 進度條中記錄學習時間與改進狀況的加1分
    • 有動手寫新代碼的加1分
    • 課後選擇題有驗證的加1分
    • 代碼Commit Message規範的加1分
    • 錯題學習深刻的加1分
    • 點評認真,能指出博客和代碼中的問題的加1分
    • 結對學習狀況真實可信的加1分
  7. 扣分:
    • 有抄襲的扣至0分
    • 代碼做弊的扣至0分
    • 遲交做業的扣至0分

點評過的同窗博客和代碼

其餘

本週學習了java與android開發學習指南的網絡章節和java密碼學算法,由於這幾周都有作密碼學的實驗,是用c語言編寫,而此次學習是用java對密碼算法進行編寫,發現了兩種代碼的差異。在學習網絡板塊時,發現java涉及的範圍真的很廣,在那麼多領域都可以運用,因此咱們還要多增強對java的學習。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 15篇 400小時
第一週 9/9 1/1 20/20
第二週 162/171 1/2 25/45 學習java的基礎語法
第三週 380/551 1/3 25/70 學習java對象及封裝
第四周 831/1382 1/4 23/93 學習java的繼承、接口與多態的運用
第五週 870/2252 1/5 20/113 學習java的異常處理和collection與map
第六週 1241/3493 1/6 22/135 學習java的輸入輸出、線程與Api,與搭檔一塊兒學習
第七週 429/3922 2/8 15/150 學習java的時間與日期、第一次實驗
第八週 390/4312 1/9 18/168 學習java的通用API
第九周 929/5241 2/11 22/190 學習java的整合數據庫、第二次實驗
第十週 642/5883 1/12 22/212 學習java的密碼學算法和andriod開發學習指南
  • 計劃學習時間:25小時

  • 實際學習時間:22小時

  • 改進狀況:本週在學習密碼學算法和網絡兩板塊花了較多時間理解代碼,因此花的時間較多。

參考資料

相關文章
相關標籤/搜索