20155312 2016-2017-2 《Java程序设计》第十周学习总结
20155312 2016-2017-2 《Java程序设计》第十周学习总结
课堂内容总结
- 数组
- 遍历数组:
- for(...,arr)
- for(i=0;i<arr.length;i++)
- for(i=arr.lengthl;i>0;i++) arr[i-1]
- 递归
- 遍历数组:
学习内容总结
- 网络
- 局域网:LAN
- 广域网:WAN
- 协议
- 应用层协议
超文本传输协议:HTTP
是一种请求响应协议
默认80号端口上的TCP
HTTP请求包括三个部分:
第一部分具体如下:
- 其中请求方法有以下七种:
- 其中请求方法有以下七种:
URL:互联网资源的唯一地址->java.net.URL类
URL构造方法:
URL实例调用openStream()打开一个URL流==URLConnection的getInputStream()
构造一个URLConnection实例:openConnection()
HTTP请求包括三个部分
FIP
telnet
- 传输层协议
- TCP
- UDP
- 网络层
- "街道地址":IP(端口是网络系统中地址的最小单位)
- 应用层协议
学习过程中的问题
- 问题一:HTTP请求的7种方法GET,POST,HEAD,OPTIONS,PUT,DELETE,TRACE之间有什么不同?其具体含义是什么?
- 解决:经过查阅资料,发现一共有八中请求方法,除了上述7种,还有CONNECTION。他们的差别如下:
- GET方法:它本质就是发送一个请求来取得服务器上的某一资源。
- 资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。
- GET请求中,永远不会包含呈现数据。
- eg:
GET /C/9/5/1_kfanning.jpg HTTP/1.1
- POST方法:向URL指定的资源提交数据或附加新的数据。
- 一般来说,提交表单数据都用POST方法。
- GET 与 POST的区别如下:
- (GET 与 POST的区别)
- PUT方法:向服务器提交数据。
PUT方法请求服务器去把请求里的实体存储在请求URI(Request-URI)标识下。如果请求URI(Request-URI)指定的的资源已经在源服务器上存在,那么此请求里的实体应该被当作是源服务器关于此URI所指定资源实体的最新修改版本。如果请求RI(Request-URI)指定的资源不存在,并且此URI被用户代理定义为一个新资源,那么源服务器就应该根据请求里的实体创建一个此URI所标识下的资源。
如果一个新的资源被创建了,源服务器必须能向用户代理(useragent)发送201(已创建)响应。如果已存在的资源被改变了,那么源服务器应该发送200(Ok)或者204(无内容)响应。如果资源不能根据请求URI创建或者改变,一个合适的错误响应应该给出以反应问题的性质。
实体的接收者不能忽略任何它不理解和不能实现的Content-* (如:Content-Range)头域,并且必须返回501(没有被实现)响应。如果请求穿过一个缓存(cache),并且此请求URI(Request-URI)指示了一个或多个当前缓存的实体,那么这些实体应该被看作是旧的。PUT方法的响应是不可缓存的。
- HEAD方法:只请求页面的首部。
- DELETE方法:删除服务器上的某资源。
- OPTIONS方法:用于获取当前URL所支持的方法。
- 如果请求成功,会有一个Allow的头包含类似“GET,POST”这样的信息。
- TRACE方法:被用于激发一个远程的,应用层的请求消息回路。
- CONNECT方法:把请求连接转换到透明的TCP/IP通道。
- 问题二:网关和代理的区别是什么?
- 解决:网关可以进行协议转换,而代理不能,只是起代理的作用,比如缓存服务器其实就是一个代理。
- 问题三:PUT和POST的区别是什么?
- 解决: 查询资料,总结如下:
- PUT指定了资源在服务器上的位置,而POST没有。
- POST方法和PUT方法请求最根本的区别是请求URI(Request-URI)的含义不同。
- POST请求里的URI 指示一个能处理请求实体的资源。此资源可能是一个数据接收过程,一个网关,或者一个单独接收注释的实体。
- PUT方法请求里的URI标识请求里封装的实体一一用户代理知道URI意指什么,并且服务器不能把此请求应用于其它资源(resource)。PUT方法请求里的实体头域应该被用于资源的创建或修改。
代码调试中的问题
- 问题一: URLConnectionDemo1.java中的下面这两行代码时什么意思?
Map<String, List<String>> headers = urlConnection.getHeaderFields();
Set<Map.Entry<String, List<String>>> entrySet = headers.entrySet();
- 解决:
查询了Map的API,如下图所示:K是“此映射所维护的键的类型”,上段代码中键类型为String,V是“映射值的类型”,这里是一个String类型的链表。getHeaderFields用于读取此URL引用的资源。
Set是一个不包含重复元素的 collection。其成员类型为
Map.Entry<String, List<String>>
Map.Entry其中是映射项(键-值对)。截图如下:
查询entrySet方法:它返回此映射中包含的映射关系的 Set 视图。
代码托管
上周考试错题总结
目前暂不知道试题的具体答案。
结对及互评
这周我对搭档的帮助是和她一起分析电子版教材中网络方面的代码,解决我们不明白的模块并督促双方学习。
评分标准
正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评模板:
博客中值得学习的或问题:
- xxx
- xxx
- ...
代码中值得学习的或问题:
- xxx
- xxx
- ...
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
点评过的同学博客和代码
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 4/0 | 1/3 | 28/80 | 下载了JDK和GIT |
第二周 | 61/4 | 1/4 | 20/108 | 在unbuntu中熟练编写程序,熟练进行文件、目录等操作 |
第三周 | 684/65 | 1/5 | 27/108 | 初步配置vim方便使用,会自己解决一些代码问题 |
第四周 | 1238/749 | 1/6 | 23/135 | 大部分自己补全的代码片段不会出现问题,渐渐具备脱离书本编代码的能力 |
第五周 | 627/1987 | 1/7 | 20/158 | 能够帮助其他同学发现代码出错的原因 |
第六周 | 414/2614 | 1/8 | 24/178 | 能够整理出教材中各种类、接口、方法之间的相互关系,理清知识脉络 |
第七周 | 564/3028 | 2/9 | 17/202 | 借室友的书进行学习,所以学习时更加注重理解和记忆 |
第八周 | 280/3592 | 1/11 | 20/219 | 借室友的书进行学习,所以学习时更加注重理解和记忆 |
第九周 | 300/3872 | 2/12 | 20/239 | 借室友的书进行学习,所以学习时更加注重理解和记忆 |
第十周 | 899/4172 | 1/14 | 18/259 | 对Java在网络上的应用有了更多了解 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:20小时
实际学习时间:18小时
改进情况:重点学习Java for Android。分析代码能力提升。
参考资料
20155312 2016-2017-2 《Java程序设计》第十周学习总结的更多相关文章
- 201521123027 <java程序设计>第十周学习总结
1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 异常: 多线程: 2.书面作业 Q1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 ...
- Java程序设计第十周学习总结
Java课程知识梳理: 流的区分; 字符流与字节流的区别: 字节流是直接操作文件本身的,如果没有关闭字节流操作,文件会依然输出内容 而字符流在程序运行之后会发现文件没有任何的内容,这是因为字符流操作的 ...
- 20155312 2016-2017-2 《Java程序设计》第九周学习总结
20155312 2016-2017-2 <Java程序设计>第九周学习总结 课堂内容总结 两个类有公用的东西放在父类里. 面向对象的三要素 封装 继承 多态:用父类声明引用,子类生成对象 ...
- 20155312 2006-2007-2 《Java程序设计》第二周学习总结
20155312 2006-2007-2 <Java程序设计>第二周学习总结 课堂内容总结 git:版本控制 生活中的容灾备份 归纳思维.实验思维.计算思维 计算机:实现自动化 学会使用快 ...
- 20155333 2016-2017-2 《Java程序设计》第九周学习总结
20155333 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC(Java DataBase Connectivity) 驱动的四种类型 JDBC- ...
- 20155213 2016-2017-2 《Java程序设计》第九周学习总结
20155213 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBase Connectivity)即java数据库连 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
随机推荐
- CentOS 系统时间与硬件时间
date 系统时间查看 date -s 'YYYYMMDD HHMMSS' 设置系统时间 hwclock 硬件时间查看 hwclock -w 将系统时间同步到硬件时间 cp /usr/share/zo ...
- 江西财经大学第一届程序设计竞赛 G题 小Q的口袋校园
链接:https://www.nowcoder.com/acm/contest/115/G来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...
- PAT1021(dfs 连通分量)
A graph which is connected and acyclic can be considered a tree. The height of the tree depends on t ...
- 4. Median of Two Sorted Arrays (二分法;递归的结束条件)
There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two ...
- PHP-自动加载原理分析
说起PHP的自动加载,很多同学可能都会想到各种框架的自动加载功能,PHP规范中的PSR0和PSR4原则,Composer的自动加载功能等等,这些都为我们的开发提供了很大的方便. 那么PHP自动加载的前 ...
- f5主备切换演练
1.准备工作: 1)保证主备机同步 2)备份主备机配置 2.切换:所有操作均在主机 方法1:shutdown主机上联的核心交换机的端口: 此方法在主备切换过程中会丢1个包 方法2:命令行下reboot ...
- css定位研究
css的定位是很重要的一个知识点,要学会网页布局,一定要先把定位弄清楚,今天抽空整理一下这方面的知识. 1.块级元素和行内元素(内联元素) 块级元素:display值为block的元素就是块级元素,比 ...
- how2j学习日志——J2EE(2018年3月28日)
1. 开始跟着站长学习J2EE,首页是简单的Tomcat安装和部署,我从官网上下载的是7.0.85版本,修改server.xml中的默认端口号为80.80端口是web服务的默认端口,因此在浏览器上输入 ...
- 1-跑Faster R-CNN项目中的一些问题
原理介绍: https://blog.csdn.net/quincuntial/article/details/79132243 我用的环境: Python 3.5.2 cpu版的ten ...
- es6问答
1. 箭头函数的特点 *箭头函数this的指向是定义时所在的对象,而不是使用时所在的对象: * 箭头函数不能做构造函数 * 不能使用argument对象 *不能使用yield命令 2.let cons ...