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

教材学习内容总结

  1. Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象。
  2. dump()方法并没有限定来源或目的地的真实形式,而是依赖于抽象的InputStream、OutputStream。
  3. InputStream、OutStream提供串流基本操作,如果想要为输入/输出的数据做加工处理,则可以使用打包器类。常用的打包器具备缓冲区作用的BufferedOutputStream、BufferedInputStream,具备数据转换处理的DataInputStream、DataOutputStream,具备对象串行化能力的ObjectInputStream、ObjectOutputStream等。
  4. 在java中,从main()开始的流程会由主线程执行,可以创建Thread实例来执行Runnable实例定义的run()方法。
  5. 撰写多线程程序的方式:
    1.将流程定义在Runnable的run()方法中
  6. 2.继承Thread类,重新定义run()方法
  7. wait()、notify()、notifyAll()是Object定义的方法,可以通过这3个方法控制线程释放对象的锁定,或者通知线程参与锁定竞争。
  8. CopyOnWriteArrayList操作了List接口,这个类的实例在写入操作是,内部会建立新数组,并复制原有数组索引的参考,然后在新数组上进行写入操作,写入完成后,再将内部原参考旧数组的变量参考至新数组。

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

  • 问题1:什么是IO
  • 问题1解决方案: Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。
  • 问题2:File的作用
  • 问题2解决方案:在Java语言的java.io包中,由File类提供了描述文件和目录的操作与管理方法。但File类不是InputStream、OutputStream或Reader、Writer的子类,因为它不负责数据的输入输出,而专门用来管理磁盘文件与目录。作用:File类主要用于命名文件、查询文件属性和处理文件目录。
  • 问题3:什么是并发
  • 问题3解决方案:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。这里需要注意并发和并行是不同的两个概念。并发是指一个时间段内同时运行,这是个区间;而并行是指在同一个时间点上运行,这个是一个点。而且并发在同一个时间点上只能是一个程序在运行。
  • 问题4:进程和线程之间有什么不同?
  • 问题4解决方案:一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。

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

  • 问题1:XXXXXX

  • 问题1解决方案:st是String类型,System.in.read()读取一个字节,然后转换成一个int型的数,给返回,想用st去接,但是因为类型不一致,所以使用这个(String) ,是不可以的,强制类型转换得能转才行,基本数据类型和基本数据类型之间转换,引用数据类型和引用数据类型之间转换,可以,但是引用类型和基本类型之间就不行了,引用类型是类,是对象。
  • 问题2:

  • 问题2解决方案:看到前面的程序发现,我将Tortoise错误的定义为了private,将其改为public即可。

代码托管

上周考试错题总结

1.假设有自定义异常类ServiceException,那么抛出该异常的语句正确的是(B)
A .
raise ServiceException
B .
throw new ServiceException()
C .
throw ServiceException
D .
throws
2.下列哪些项是泛型的优点? (A,C)
A .
不用向下强制类型转换
B .代码容易编写
C .类型安全D .运行速度快

3.关于try...catch...finally结构,描述正确的是哪些?(A,C)

A .
可以有多个catch

B .
只能有一个catch

C .
可以没有catch

D .
finally必须有

结对及互评

评分标准

  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分

点评模板:

  • 博客中值得学习的或问题:

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

  • 参考示例

点评过的同学博客和代码

  • 本周结对学习情况

    • 20155205
    • 结对照片
    • 结对学习内容
      -复习上周所学的内容

      • 通过学习视频来学习第10,11章的内容,发现有人讲解真的不一样,轻松了很多。
      • ...
  • 上周博客互评情况

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

感觉学习的内容越来越难了,java占用我大量的课外时间,这周我因为写了一个数据结构的综合实验,花了不少时间,所以这周学习有点吃力,但有了视频,学习会容易一点。

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 15/15 1/4 12/12
第二周 140/155 1/5 18/30
第三周 677/817 1/ 6 20/50
第四周 583/1400 1/7 20/70
第五周 540/1940 1/8 22/92
第六周 362/2302 1/9 13/105
  • 计划学习时间:12小时

  • 实际学习时间:13小时

  • 改进情况:学习时更加的专心,所以时间把握的更准确。

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

参考资料

最新文章

  1. C# 委托应用总结
  2. Unity学习疑问记录之查找
  3. web服务器软件集成包问题
  4. javascript设计模式(单体模式)
  5. 1.3 Content Provider
  6. java 20 - 4 IO流概述和一个简单例子解析
  7. Swift学习笔记十一
  8. JavaWeb 学习的第一阶段总结
  9. ETL工具框架开源软件
  10. oc随笔五:NSArray
  11. WPF 采用Border创建圆角
  12. Makefile 管理工具 — Automake and Autoconf
  13. if else 和switch case以及continue,break的区别
  14. 基于 HTML5 的电力接线图 SCADA 应用
  15. @为Java注解
  16. android 自定义控件用的定时CountDownTimer
  17. ORM表相关操作
  18. Windows系统CMD下常用命令
  19. 论文阅读笔记五十二:CornerNet-Lite: Efficient Keypoint Based Object Detection(CVPR2019)
  20. SecureCRT8.1发送命令到多个或所有linux终端

热门文章

  1. SOA和微服务到底是什么关系
  2. hibernate注解主键生成策略
  3. asp.net cors solution
  4. WEB性能测试工具
  5. python中迭代问题
  6. golang 打印变量类型
  7. tf.FIFOQueue()
  8. Dice
  9. mysql的外键知识
  10. python模块之time模块