《Java程序設計》第5周學習總結
20189208 2018-2019-2 《Java程序設計》第5周學習總結
教材學習內容總結
十六章 輸入/輸出
學習了針對小文件的java.nio.io.file.Files和大文件的四種流和隨機操作java.io.RandomAccessFile.
十九章 線程
多線程可以使用1拓展java.lang.thread類 2實現java.lang.Runnable接口。
二十章 並發工具
學習java.util.currency包中的並發工具,原子變量操作的類,盡量使用Executor接口實現。Callable和Future,類。以及鎖住共享資源。
二十二章 網絡
HTTP協議、java.net.URL、java.net.URLConnetion、java.net.SeverSocket、java.net.Socket、webSever的三個類,
教材學習中的問題和解決過程
- 問題1:TCP/IP的網絡通信的實現
- 問題1解決方案:
發送:創建Socket實例-getOutputStream方法獲取java.io.OutputStream對象,發送和接受字節流, - 問題2:XXXXXX
- 問題2解決方案:XXXXXX
- ...
代碼調試中的問題和解決過程
- 問題1:後綴表達式無法計算
- 問題1解決方案:轉化為後綴表達式時,數字與數字之間缺少空格。
- 問題2:Client端收不到結果
//獲取服務器端傳遞的數據 BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); String info= br.readLine();//總是bug無法輸出info,info的值是java.io.BufferedReader
- 問題2解決方案:我猜是info的賦值過程出了問題,翻書換了表達方式,並且把br.readLine()改為br.read()或br.toString()。nfo就可以輸出java.io.BufferedReader這個錯誤數值了。info和Server端的變量是相同的名字,我猜可能混淆了,就改了名字為 i.終於成了。
//獲取服務器端傳遞的數據
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String i = br.readLine();
代碼托管
···
//==========Today=====================================
232
documents summary infomation:
0
//==========This Week=================================
code summary infomation:
753
documents summary infomation:
0
ac1710c - ssrchan,2019-03-27 20:01:02 +0800: add package ServerClient
e34c5b0 - ssrchan,2019-03-27 15:45:48 +0800: add MyBC MyDC
//==========All=================================
code summary infomation:
1745
documents summary infomation:
107
commit history:
ac1710c - ssrchan,2019-03-27 20:01:02 +0800: add package ServerClient
e34c5b0 - ssrchan,2019-03-27 15:45:48 +0800: add MyBC MyDC
c100c7a - ssrchan,2019-03-20 16:52:36 +0800: add box p sub
40d4bde - ssrchan,2019-03-20 15:00:36 +0800: Merge remote-tracking branch ‘origin/master‘
···
上周考試錯題總結
- 錯題1現有:
1. import java.util.*;
2.
3. Class FindStuff {
4.public static void main (String[]args) {
5, //insert code here
6. c.put ("X", 123);
7. }
8. }
分別插入到第5行,哪幾行允許代碼編譯?
A.
Map c= new SortedMap();
B.
HashMap c= new HashMap();
C.
HashMap c= new Hashtable();
D.
SortedMap c= new TreeMap();
E.
ArrayList c= new ArrayList();
F.
Map c = new LinkedHashMap();
正確答案: B D F
- 錯題2
現有:
- list是一個合法的集合引用
- getCollection()返回一個合法集合的引用
哪個是合法的?
A.
or(Object o ; list)
B.
for(Object o : getCollection())
C.
for(Object o : list.iterator())
D.
for(lterator i ; list.iterator() ; i.hasNext () )
E.
for(lterator i=list.iterator(); i.hasNext (); )
正確答案: B E
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一周 | ----- | ----- | ----- | |
第二周 | 180/180 | 2/3 | 18/18 | |
第三周 | 429/609 | 1/4 | 24/42 | |
第四周 | 588/1197 | 2/6 | 30/72 | |
第五周 | 548/1745 | 2/6 | 20/92 |
參考資料
- Java學習筆記(第8版)
- 《Java學習筆記(第8版)》學習指導
- [Java技術手冊(第六版)] (https://book.douban.com/subject/26674131/)
《Java程序設計》第5周學習總結