zoukankan      html  css  js  c++  java
  • 学号20155308 2016-2017-2 《Java程序设计》第6周学习总结

    学号20155308 2016-2017-2 《Java程序设计》第6周学习总结

    教材学习内容总结

    第十章 输入与输出
    目的:文件的读写;网络上传数据的基础;同样要掌握父类中方法。

    10.1 InputStream与OutputStream

    • 流(Stream)是对「输入输出」的抽象,注意「输入输出」是相对程序而言的:

    • System.in:标准输入,默认关联到键盘(终端输入)
      System.out:标准输出,默认关联到显示器(终端输出)
      System.err:标准错误,默认关联到显示器(终端输出)
      输入输出重定向:setIn,setOut,setErr

    • 装饰器类

    1. Decorator模式
    2. BufferedInputStream与BufferedOutputStream: 内部提供缓冲,提高效率
    3. DataInputStream与DataOutputStream:基本数据类型与字节的转换
    4. ObjectInputStream与ObjectOutputStream
    5. java.io.Serializable接口

    第十一章 线程与并行API
    11.1 线程

    • 线程生命周期

    • 线程控制的一些方法

    1. interrupt
    2. sleep
    3. join
    4. stop(Deprecated)
    5. resume(Deprecated)
    6. suspend(Deprecated)
    7. destroy(Deprecated)

    11.2 并行API

    • Lock
    • ReadWriteLock
    • Condition
    • Executor
    • ScheduledThreadPoolExecutor
    • ForkJoinPool
    • 并发Collection

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

    • 问题1:p305, IO.java: InputStrea/OutputStream的使用:
      代码中的-1怎么来的?有什么用?

    • 问题1解决方案:

    1. 抽象类InputStreamOutputStream

      方法read(), write(), close()

      流结束的判断方法 read()的返回值为-1

      readLine()返回值为null

    2. 文件读写类FileInputStreaFileOutputStream

      方法: read()方法将文件读入一个byte类型的数组,其数组长度可以由in.avalialbe()方法获得

      read(byte[], int off, int len) off指从流中读入的字节所放入数组中的开始数字, len指读入长度

      write(byte[], int off, int len) off指定数组的起始位置,从该位置起的字节写入流中,len指写入长度

    • 问题2:p325 TortoiseHareRace.java: 单线程版龟兔赛跑。flags数组有什么作用?

      C语言中需要这么处理吗?

    • 问题2解决方案:代码中的flags数组存储了随机生成的true和fales,用来判断兔子是否睡觉。如果定义flags数组的时候只存储了true那么兔子就会一直睡觉zzzz。

      C语言中不需要这么处理。

    • 问题3:P327 Tortoise.java Hare.java TortoiseHareRace2.java: 代码运行中发现了什么问题?


    出现了和书上结果不同的情况。

    • 问题3解决方案:还未找到...

    • 问题4p306 Copy.java: IO.java的测试类:
      我要自己建一个id.txt的文件,里面输入自己的学号,再把id.txt拷贝到id1.txt中。

    • 问题4解决方案:

    • 问题5p329 建立 Thread,是只有 Thread才可以使用简洁的Lambda表达式方法操作吗?

    • 问题5解决方案:

      或者

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

    • 问题1:出现乱码问题
    • 问题1解决方案:这是因为默认编码是IOS8859-1,需要转码
    String target=request.getParameter("xxx"); 
    String s= new String(target.getBytes("ISO8859_1"), "GBK");
    

    代码托管

    上周考试错题总结

    • 错题一

    输入"cd"命令并按回车键后,将会出现什么情况?

    A .从当前目录切换到根目录

    B .屏幕显示当前目录

    C .从当前目录切换为上一级目录

    D .从当前目录切换到用户主目录

    • 错题情况:没有掌握好命令行的问题,实际原因是自己没有多多应用

    • 答案:D。

    • 解析:在Linux命令提示中,用cd命令来改变当前目录。这是cd命令的一些基本用法:

      改变你的根路径,键入cd,按回车键。

      进入一个特定的目录,键入cd,空格,路径名(例如 cd /usr/local/lib),再按回车键。
      http://blog.163.com/jackylau_v/blog/static/175754040201291511197236/

    • 错题二

    • 集合API 中Set接口的特点是?

    A .不允许重复元素,元素有顺序

    B .允许重复元素,元素无顺序

    C .允许重复元素,元素有顺序

    D .不允许重复元素,元素无顺序

    • 错题情况:没有概括Set的应用,看书不仔细
    • 答案D。
    • 解析:有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
      http://blog.csdn.net/zuoanren/article/details/8619836
    • 错题三
    • 下列属于非受检异常的是哪项?
      A .SQLException

    B .IOException

    C .NullPointerException

    D .OutOfMemoryError

    结对及互评

    我的结对同学是黄月同学

    • 博客中值得学习的或问题: 代码中的调试问题那个模块写的很仔细,让我解决了很多困扰我已久的问题,给了我很多启示。
    • 代码中值得学习的或问题:我发现黄月的代码虽然不是特别多,但是精。
    • 基于评分标准,我给本博客打分:10分(14分)。得分情况如下:
    1. 正确使用Markdown语法:+1
    2. 模板中的要素齐全:+1
    3. 教材学习中的问题和解决过程:+5
    4. 代码调试中的问题和解决过程:+1
    5. 本周有效代码超过300分行的:+2
    6. 其他加分:排版精美:+1
      进度条中记录学习时间与改进情况:+1;
      代码Commit Message规范 :+1;
      感想,体会不假大空的+1。

    评分标准

    1. 正确使用Markdown语法(加1分):
    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
    1. 模板中的要素齐全(加1分)
    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
    1. 教材学习中的问题和解决过程, 一个问题加1分
    2. 代码调试中的问题和解决过程, 一个问题加1分
    3. 本周有效代码超过300分行的(加2分)
    • 一周提交次数少于20次的不加分
    1. 其他加分:
    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分
    1. 扣分:
    • 有抄袭的扣至0分
    • 代码作弊的扣至0分
    • 迟交作业的扣至0分

    点评模板:

    • 博客中值得学习的或问题: - xxx - xxx - ...
    • 代码中值得学习的或问题: - xxx - xxx - ...
    • 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx –
      参考示例

    点评过的同学博客和代码

    其他(感悟、思考等,可选)

    • 这一周的课程比较难,但是因为要到了清明节,所以我还是提前完成了自己学习。在看书本时我感觉到了根据学习的深入,自己的一些学习的漏洞和学习的不足就体现出来了。应该稳扎稳打,有不会的问题及时解决,否则问题就会堆积,然后感到后面的学习越来越吃力。
    • 通过这一周的学习,我发现书上的代码出现很多漏洞,每一次的调试都有很多问题,而且我自己也很难独自解决这些问题。结对学习是一个很好的方法,很好的解决了我的一些问题。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第六周 400/2100 2/13 30/150 了解输入与输出 、线程与并行API

    尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 耗时估计的公式 :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。 参考:软件工程软件的估计为什么这么难软件工程 估计方法

    • 计划学习时间:20小时
    • 实际学习时间:30小时
    • 改进情况:我这周利用了很多的时间在Java上,因为我发现了越到后面不懂得东西越来越多,我认为自己的时间还是有一定的保障的。

    (有空多看看现代软件工程 课件 软件工程师能力自我评价表)

    参考资料

  • 相关阅读:
    JQuery图片预览
    1.数组
    1.什么是C++
    安装PHPCMS 遇到的问题(fsockpen)
    解决采集时提示”没有找到网址列表,请先进行网址采集“的问题
    JAVA 常用的网站
    页面静态化
    我的C笔记系列一
    PHP缓存技术
    PHPCMS 采集规则
  • 原文地址:https://www.cnblogs.com/JIUSHA/p/6659595.html
Copyright © 2011-2022 走看看