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

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

教材学习内容总结

网络

  • 网络分为局域网、广域网、城域网
  • 一次HTTP请求包含3个部分:①方法--统一资源标识符--协议/版本
    ② 请求头
    ③ 请求实体html

  • HTTP包含3个部分:①协议--状态码--说明;②响应头;③响应实体。
  • HTTP是URL中最常使用的协议
  • URLConnection类有两个布尔类型的字段,doInputdoOutput,他们分别表示URLConnection是用于读仍是写.java

  • 每一个HTTP请求均可以使用HTTP标准中指定的众多请求方法之一。HTTP/1.1支持7种类型的请求:GETPOSTHEADOPTIONSPUTDELETETRACE.GETPOST是互联网应用程序中最常使用的请求。android

  • 套接字是一个网络链接的端点。使得应用程序可以从网络读取或者向网络写入信息。git

  • 使用URL只能读取一个Web资源。要向服务器写内容,须要使用java.net.URLConnection对象。算法

Java与密码学

  • Java安全体系结构总共分为4个部分:

①JCA( Java Cryptography Architecture, Java加密体系结构):JCA提供基本的加密框架, 如证书、 数字签名、消息摘要和密钥对产生器。数据库

②JCE( Java Cryptography Extension, Java加密扩展包):JCE在JCA的基础上做了扩展, 提供了各类加密算法、 消息摘要算法和密钥管理等功能。JCE的实现主要在javax.crypto包( 及其子包) 中安全

③JSSE( Java Secure Sockets Extension, Java安全套接字扩展包):JSSE提供了基于SSL( Secure Sockets Layer,安全套接字层) 的加密功能。 在网络的传输过程当中, 信息会通过多个主机(颇有可能其中一台就被窃听) , 最终传送给接收者, 这是不安全的。这种确保网络通讯安全的服务就是由JSSE来提供的。服务器

④JAAS( Java Authentication and Authentication Service, Java鉴别与安全服务):JAAS提供了在Java平台上进行用户身份鉴别的功能。网络

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

  • 问题一:22.6中使用await而没有使用wait,二者的区别为?
  • 解决:

经常使用的wait方法有wait()和wait(long timeout);框架

void wait() 在其余线程调用此对象的 notify() 方法或者 notifyAll()方法前,致使当前线程等待。

void wait(long timeout)在其余线程调用此对象的notify() 方法 或者 notifyAll()方法,或者超过指定的时间量前,致使当前线程等待。

wait()后,线程会释放掉它所占有的“锁标志”,从而使线程所在对象中的其余shnchronized数据可被别的线程使用。

  • 问题二:Android权限Uri.parse
  • 解决:
  • 卸载

Uri uninstallUri = Uri.fromParts("package", "xxx", null);

returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri);

  • 安装

Uri installUri = Uri.fromParts("package", "xxx", null);

returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);

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

本周暂时没有调试的问题

代码托管

上周考试错题总结

暂不知上周的错题状况

结对及互评

评分标准

  1. 正确使用Markdown语法(加1分):
    • 不使用Markdown不加分
    • 有语法错误的不加分(连接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)
    • 缺乏“教材学习中的问题和解决过程”的不加分
    • 缺乏“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺乏“结对及互评”的不能打开的不加分
    • 缺乏“上周考试错题总结”的不能加分
    • 缺乏“进度条”的不能加分
    • 缺乏“参考资料”的不能加分
  3. 教材学习中的问题和解决过程, 一个问题加1分

  4. 代码调试中的问题和解决过程, 一个问题加1分

  5. 本周有效代码超过300分行的(加2分)
    • 一周提交次数少于20次的不加分
  6. 其余加分:
    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进状况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深刻的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习状况真实可信的加1分
  7. 扣分:
    • 有抄袭的扣至0分
    • 代码做弊的扣至0分
    • 迟交做业的扣至0分

点评过的同窗博客和代码

其余

本周学习了java与android开发学习指南的网络章节和java密码学算法,由于这几周都有作密码学的实验,是用c语言编写,而此次学习是用java对密码算法进行编写,发现了两种代码的差异。在学习网络板块时,发现java涉及的范围真的很广,在那么多领域都可以运用,因此咱们还要多增强对java的学习。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 15篇 400小时
第一周 9/9 1/1 20/20
第二周 162/171 1/2 25/45 学习java的基础语法
第三周 380/551 1/3 25/70 学习java对象及封装
第四周 831/1382 1/4 23/93 学习java的继承、接口与多态的运用
第五周 870/2252 1/5 20/113 学习java的异常处理和collection与map
第六周 1241/3493 1/6 22/135 学习java的输入输出、线程与Api,与搭档一块儿学习
第七周 429/3922 2/8 15/150 学习java的时间与日期、第一次实验
第八周 390/4312 1/9 18/168 学习java的通用API
第九周 929/5241 2/11 22/190 学习java的整合数据库、第二次实验
第十周 642/5883 1/12 22/212 学习java的密码学算法和andriod开发学习指南
  • 计划学习时间:25小时

  • 实际学习时间:22小时

  • 改进状况:本周在学习密码学算法和网络两板块花了较多时间理解代码,因此花的时间较多。

参考资料

相关文章
相关标签/搜索