20165206 2017-2018-2 《Java程序设计》第9周学习总结
教材学习内容总结
- URL类:URL类是java.net包中的一个重要的类,使用URL创建对象的应用程序称为客户端程序。一个URL对象通常包含最基本的三部分信息:协议、地址和资源。
- URL的构造方法:
一种构造方法是:public URL (String spec) throws MalformedURLException;
另一种构造方法是:public URL(String protocol, String host,String file) throws MalformedURLEception。 - 读取URL中的资源:URL对象调用InputStream openStream()方法可以返回一个输入流,该输入流指向URL对象所包含的资源。通过该输入流可以将服务器上的资源信息读入到客户端。
- InetAddress类获取地址:
获取Internet上主机的地址:可以使用InetAddress类的静态方法getByName(String s);
获取本地机的地址:可以使用InetAddress类的静态方法getLocalHost()获得一个InetAddress对象。 - UDP数据报:
基于UDP通信的基本模式是:
将数据打包,称为数据包,然后将数据包发往目的地;
接收发来的数据包,然后查看数据包中的内容。 - 发送数据包:可使用DatagramPacket的这样两种构造方法创建待发送的数据包。DatagramPacket(byte data[],int length,InetAddtress address,int port);DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)。
- 广播数据报。
- Java远程调用。
教材学习中的问题和解决过程
问题1:在学习使用多线程技术的时候,忽然想起以前也见过类似多线程的词,就比如多处理、多任务等这种,听起来差不多,那么他们之前有什么区别嘛?
问题1解决方案:经过查阅资料,我了解到多线程、多任务、多处理虽然经常交替的进行使用,但本质上还是有区别的。
使用多线程技术,应用程序可以把它的任务分配到单独的线程中执行。在多线程程序中,操作系统让一个线程的代码执行一段时间(被称为时间片)后,会切换到另外的线程继续运行。暂停某个线程的运行而开始执行另一个线程的行为被称为线程切换。通常情况下,操作系统进行线程切换的速度非常快,令用户觉得有多个线程在同时运行一样;多任务是指操作系统具有在任务间快速切换使得这些任务看起来是在同步执行的能力;多处理指的是在一台计算机上使用多个处理器。问题2:在学习套接字的时,看了书上对套接字的概述后,仍然不是很理解套接字是什么。
问题2解决方案:我查阅资料后,有了一些了解。套接字,可以说是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。套接字也可以理解为通信端口的抽象,通过套接字网络IPC接口,进程能够使用该接口和其他进程通信。套接字为两台计算机之间的通信提供了一种机制。
代码托管
上周考试错题总结
错题1及理解情况:Java语言的一大特性就是内置对多线程的支持;main方法返回时,JVM就会结束Java应用程序;Java语言使用Thread类及其子类对象来表示线程。
错题2及理解情况:将线程转换为守护线程可以通过调用Thread对象的setDaemon(true)方法来实现。
错题3及理解情况:进程为动态的,线程为静态的。
感悟
本周学习了一些有关网络编程、通信的一些知识,知识比较新,同时也不是很好理解。经过学习感觉收获了许多,了解了很多新的东西。随着慢慢敲代码不断加深理解吧。