20155211 2016-2017-2 《Java程序设计》第十周学习总结
教材学习内容总结
- 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输
- 在实际传输数据以前需要将域名转换为IP地址,实现这种功能的服务器称之为DNS服务器,也就是通俗的说法叫做域名解析
- 在现有的网络中,网络通讯的方式主要有两种:
- TCP(传输控制协议)方式
- UDP(用户数据报协议)方式
- 客户端(Client)是指网络编程中首先发起连接的程序,客户端一般实现程序界面和基本逻辑实现,在进行实际的客户端编程时,无论客户端复杂还是简单,以及客户端实现的方式。
- 客户端的编程主要由三个步骤实现:
- 建立网络连接
- 交换数据
- 关闭网络连接
- 服务器端(Server)是指在网络编程中被动等待连接的程序,服务器端一般实现程序的核心逻辑以及数据存储等核心功能。
- 服务器端的编程步骤和客户端不同,是由四个步骤实现,依次是:
- 监听端口
- 获得连接
- 交换数据
- 关闭连接
- InetAddress类的功能是代表一个IP地址,并且将IP地址和域名相关的操作方法包含在该类的内部
- 在客户端网络编程中,首先需要建立连接,在JavaAPI中以java.net.Socket类的对象代表网络连接,所以建立客户端网络连接,也就是创建Socket类型的对象,该对象代表网络连接。
- 客户端程序需要完成的处理为:
- 客户端发送协议格式的生成
- 服务器端反馈数据格式的解析
- 网络程序的功能都分为客户端程序和服务器端程序实现,下面先描述一下每个程序分别实现的功能:
-
客户端程序功能:
- 接收用户控制台输入
- 判断输入内容是否合法
- 按照协议格式生成发送数据
- 发送数据
- 接收服务器端反馈
- 解析服务器端反馈信息,并输出
-
服务器端程序功能:
- 接收客户端发送数据
- 按照协议格式解析数据
- 判断数字是否是质数
- 根据判断结果,生成协议数据
- 将数据反馈给客户端
-
教材学习中的问题和解决过程
本周学习的不是教材而且计算机网络是我们正在学习的课程,因而没有出现什么难以理解的问题
代码调试中的问题和解决过程
同上
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
- 在下面,你将看到一堆杂乱的类与接口,这是取自一个动作冒险游戏。你将看到代表游戏角色的类,以及武器行为的类。每个角色一次只能使用一个武器,但是可以在游戏的过程中换武器。你的工作是要弄清楚这一切. . .
a) 把下面散乱的类画成一个UML类图, 找出一个抽象类、一个接口、以及四个具体类,画出类之间的关系:继承,实现接口
King,Queen继承Character抽象类, AxeBehavior BowAndArrayBehavior实现WeaponBehavior接口
Character依赖WeaponBehavior
b) 把s e t W e a p o n ( ) 方法放到正确的类中。(Character中)
结对及互评
点评过的同学博客和代码
-
本周结对学习情况
- 20155235
- 结对学习内容
- 共同讨论了本周所要学习的内容,总结了老师课上讲的内容。
-
上周博客互评情况
其他(感悟、思考等,可选)
这周相对之前学习内容相对轻松了一些,五一假期也给了我们一些能够复习回顾之前
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 |
|
| 第四周 | 532/400 | 1/1 | 20/25 | |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:25小时
-
实际学习时间:20小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)