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


教材学习内容总结

  • 第十章 输入/输出

    • 字节输入类:
    1. Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的事串流对象。从应用程序角度来看,将数据从来源取出,使用输入串流java.io.InputStream;如果将数据写入目的地,可以使用输出串流java.io.OutputStream
    2. 串流继承架构

    3. ObjectInputStream提供readObject()方法将数据读入为对象,而ObjectOutputStream提供writeObject()方法将对象写至目的地。
    • 字符输入类:
    1. 针对字符数据的读取,Java SE提供了java.io.Reader类,抽象化了字符数据读入的来源;
      针对字符数据的写入,提供了java.io.Writer
      ,抽象化了数据写出的目的地。
    2. 就装饰器的作用而言,
      InputStreamReader
      System.in读入的字节数据做编码转换,而BufferedReader将编码转换后的数据做缓冲处理,以增加读取效率。
  • 第十一章 线程与并行API
    • 线程
    1. 单线线程程序就是自启动的程序从main()程序进入点开始至结束只有一个流程。多线程:在同一应用程序中,有多个流程被同时执行。
    2. 线程生命周期:调用Thread实例start()方法后,基本状态为可执行(Runnable)、被阻断(Blocked)、执行中(Running)。
    • 并行API
    1. 使用Thread建立多线程程序,必须亲自处理synchronized、对象锁定、wait()notify()notifyAll()等细节。

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

  • 问题1:在学习死结部分时,编译运行P343 DeadLockDemo.java代码,有时发生死结,有时不发生:


  • 问题1解决方案:书上的解释是这样:发生死结的原因在于,thread1在调用resource1.corportate(resource2)时,会取得r1的锁定,若此时thread2也正好调用resource2.corportate(resource1),取得r2的锁定,凑巧thread1现在打算运用传入的r2调用doSome(),理应取得r2的锁定,但锁定现在被t2拿走了,于是t1进入阻断,而t2也打算运用传入的r1调用doSome(),理应取得r1的锁定,但锁定现在是t1取走,于是t2进入等待。
  • 问题2:之前第四章的课后题中有输出斐波那契数列的题,我自己编的代码是这样:
    没有调用函数,只是用了数组。
    int[] fb=new int[num];fb[0]=0;fb[1]=1;int i=0;for(i=0;i<num;i++){if(i>1){fb[i]=fb[i-1]+fb[i-2];}
  • 问题2解决方案:书上输出斐波那契数列选择的方法是递归调用函数:
static long fibonacci(long n) {if (n <= 1) {return n;}return fibonacci(n - 1) + fibonacci(n - 2);}

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

  • 问题1:在编译P315代码时,出现了问题:

  • 问题1解决方案:发现书上省略了定义get、set的方法,补全代码如下

public String getNumber() {return number;}public void setNumber(String number) {this.number = number;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}

编译通过。

代码托管

上周考试错题总结

  • 现有:

    1. import java.util.*;
      2.
    2. Class FindStuff {
      4.public static void main (String[]args) {
      5, //insert code here
      6. c.put ("X", 123);
      7. }
    3. }

分别插入到第5行,哪几行允许代码编译?

A .Map c= new SortedMap();

B .HashMap c= new HashMap();

C .HashMap c= new Hashtable();

D .SortedMap c= new TreeMap();

E .ArrayList c= new ArrayList();

F . Map c = new LinkedHashMap();
答案:BDF


结对及互评

  • 结对:

    • 20155313杨瀚

    基于评分标准,我给本博客打分:8分。得分情况如下:

    1. 正确使用Markdown语法:加1分
    2. 模板中的要素齐全:加1分
    3. 代码调试中的问题和解决过程:加1分
    4. 感想,体会不假大空:加1分
    5. 排版精美:加1分
    6. 进度条中记录学习时间与改进情况:加1分
    7. 错题学习深入:加1分

    博客中值得学习的或问题:参考搭档的教材内容总结,对前两章的学习又有了新的理解。

    代码中值得学习的或问题:对照搭档的问题,我修改了自己的代码,程序成功编译。

  • 小组:
    • 20155117王震宇

    基于评分标准,我给本博客打分: 9分。得分情况如下:

    1. 正确使用Markdown语法:加1分
    2. 教材学习中的问题和解决过程,:加1分
    3. 代码调试中的问题和解决过程,:加2分
    4. 本周有效代码超过300分行:加2分
    5. 排版精美的加1分
    6. 进度条中记录学习时间与改进情况的加1分
    7. 有动手写新代码的加1分

    博客中值得学习的或问题:该同学的标题写错了,应该是2016-2017学期

    • 20155335俞昆

    基于评分标准,我给本博客打分:3分。得分情况如下:

    1. 错题学习深入:加1分
    2. 教材中的问题和解决过程:加2分
    • 20155322秦诗茂

    基于评分标准,我给本博客打分:9分。得分情况如下:

    1. 正确使用Markdown语法:加1分
    2. 模板中的要素齐全:加1分
    3. 教材学习中的问题和解决过程:加1分
    4. 本周有效代码超过300分行的:加2分
    5. 排版精美:加1分
    6. 进度条中记录学习时间与改进情况:加1分
    7. 有动手写新代码:加1分
    8. 错题学习深入:加1分
    • 20155311高梓云

    基于评分标准,我给本博客打分:8分。得分情况如下:

    1. 正确使用Markdown语法:加1分
    2. 模板中的要素齐全:加1分
    3. 教材学习中的问题和解决过程:加1分
    4. 感想,体会不假大空:加1分
    5. 排版精美:加一分
    6. 进度条中记录学习时间与改进情况:加1分
    7. 有动手写新代码:加1分
    8. 代码Commit Message规范:加1分

点评过的同学博客和代码

  • 20155313杨瀚
  • 20155117王震宇
  • 20155311高梓云
  • 20155322秦诗茂
  • 20155335俞昆

感悟与思考

这周正好赶上清明节放假,因为时间安排,提前两天完成任务。当然时间不够充裕,也许学习过程中有落下的部分,课后会仔细看看书。这周代码量更多了,一点一点敲确实有点繁冗枯燥,但是我相信再经过深入学习,会有一天把写代码看作跟日常吃饭睡觉一样平常。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
第六周 1761/3365 1/1 15/92
  • 计划学习时间:17小时

  • 实际学习时间:15小时

  • 改进情况:这周没达到学习目标,本来想周六仔细看看书,但是周六白天上课,只好晚上再加班。

参考资料

  • Java学习笔记(第8版)

  • 《Java学习笔记(第8版)》学习指导

转载于:https://www.cnblogs.com/zhuohua/p/6655018.html

20155201 2016-2017-2 《Java程序设计》第六周学习总结相关推荐

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

    20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...

  2. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  3. 20165203 2017-2018-2 《Java程序设计》第一周学习总结

    20165203 2017-2018-2<Java程序设计>第一周学习总结 教材学习内容总结 (一)Java的地位 Java是面向对象编程,并涉及网络.多线程等重要的基础知识,是一门很好的 ...

  4. 20155229 2016-2007-2 《Java程序设计》第一周学习总结

    20155229 2016-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 1~18章的提问: 第一章:怎样撰写Java才不会沦于死背API文件.使用"复制. ...

  5. 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...

  6. 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结

    20155305 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与 ...

  7. 20155210潘滢昊 2016-2017-2《Java程序设计》第一周学习总结

    20155210 2016-2017-2<Java程序设计>第一周学习总结 教材学习内容总结 1.1.1: 本节主要讲了Java的由来,1995年5月23日是Java公认的诞生日.还有版本 ...

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

    20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...

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

    20172318 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 在教材中基本明白了计算机系统的运行方式,了解了对于高级语言是使用是掌握好编程的关键,掌握了一 ...

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

    20175208 2018-2019-2 <Java程序设计>第九周学习总结 一.教材学习内容总结: 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系 ...

最新文章

  1. 阿里巴巴开源:一次采集轻松解决多摄像机和3D激光雷达标定
  2. this.$router.go()和this.$router.push()的区别
  3. 水木告白工作室:Java从零入门之模仿头条资讯(一)
  4. 1 echo();2 print();3 die();4 printf();5 sprintf();6 print_r();7 var_dump(); 区别
  5. RTSP/RTP/RTCP协议的区别
  6. 使用R的金融统计:收益、随机行走和模拟
  7. Android笔记:触摸事件的分析与总结----TouchEvent处理机制
  8. 面试字节跳动社招,我工资涨了60%,附带面经
  9. 小米球ngrok如何后台启动
  10. OpenWrt 学习笔记【5】内核配置
  11. FastFDS--文件服务系统
  12. 台达PLC实现伺服电机的正反转
  13. TD回撤/斐波那契回撤
  14. - Wireless Network POJ - 2236
  15. 浅尝辄止_数学建模(笔记_系统(层次)聚类算法及其SPSS实现)
  16. TypeScript里的工具类型Partial的理解用法
  17. Golang 定时任务 github/robfig/cron/v3 使用与源码解析
  18. Get Out of My Lab: Large-scale, Real-Time Visual-Inertial Localization文章理解
  19. 游戏服务器主程白皮书-概述
  20. 《自学大全》—营造学习氛围

热门文章

  1. phpnow升级mysql版本_phpnow1.5.6-1升级phpmyadmin,php及mysql版本
  2. 【VR】(四)VR设备盘点
  3. String slices
  4. 3W 字 Docker 容器技术大科普
  5. [BZOJ3503][CQOI2014]和谐矩阵
  6. Linux7网卡绑定后mac一样,如何解决双网卡bond0绑定模式物理成员口的mac地址和bonding接口mac地址不一致......
  7. 《COMPLETE MAYA PRO GRAMMIN G VOLUME II》导言
  8. ndows movie maker,Windows Movie Maker
  9. 小猪短租陈驰:共享经济不是简单的资本游戏
  10. win7黑屏,提示副本不是正版的激活解决办法