20165215 2017-2018-2 《Java程序设计》第九周学习总结

20165215 2017-2018-2 《Java程序设计》第九周学习总结

教材学习内容总结

  • URL类
    • URL 类是 java.net 包中的一个重要的类,使用 URL 建立对象的应用程序称为客户端程序。
    • 一个 URL 对象一般包含最基本的三部分信息:协议、地址和资源
    • URL 对象的构造方法:
    public URL (String spec)throws MalformedURLException;
    public URL (String protocol, String host, String file) throws MalformedURLException
  • InetAddress类
    • Internet上的主机有域名和IP地址两种方式表示地址
    • 使用InetAddress类的静态方法getByName(String s)将一个域名或 IP 地址传递给该方法的参数 S,得到一个 InetAddress 对象
    • public String getHostName()获取InetAddress对象所含的域名
    • public String getHostAddress()获取InetAddress对象所含的IP地址
    • 使用InetAddress类的静态方法getLocalHost得到含有本机域名和IP地址的对象
  • 套接字
    • 当两个程序须要通讯时,它们能够经过使用Socket类创建套接字对象并链接在一块儿(端口号和IP地址的组合得出一个网络套接字)
    • Socket类的构造方法为Socket(String host, int port),参数host是服务器的IP地址,port是端口号
    • ServerSocket 的构造方法是 ServerSocket(int port),port 是一个端口号
    • 可使用方法accept()将客户端的套接字和服务器端的套接字链接起来
    • 从套接字链接中读取数据与从文件中读取数据有着很大的不一样,从文件中读取数据时,全部的数据都已经在文件中了,而使用套接字链接时,可能在另外一端数据发送以前,就已经开始读取了
    • 注意accept方法也会阻塞线程的执行,直到接收到客户的呼叫
  • UDP数据报
    • 套接字是基于TCP协议的网络通讯
    • UDP的信息传递更快,但不提供可靠性保障,即没法知道数据可否正确到达目的地,也不能肯定数据到达目的地的顺序是否和发送的顺序相同
    • 用DatagramPacket的如下两个构造方法建立待发送的数据包:
    DatagramPacket(byte data[],int length,InetAddtress address,int port)
    DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)
    • 方法DatagramSocket()负责发送数据包,方法receive(DatagramPacket pack)负责接收数据包
  • 广播数据报
    • D类地址不是用来你表明位置的,即在网络上不能使用D类地址去查找计算机
    • 224.0.0.0~224.255.255.255是保留地址,称做D类地址
    • 要广播或接收广播的主机都必须加入到同一个 D 类地址
  • Java远程调用
    • 使用RMI可让一个虚拟机上的应用程序请求调用位于网络上另外一处虚拟机上的对象
    • 代理的特色是它与远程对象实现了相同的接口
    • 存根是一种特殊的字节码,并让这个存根产生的对象做为远程对象的代理,其字节码后缀为"_Stub"

代码托管

(statistics.sh脚本的运行结果截图)html

上周考试错题总结

  • 错题1
    调用线程的interrupt()方法 ,会抛出()异常对象? A.IllegalStateException B.RuntimeException C.InterruptedException D.SecurityException 正解:C D
    • 理解状况:面对这样的提醒靠记忆是远远不够的,应学会查看API
  • 错题2
    下列说法正确的是 A.Java语言的一大特性就是内置对多线程的支持 B.main方法返回时,JVM就会结束Java应用程序 C.Java应用程序中第一个线程结束后,JVM结束Java应用程 D.Java语言使用Thread类及其子类对象来表示线程。 正确答案:A B D
    • 理解状况:在main没有建立其余线程时,main方法返回时,JVM就会结束Java应用
  • 错题3
    下列关于线程经常使用的方法的叙述,错误的是 A.让run方法执行完毕,线程就变成死亡状态 B.若是线程在休眠时被打断,JVM会抛出InterruptedException异常 C.一个已运行的线程没有进入死亡状态时,若是再给线程分配实体,则先前的实体会被垃圾收集器收集掉 D.当线程进入死亡状态后,线程就不可以调用isAlive()方法了 正确答案:C D
    • 理解状况:本题属于粗心错误,漏选了D选项。当线程进入死亡状态后,线程就还能够调用isAlive()方法,而且返回值为false

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 37/37 1/1 15/15
第二周 398/429 2/3 15/30
第三周 753/1167 1/4 20/50
第四周 1296/2109 2/6 20/70
第五周 1191/3323 2/8 20/90
第六周 1806/4390 2/10 15/105
第七周 1260/5145 2/12 15/120
第八周 606/5745 3/15 20/140
第九周 596/6341 1/16 15/155

参考资料

相关文章
相关标签/搜索