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

教材学习内容总结

  • 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据。
  • 狭义的网络编程范畴就是程序员把数据发送到指定的位置,或者接收到指定的数据。
  • 网络中的每个设备都会有一个唯一的IP地址.在计算机网络中,现在命名IP地址的规定是IPv4协议,该协议规定每个IP地址由4个0-255之间的数字组成,例如10.0.120.34。
  • 一个IP地址可以对应多个域名,一个域名只能对应一个IP地址。
  • 当用户在浏览器输入域名时,浏览器首先请求DNS服务器,将域名转换为IP地址,然后将转换后的IP地址反馈给浏览器,然后再进行实际的数据传输。
  • DNS服务器是在实际传输数据以前将域名转换为IP地址的服务器,当用户在浏览器输入域名时,浏览器首先请求DNS服务器,将域名转换为IP地址,然后将转换后的IP地址反馈给浏览器,然后再进行实际的数据传输。
  • 为了让一个计算机可以同时运行多个网络程序,就引入了另外一个概念——端口(port) 前台总机的电话号码就相当于IP地址,而每个员工的分机号就相当于端口。
  • 端口是为了让一个计算机可以同时运行多个网络程序,在同一个计算机中每个程序对应唯一的端口,这样一个计算机上就可以通过端口区分发送给每个端口的数据了,换句话说,也就是一个计算机上可以并发运行多个网络程序,而不会在互相之间产生干扰。
  • 网络编程中的两种程序就分别是客户端和服务器端。
  • 客户端/服务器结构:也叫做Client/Server结构,简称C/S结构。一旦通讯建立,则客户端和服务器端完全一样,没有本质的区别。这种结构的优势表现力丰富,而服务器端也需要专门进行开发。但是这种结构也存在着很多不足,例如通用性差,实际维护时,也需要维护专门的客户端和服务器端,维护的压力比较大。
  • 使用浏览器作为客户端的结构被称作浏览器/服务器结构,也叫做Browser/Server结构,简称为B/S结构。 P2P程序是一种特殊的程序,应该一个P2P程序中既包含客户端程序,也包含服务器端程序。
  • 在实际的网络程序编程中,最麻烦的内容不是数据的发送和接收,因为这个功能在几乎所有的程序语言中都提供了封装好的API进行调用,最麻烦的内容就是协议的设计以及协议的生产和解析,这个才是网络编程中最核心的内容。网络协议就是一种格式上的约定,在进行设计时一般遵循“简单、通用、容易解析”的原则进行。
  • 客户端网络编程的步骤:1、建立网络连接 2、交换数据 3、关闭网络连接。
  • 服务器端网络编程步骤:1、监听端口 2、获得连接 3、交换数据 4、关闭连接。

教材学习中的问题和解决过程

1.不太理解BS结构和CS结构的区别

在查阅资料后我知道了:
C/S 是双向的通讯,建立连接后会一直保持,任何一方都可以随时向对方发送信息。比如 QQ 客户端登录后,腾讯的服务器可以随时把新的消息发给客户端,客户端也可以随时向腾讯的服务器发送信息、B/S 是「查询」式的通讯,客户端向服务器查询一些信息,在服务器回应之后,(逻辑上)会立刻断开连接。只有客户端向服务器查询时,服务器才能向客户端发送信息,服务器不能主动地向客户端发送信息。比如通过浏览器访问网站时,只有当你访问一个网站时,网站才可以向你提供信息。「访问」是一个瞬间的行为,当网页加载完成以后,网站就无法再发送额外的信息。简而言之,C/S 是双向通讯,B/S 是一问一答。

出处:请问CS结构和BS结构的详细区别?

代码调试中的问题和解决过程

本周的代码调试未出现什么问题。

代码托管

上周考试错题总结

主要是UML类图的连线,掌握的还是不够。

结对及互评

点评过的同学博客和代码

感悟

这周的学习因为放假有了松懈,希望下周能多多努力。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 100/100 1/4 10/10
第二周 100/200 1/5 10/20
第三周 100/300 1/6 10/30
第四周 300/700 1/7 10/40
第五周 400/1100 1/8 20/60
第六周 300/1400 1/9 20/80
第七周 500/1900 2/11 30/110
第八周 400/2300 1/12 30/140
第九周 400/2700 2/14 30/170
第十周 300/3000 1/15 20/190

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

  1. 20155323 2016-2017-2 《Java程序设计》第一周学习总结

    20155323 2016-2017-2 <Java程序设计>第一周学习总结 1.浏览教材,根据自己的理解每章提出一个问题 第一章:既然JDK本身附有一个JRE,那么JRE和JDK的区别在 ...

  2. 2018面向对象程序设计(Java)第10周学习指导及要求

    2018面向对象程序设计(Java)第10周学习指导及要求(2018.11.1-2018.11.4)  学习目标 理解泛型概念: 掌握泛型类的定义与使用: 掌握泛型方法的声明与使用: 掌握泛型接口的定 ...

  3. 面向对象程序设计(JAVA) 第10周学习指导及要求

    2019面向对象程序设计(Java)第10周学习指导及要求 (2019.11.1-2019.11.4)   学习目标 1.掌握java异常处理技术: 2.了解断言的用法: 3.了解日志的用途: 4.掌 ...

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

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

  5. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  6. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  7. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

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

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

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

随机推荐

  1. solr集群搭建(4.10.2)

    配置环境为centos6.8 下载tomcat程序到服务器,并解压启动服务测试 [root@hadoop01 ~]# wget http://apache.claz.org/tomcat/tomcat ...

  2. JQuery的getJSON函数跨域

    由于一开始看到“$”等类似符号就头晕,所以注定与PHP和JQuery无缘了,不过自己用JavaScript可不代表其他人也得用,这不,麻烦到了... 两个网站:A.B A站点提供了一个重要的API,由 ...

  3. python各种模块的使用

    Pexpect模块:http://www.ibm.com/developerworks/cn/linux/l-cn-pexpect1/ ConfigParser模块:http://blog.china ...

  4. ZTree 使用范例

    http://www.treejs.cn/v3/api.php zTree v3.x 入门指南 Api 文档 https://github.com/zTree/zTree_v3 下载ZTree v3 ...

  5. P3174 [HAOI2009]毛毛虫

    题目描述 对于一棵树,我们可以将某条链和与该链相连的边抽出来,看上去就象成一个毛毛虫,点数越多,毛毛虫就越大.例如下图左边的树(图 1 )抽出一部分就变成了右边的一个毛毛虫了(图 2 ). 输入输出格 ...

  6. Python 自动化paramiko操作linux使用shell命令,以及文件上传下载linux与windows之间的实现

    # coding=utf8 import paramiko """ /* python -m pip install paramiko python version 3. ...

  7. ZXing 二维码应用

    1.导入zxing代码和包 2.下面的类是解析二维码的主要类. package com.gaint.nebula.interaction.ui.zxing; import java.io.IOExce ...

  8. ArrayList两个对象之间的赋值

    List<String> list1 = new ArrayList<String>(); List<String> list2 = new ArrayList&l ...

  9. linux--yum源,源码包

    一.企业版 搜狐:http://mirrors.sohu.com/ 网易:http://mirrors.163.com/ 阿里云:http://mirrors.aliyun.com/ 腾讯:http: ...

  10. html中的meta元素及viewport属性值

    <meta name="viewport" content="width=device-width , initial-scale=1.0, maximum-sca ...