20175212童皓楨 《Java程序設計》第11周學習總結

20175212童皓楨 《Java程序設計》第11周學習總結

教材學習內容總結

1、URL類

1.一個URL對象一般包含最基本的三部分信息:協議、地址、資源html

2.構造方法:java

public URL(String spec) throws MalformedURLExceptiongit

public URL(String protocol, String host,String file) throws MalformedURLException服務器

3.URL對象調用網絡

InputStream openStream()方法能夠返回一個輸入流,該輸入流指向URL對象所包含的資源。經過該輸入流能夠將服務器上的資源讀入到客戶端socket

2、 InetAdress類

1.獲取Internet上主機的地址學習

使用InetAddress類的靜態方法getByName(String s);得到一個InetAddress對象,該對象含有主機地址的域名和IP地址。url

2.獲取本地機的地址設計

使用InetAddress類的靜態方法getLocalHost()得到一個InetAddress對象,該對象含有本地機的域名和IP地址。調試

3、 套接字

當兩個程序須要通訊時,它們能夠經過使用Socket類創建套接字對象並鏈接在一塊兒(端口號與IP地址的組合得出一個網絡套接字。

1.客戶端套接字

創建鏈接到服務器的套接字對象:

try{  Socket mysocket=new Socket(「http://192.168.0.78」,1880);
     }
    catch(IOException e)
    {  }

mysocket相關的方法

  • getInputStream()得到一個輸入流
  • getOutputStream()得到一個輸出流
  • getInputStream()獲得的輸入流接到另外一個DataInputStream數據流上
  • getOutputStream()獲得的輸出流接到另外一個DataOutputStream數據流上
  1. ServerSocket對象與服務器端套接字

創建ServerSocket對象:

try{  ServerSocket  serverForClient =new ServerSocket(2010);
      }
      catch(IOException e){}

使用方法accept()將客戶的套接字和服務器端的套接字鏈接起來,代碼以下所示:

try{  Socket sc= serverForClient .accept();
        }
       catch(IOException e){}

4、 UDF數據報

基於UDP通訊的基本模式是:

1.將數據打包,稱爲數據包(比如將信件裝入信封同樣),而後將數據包發往目的地。

2.接受別人發來的數據包(比如接收信封同樣),而後查看數據包中的內容。

發送數據包:

DatagramPacket類將數據打包,即用DatagramPacket類建立一個對象,稱爲數據包。用DatagramPacket的如下兩個構造方法建立待發送的數據包:

DatagramPacket(byte data[],int length,InetAddtress address,int port)
DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)

DatagramSocket類的不帶參數的構造方法:DatagramSocket()建立一個對象,該對象負責發送數據包。例如:

DatagramSocket  mail_out=new DatagramSocket();
mail_out.send(data_pack);

接受數據包

首先用DatagramSocket的另外一個構造方法DatagramSocket(int port) 建立一個對象,其中的參數必須和待接收的數據包的端口號相同。例如,若是發送方發送的數據包的端口是5666,那麼以下建立DatagramSocket對象:

DatagramSocket mail_in=new DatagramSocket(5666);

而後對象mail_in使用方法receive(DatagramPacket pack)接受數據包。

DatagramPack類的另一個構造方法: DatagramPack(byte data[],int length)建立一個數據包,用於接收數據包,例如:

byte data[]=new byte[100];
     int length=90;
           DatagramPacket pack=new DatagramPacket(data,length);
     mail_in.receive(pack);

該數據包pack將接收長度是length字節的數據放入data

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

  • 問題1:運行Java遠程調用的例子時,提示找不到RemoteSubject類
    輸入圖片說明

  • 問題1解決方案:根據IDEA提示,將ClientApplication類也放入sever包中便可正常運行。

代碼託管

倉庫又被我搞炸了。。

輸入圖片說明

結對及互評

評分標準

  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分

點評模板:

  • 博客中值得學習的或問題:
    • xxx
    • xxx
    • ...
  • 代碼中值得學習的或問題:
    • xxx
    • xxx
    • ...
  • 基於評分標準,我給本博客打分:XX分。得分狀況以下:xxx

  • 參考示例

點評過的同窗博客和代碼

其餘(感悟、思考等,可選)

xxx
xxx

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 6/6 1/1 20/20
第二週 245/251 1/2 18/38
第三週 633/884 1/3 22/60
第四周 305/1189 1/4 30/90
第五週 410/1599 3/7 30/120
第六週 1135/2734 3/10 30/150
第七週 781/3515 3/13 30/180
第八週 710/4225 3/16 30/210
第九周 775/5000 2/18 30/240
第十週 933/5933 1/19 30/270
第十一週 691/6624 2/21 30/300

嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進本身的計劃能力。這個工做學習中很重要,也頗有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。

參考:軟件工程軟件的估計爲何這麼難軟件工程 估計方法

  • 計劃學習時間:XX小時

  • 實際學習時間:XX小時

  • 改進狀況:

(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表
)

參考資料

相關文章
相關標籤/搜索