20165208 2017-2018-2 《Java程序设计》第九周学习总结
Posted ky-high
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20165208 2017-2018-2 《Java程序设计》第九周学习总结相关的知识,希望对你有一定的参考价值。
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)
构造对象,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
```
分析:这道题在做的时候很犹豫,教材中所说的进程的四个状态是:新建、运行、中断、死亡。上网查资料时显示有五个状态分别是创建、就绪、执行、阻塞、终止,根据所给答案分析,阻塞和终断应该是一个。
参考资料
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 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程序设计》第九周学习总结的主要内容,如果未能解决你的问题,请参考以下文章
20165208 2017-2018-2 《Java程序设计》第七周学习总结
20165218 2017-2018-2 《Java程序设计》第一周学习总结
2018-2019 20165208 网络对抗 Exp4 恶意代码分析
2018-2019 20165208 网络对抗 Exp7 网络欺诈防范