20165208 2017-2018-2 《Java程序設計》第九周學習總結
阿新 • • 發佈:2018-04-28
域名 local 技術分享 運行 服務器 網絡 ip地址 lex 生成
20165208 2017-2018-2 《Java程序設計》第九周學習總結
教材學習內容總結
第十三章
URL類
- URL對象包含三部分信息:協議、地址和資源
- 創建URL對象兩種方法:
public URL (String spec) throws MalformedURLException
public URL(String protocol,String host,String file) throws MalformedURLException
- 使用字符串初始化一個URL對象
URL url=new URL("http://www.google.com")
InetAddress類
方法名 | 用途 |
---|---|
getByName(String s) | 將域名或IP地址傳遞給參數s獲得一個InetAddress對象 |
getHostName() | 獲取InetAddress對象所含的域名 |
getHostAddress() | 獲取InetAddress對象所含的IP地址 |
getLocalHost() | 獲得含有本地機器的域名和IP地址 |
套接字
- 網絡套接字:端口號和IP地址的組合
- 端口號標識服務器上的進程
- 客戶端套接字:Socket類建立負責連接到服務器的套接字對象,構造方法
Socket(String host,int port)
,host是服務器的IP地址,port是端口號。 - 服務器端:
ServerSocket(int port)
UDP數據報
- 特點:快但是不準
- 步驟:
- 創建待發送數據報:
DatagramPacket(byte data[],int length,InetAddtress address,int port)
或DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)
- 發送數據報
- 接收數據報
廣播數據報
- 四類地址包括:A類、B類、C類、D類
- D類地址也稱作一個組播地址,有關廣播數據或接收廣播都需要加入到同一個D類地址。
遠程調用
遠程對象必須實現java.rmi包中的Remote接口,只有實現該接口的類的實例才被RMI認為是一個遠程對象
教材學習中的問題和解決過程
問題一:書中提到了存根,它的作用是什麽,為什麽要去生成它?
解決一:存根類是一個類,它實現了一個接口,但是實現後的每個方法都是空的。
它的作用是:如果一個接口有很多方法,如果要實現這個接口,就要實現所有的方法。但是一個類從業務來說,可能只需要其中一兩個方法。如果直接去實現這個接口,除了實現所需的方法,還要實現其他所有的無關方法。而如果通過繼承存根類就實現接口,就免去了這種麻煩
代碼托管
上周考試錯題總結
- 下面代碼中共有()個線程?
```
public class ThreadTest {
public static void main(String args[]){
MyThread myThread =new MyThread();
Thread t1=new Thread(myThread);
Thread t2=new Thread(myThread);
t1.start();
t2.start();
}
}
class MyThread extends Thread {
...
}
A. 1
B. 2
C. 3
D. 4
分析:這道題在第1次做時我選擇了B,只考慮到了t1,t2,忽略了main所在的主線程。
2. 下列說法正確的是
A. Java語言的一大特性就是內置對多線程的支持。
B. main方法返回時,JVM就會結束Java應用程序。
C. Java應用程序中第一個線程結束後,JVM結束Java應用程序。
D. Java語言使用Thread類及其子類對象來表示線程。
分析:這道題在我查書時翻了斷章取義的錯誤,書上說在main沒有創建其他線程時,main方法返回時,JVM就會結束Java應用
3.
進程的基本狀態有:新建、運行、阻塞、死亡。
A. true
B. false
```
分析:這道題在做的時候很猶豫,教材中所說的進程的四個狀態是:新建、運行、中斷、死亡。上網查資料時顯示有五個狀態分別是創建、就緒、執行、阻塞、終止,根據所給答案分析,阻塞和終斷應該是一個。
參考資料
- 《Java2 實用教程(第五版)》學習指導
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一周 | 36/36 | 4/4 | 30/30 | |
第二周 | 464/500 | 1/5 | 18/48 | |
第三周 | 832/1332 | 2/7 | 17/65 | |
第四周 | 939/2271 | 2/9 | 17/65 | |
第五周 | 1163/3434 | 1/10 | 17/65 | |
第六周 | 1176/4610 | 1/11 | 15/65 | |
第七周 | 864/5474 | 2/12 | 15/80 | |
第八周 | 703/6177 | 2/14 | 15/80 | |
第九周 | 1488/7665 | 2/16 | 16/96 |
20165208 2017-2018-2 《Java程序設計》第九周學習總結