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框架查找提供者的顺序。

  • 问题二:什么是长连接?
  • 问题二解决方案:长连接也就是这个socket连接一直保持连接,也就是通道一直保持通畅,两个对端可以随时发送和接收数据;短连接就是我们发送一次或有限的几次,socket通道就被关闭了。首先,我们必须明白的是socket连接后,如果没有任何一方关闭,这个通道是一直保持着的,换句话说,如果任何一方都不关闭连接,这个socket连接就是长连接,因此Java中的socket本身就是支持长连接的。

代码托管

  • 代码量截图:

上周考试错题总结

暂时不知道错题情况,数据库仍需要更深入的学习

结对及互评

点评过的同学博客和代码

其他(感悟、思考等,可选)

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)

参考资料

20155237 2016-2017-2 《Java程序设计》第十周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第十周学习总结

    1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 异常: 多线程: 2.书面作业 Q1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 ...

  2. Java程序设计第十周学习总结

    Java课程知识梳理: 流的区分; 字符流与字节流的区别: 字节流是直接操作文件本身的,如果没有关闭字节流操作,文件会依然输出内容 而字符流在程序运行之后会发现文件没有任何的内容,这是因为字符流操作的 ...

  3. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  4. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  5. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  6. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  7. 20145237 《Java程序设计》第九周学习总结

    20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...

  8. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  9. 20172325 2018-2019-2 《Java程序设计》第九周学习总结

    20172325 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 图的定义 图是由顶点集(VertexSet)和边集(EdgeSet)组成,针对图G,顶点集和 ...

  10. 20155334 2016-2017-2 《Java程序设计》第九周学习总结

    20155334 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章:整合数据库 16.1 JDBC入门 JDBC(Java DataBase Conn ...

随机推荐

  1. 如何将水晶报表(Crystal Report)导入葡萄城报表

    当从旧的报表平台迁移到葡萄城报表工具时,意味着有大量的报表设计工作要重复去做,如果有一款工具能够在这些工具之间进行自由转换,就能省去报表开发几乎一半的工作量. 葡萄城报表为兼容其他报表控件,提供了简单 ...

  2. WOSA/XFS PTR Form解析库—FormRule.h

    #ifndef _FORMRULE_H_#define _FORMRULE_H_ #include <XFSPTR.H>#include <string>#include &l ...

  3. flutter 监控返回键

    return new WillPopScope( child: Scaffold( body: new Center( child: new Column( children: <Widget& ...

  4. Windows10+VS2017 用GLFW+GLAD 搭建OpenGL开发环境

    本文参考:https://learnopengl-cn.github.io/ 一 下载GLFW(https://www.glfw.org/download.html)  和 GLAD(https:// ...

  5. 【前端】NodeJs包管理工具NPM

    NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS部署上的很多问题. 测试是否安装成功,出现版本提示表示安装成功. npm -v NPM常用命令 官方文档:https://www.npm ...

  6. pages bookmarks for machine learning domain

    http://www.ai-start.com/dl2017/html/lesson4-week2.html  达叔深度学习笔记 http://cs231n.github.io/convolution ...

  7. php编译安装 报错 make ***[libphp5.la] Error 1解决方法

    报错信息: /usr/bin/ld: cannot find -lltdl collect2: ld returned 1 exit status make: *** [libphp5.la] Err ...

  8. 转:SqlServer索引及优化详解

    (一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录.微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引.簇集索引)和非聚集索引(nonc ...

  9. Mysql 5.7源码编译启动 报error问题:The server quit without updating PID file (/data/data_mysql/mysql.pid).

    一般是报error问题就是我们的mysql没有权限,这里主要是指三点:一个是mysql的安装主目录要设为mysql用户和用户组.一个是logs目录设置为mysql用户以及用户组.还有一个是data目录 ...

  10. MySQL基础之---mysqlimport工具和LOAD DATA命令导入文本文件

     1.mysqlimport工具的使用 看一下命令的使用方法: shell > mysqlimport -u root -p [--LOCAL] DBname File [option] --f ...