20155237 2016-2017-2 《Java程序设计》第十周学习总结
教材学习内容总结
- 计算机网络,是指分布在不一样地理区域的计算机用通讯线路互连起来的一个具备强大功能的网络系统。网络中的主机之间经过网络协议来交流和联系。
- 根据计算机网络的区域大小,能够把网络分为局域网(LAN)和广域网(WAN)。Internet是全球范围的广域网,不一样的网络之间的互联靠网络上的标准语言--TCP/IP协议。
- OSI参考模型:
国际标准化组织(iOS)研究了一种用于开放系统互联(OSI)的体系结构,将网络分为七层,从下往上依次是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,以下图所示。每一层使用下层提供的服务,并为上层提供服务。
- TCP/IP参考模式和TCP/IP协议:
IOS制定的OSI参考模式提出了网络分层的思想,但并无投入到实际运用。与OSI模型相似的TCP/IP参考模型借鉴了OSI分层的思想,对其进行了简化,并在网络各层(除了主机-网络层外)都提供了完善的协议。TCP/IP参考模型分为4个层次:应用层、传输层、网络互联层和主机-网络层,以下图所示。每一层都有相应的协议。
- IP协议:
IP网络中的每一台主机都有一个惟一的IP地址,IP地址是一个32位的二进制灱序列。IP地址由两部分组成:IP网址和IP主机地址。
- 网络掩码用来肯定IP地址中哪一个部分是网址,哪一个部分是主机地址。把网络掩码与IP地址进行二进制与操做,获得的就是IP网址。主机实际上有两个不一样的地址:物理地址和IP地址,物理地址才是主机的真实地址。当主机A向主机B发送数据包的时候,会经过地址解析协议将主机B的IP地址解析为物理地址,而后把包发给主机B。
- 域名:
域名与IP地址一一对应。例如JavaThinker网站的域名为www.javathinker.org,对应的IP地址为221.130.187.148。DNS协议采用DNS服务器来提供把域名转换为IP地址的服务。
- 端口:
端口不是物理设备,而是用于标识进程的逻辑地址。更确切的说,是用于标识TCP链接的端点的逻辑地址。客户进程的端口通常由所在主机的操做系统动态分配。TCP和UDP都用端口来标识进程,在一个主机中,TCP端口和UDP端口的取舍范围是各自独立的,容许存在取值相同的TCP端口与UDP端口。
- 客户/服务器通讯模式:
在通讯的两个进程中,一个为客户进程,一个为服务器进程。客户进程向服务器进程发出请求,服务器进程响应请求,并返回给客户进程响应结果。一个服务器进程可同时为多个客户进程服务。接下来介绍的Java网络程序都是创建在TCP/IP的基础上,致力于实现应用层。传输层向应用层提供套接字Socket接口,Socket封装了下层的数据传输细节,应用层的程序经过Socket来创建与远程主机的链接,以及进行数据传输。
教材学习中的问题和解决过程
- 问题一:java密码学构架
问题一解决方案:密码服务提供者
java.security.Provider是全部的安全提供者的基类。每个密码安全提供者都包含这个类的实例,这个实例提供了提供者的名称和实现的安全算法列表。当须要某个算法的实例的时候,JCA框架会查询提供者的数据库,若是找到合适的算法,就会建立实例。
提供者保包含了实现了声明的密码算法的一个包(一系列包)。每一个jdk的安装包都会安装一个或者多个提供者并按照默认的方式来排序。额外的提供者能够动态或者静态的添加(参见Provider和Security类)。客户能够配置运行环境为本身偏好的顺序。也就是指请求提供的服务却没有指定具体的提供者的,JCA框架查找提供者的顺序。html
- 问题二:什么是长链接?
问题二解决方案:长链接也就是这个socket链接一直保持链接,也就是通道一直保持通畅,两个对端能够随时发送和接收数据;短链接就是咱们发送一次或有限的几回,socket通道就被关闭了。首先,咱们必须明白的是socket链接后,若是没有任何一方关闭,这个通道是一直保持着的,换句话说,若是任何一方都不关闭链接,这个socket链接就是长链接,所以Java中的socket自己就是支持长链接的。java
- 代码量截图:

上周考试错题总结
暂时不知道错题状况,数据库仍须要更深刻的学习git
结对及互评
点评过的同窗博客和代码
其余(感悟、思考等,可选)
java的学习已经进入了成熟阶段了,按照娄老师的教学方式好多同窗已经有了及格的分数,随着时间的积累,你们会能可观的看到本身的努力和进步。算法
学习进度条
目标 |
3000行 |
30篇 |
200小时 |
第一周 |
5/5 |
1/1 |
10/10 |
第二周 |
36/41 |
1/2 |
12/24 |
第三周 |
271/312 |
1/3 |
20/44 |
第四周 |
577/889 |
1/4 |
25/69 |
第五周 |
520/1409 |
1/5 |
25/94 |
第六周 |
884/2293 |
1/6 |
20/114 |
第七周 |
404/2697 |
2/8 |
10/124 |
第八周 |
599/3296 |
1/9 |
20/144 |
第九周 |
1610/4906 |
2/11 |
20/164 |
第十周 |
361/5267 |
1/12 |
10/174 |
参考:软件工程软件的估计为何这么难,软件工程 估计方法(http://www.cnblogs.com/xinz/archive/2011/04/06/2007294.html)数据库
参考资料