20155315 2016-2017-2 《Java程序设计》第十周学习总结
学习目标
- 了解计算机网络基础
- 掌握Java Socket编程
- 理解混合密码系统
- 掌握Java 密码技术相关API的使用
学习资源
教材学习内容总结
1.计算机网络基础
- 在计算机网络中,现在命名IP地址的规定是IPv4协议,该协议规定每个IP地址由4个0-255之间的数字组成,例如10.0.120.34。每个计算机在联网以后都拥有一个唯一的合法IP地址。
- 一个IP地址可以对应多个域名,一个域名只能对应一个IP地址。
- 有了IP地址和端口的概念以后,在进行网络通讯交换时,就可以通过IP地址查找到该台计算机,然后通过端口标识这台计算机上的一个唯一的程序。这样就可以进行网络数据的交换了。
2.Java Socket编程
- 搭建服务器端
- 创建ServerSocket对象绑定监听端口
- 通过accept()方法监听客户端的请求。
- 建立连接后,通过输入输出流读取客户端发送的请求信息。
- 通过输出流向客户端发送请求信息。
- 关闭相关资源。
- 搭建客户器端
- 创建Socket对象,指明需要连接的服务器的地址和端口。
- 建立连接后,通过输出流向服务器发送请求信息。
- 通过输入流获取服务器的响应信息。
- 关闭响应资源
3.混合密码系统
将对称密码和公钥密码结合起来的密码方式称为混合密码系统。
- 对称密码(symmetric cryptography)是指在加密和解密时使用同一密钥的方式。
- 公钥密码(public-key cryptography)则是指在加密和解密时使用不同密钥的方式,公钥密码又称为非对称密码(asymmetric cryptography)。
4.Java 密码技术相关API
Java Security API提供了可互操作的算法和安全服务的实现。服务以provider的形式实现,可以以插件的形式植入应用程序中。程序员可以透明地使用这些服务,如此使得程序员可以集中精力在如何把安全组件集成到自己的应用程序中,而不是去实现这些安全功能。此外,除了Java提供的安全服务外,用户可以编写自定义的security provider,按需扩展Java的security平台。
教材学习中的问题和解决过程
- 问题1:掌握Java Socket编程与Java传统变成有什么区别?
- 解决1:
- Java Socket 可实现客户端--服务器间的双向实时通信。
- 传统的编程一般只有服务器到客户端的单向通信。- Java Socket编程更适合现代的通讯需要,使用Socket能实现客户端的反馈与服务器的随时更新。**
代码调试中的问题和解决过程
课堂上老师让我们用递归的方式比较数组中的数。之前使用递归函数定义的是单个变量,但老师要求的定义是数组。一开始,总是不知道怎么敲代码,编译了好几次都有错。也尝试过用一个新的变量代替数组中没一个数,但效果还是不好。最后依旧将形参定义为单个数组才完成要求。
其他的关于密码学的代码按照教程运行,没有明显的问题。
代码托管
用statistics脚本查看代码行数
代码提交结果
上周考试错题总结
本周考试的内容是第二次实验和数据库建立,暂时没有答案,还要继续学习数据库的知识。
结对及互评
评分标准(满分10分)
- 从0分加到10分为止
- 正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
- 模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
- 本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
6 其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
7 扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
点评模板:
- 博客中值得学习的或问题:
- xxx
- xxx
- ...
- 代码中值得学习的或问题:
- xxx
- xxx
- ...
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
-
点评过的同学博客和代码
- 20155301
- 20155219
- 20155220
体会
本周学习Java以及计算机网络基础和密码学的相关知识。这周的学习让我充分了解到学科融合的重要性。学习从来不只是一个学科的事,还要做到学以致用。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 20/20 | 1/1 | 10/10 | 安装了JDK、IDEA和Git,写了第一个Java程序 |
第二周 | 97/117 | 2/3 | 20/30 | 用Linux上传代码,熟悉修改文件的命令行 |
第三周 | 336/453 | 2/4 | 35/65 | 在Linux上安装JDK和IDEA,更熟悉vi的操作指令以及修改时需要注意的地方。 |
第四周 | 851/1304 | 1/5 | 25/90 | 学习用JDB调试程序 |
第五周 | 834/2138 | 1/7 | 32/122 | 能自己设计简单的程序,遇到问题也基本上能通过前面的学习和查资料解决,还有问题没有得到解决。 |
第六周 | 573/2711 | 1/8 | 15/137 | 理解课本中的内容并自己把之前的代码加以改正,更理解程序的作用,继续学习用JDB调试程序 |
第七周 | 400/3111 | 2/10 | 20/157 | 用IDEA编辑并调试程序,设置断点,完成了实验一 |
第八周 | 403/3511 | 1/11 | 20/177 | 熟悉通用API,深入学习代码并测试代码 |
第九周 | 1500/5011 | 2/13 | 20/217 | 了解了JDBC,章、第十七章和第十八章的内容,并检查以前的代码。共同学习实验二的内容,学习使用StarUML,用单元测试测试代码 |
第10周 | 1627/6638 | 1/14 | 20/237 | 使用递归和数组的方式使用命令行参数,学习Java以及计算机网络基础和密码学的相关知识 |
- 计划学习时间:25小时
- 实际学习时间:20小时
参考资料
20155315 2016-2017-2 《Java程序设计》第十周学习总结的更多相关文章
- 201521123027 <java程序设计>第十周学习总结
1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 异常: 多线程: 2.书面作业 Q1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 ...
- Java程序设计第十周学习总结
Java课程知识梳理: 流的区分; 字符流与字节流的区别: 字节流是直接操作文件本身的,如果没有关闭字节流操作,文件会依然输出内容 而字符流在程序运行之后会发现文件没有任何的内容,这是因为字符流操作的 ...
- 20155336 2016-2017-2《JAVA程序设计》第九周学习总结
20155336 2016-2017-2<JAVA程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBase Connectivity)即java数据库连接 ...
- 20155201 2016-2017-2 《Java程序设计》第九周学习总结
20155201 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC全名JavaDataBaseConnecticity,是Jav ...
- 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程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20145237 《Java程序设计》第九周学习总结
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
随机推荐
- (八)Linux之挂载命令
挂载命令 其实挂载在Linux中可以理解为分配盘符的意思.想一下,比如一张光盘插入了Linux系统的 电脑上,要想读取其中的内容,需要做哪些操作呢?首先你要考虑的是这张外来光盘的的数据也是 外来的,如 ...
- python 中的pipe
from multiprocessing import Process,Queue,Pipe import os def f(q): # q.send([42,None,'hello']) print ...
- BZOJ1049:[HAOI2006]数字序列(DP)
Description 现在我们有一个长度为n的整数序列A.但是它太不好看了,于是我们希望把它变成一个单调严格上升的序列. 但是不希望改变过多的数,也不希望改变的幅度太大. Input 第一行包含一个 ...
- 【[HNOI2008]GT考试】
我又来复习\(kmp\)了 其实这道题主要是一个矩阵乘法,但是\(kmp\)在其中也有着非常重要的作用 我们可以这样定义状态\(dp[i][j]\)表示文本串进行到了\(i\)位置,同时文本串在最后和 ...
- ValueError: Invalid leaf XXX
Bug:ValueError: Invalid leaf XXX 无效的搜索条件——检查search函数中的domain表达式格式!是否少了括号! search(['user_id', '=', us ...
- face++
1.链表反转 2.快排 3.m*k n*k两矩阵计算欧几里得距离np.tile 4.链表排序,要求时间复杂度小于O(N^2),空间O(1),不允许改变链表的值 5.2sum及其变体 6.给一个数组 ...
- STM8 亮灯程序
开发环境:ST Visual Develop+STM32 ST-LINK Utility+开发板 原理:定时向指定针脚输出高电平信号 /* MAIN.C file * * Copyright (c) ...
- mysql修改数据表自增步长
可以修改系统变量 auto_increment_increment mysql> SHOW VARIABLES LIKE 'auto_inc%'; +---------------------- ...
- 1002. A+B for Polynomials(25)—PAT 甲级
This time,you are supposed to find A+B where A+B are two polynomials. Input Each input file contains ...
- ztz11的noip模拟赛T2:查房
链接: https://www.luogu.org/problemnew/show/U46611 思路: 这道题告你n-1条边就是骗你的 部分分也是骗你的 这道题连对边5分钟的事 一个点对另一个点有影 ...