2016-2017-2 《Java程序设计》第六周学习总结
2017-04-02 16:09
302 查看
20155223 2016-2017-2 《Java程序设计》第六周学习总结
教材学习内容总结
第十章
InputStream、OutputStream:无论数据源或目的地为何,只要设法取得InputStream或OutputStream的实例,接下类操作输入/输出的方式都是一致的,无须理会来源或目的地的真正形式。Dump():dump()方法接受InputStream与OutputStream的相关操作,分别代表读取数据的来源,以及输出数据的目的地。
输入/输出若发生错误,程序会抛出java.io.IOExcpection异常,在程序当中不作特别处理,而是在dump()方法声明throws,由调用dump()方法的客户端处理。
要想重新制定标准输入来源,可以使用System的setIn()方法指定InputStream实例,比如System.setIn(newFileInputStream(args[0])),可以读取指定文档并显示在文本模式。
以File开头的Stream子类,可以指定文件名创建实例用来读取数据/写出数据,不使用实例时使用close()关闭文档。
串流处理装饰器:
Buffered:先将数据转移到电脑内存的缓冲区,后续调用read()方法先看看缓冲区有没有数据,有就从缓冲区读取,没有就从来源读取数据到缓冲区,从而提高读取效率。
Data:自动在指定的类型与字节间转换。
Object:将内存中的对象整个存储下来,之后再读入还原为对象。读入/读出方法:readObject()/writeObject()。
Reader和Writer继承架构:Reader抽象化字符数据读入的来源,Writer抽象化了数据写出的目的地。不用时必须使用close()方法关闭串流。
字符处理装饰器:
InputStreamReader与OutputStreamWriter可以对串流数据打包。
BufferedReader与BufferedWriter:与前面的Buffered串流装饰器作用相同,可以为输入/输出提供缓冲区的作用
PrintWriter(没用过):与PrintStream类似,不过可以对Writer进行打包,提供print()、println()、format()方法。
第十一章
线程容许有限个程序同时(也许是交替)运行,并将运行结果放出。Daemon线程与产生它的背景服务线程同生死,故其生命周期由其背景服务线程而定。
Thread有三种工作状态:Runnable、Running、Blocked。线程有其优先权,setPriority()方法可以为其设定优先权,设定值1~10,不在此范围的设定值会当成非法值抛出。我手贱设置线程优先值到11,然后系统就报错了。
Thread.sleep()可以将线程强制进入休眠状态,其他线程若想调用休眠线程,系统将会抛出InterruptedException异常对象来唤醒该休眠线程。
join()方法可以让其他线程加入正在运行的线程。
ThreadGroup像用户组那样,将线程集中一起,按照预设的优先权来逐个运行。
多个线程运行会出现竞争,使用wait()方法可以有效避免竞争,使用notify()方法可以调用(还是通知?)处在等待队列中的线程进入运行状态。
各类Lock锁定方法,都是让synchronized运行的语言,Lock锁定对象后,synchronized才可运行其区块内的程序。
Executor接口的目的是将Runnable的指定与实际如何执行分离(?)。
教材学习中的问题和解决过程
问题1:并行Collection里面的程序我没明白,可能Collection有其他方法我没看到?问题1解决方案:再写写,再扁扁。
代码调试中的问题和解决过程
问题1:课本343页的那个有几率发生死结的程序,我想知道为什么会发生这种情况。问题1解决方案:目前还没有任何程序运行结果能够证明我的猜测,我试图减少或增加程序段来改变运行结果,但是还是没有与未修改前的输出结果不同的回应。
代码托管
上周考试错题总结
不好意思,我没看见有答案参考……结对及互评
评分标准
正确使用Markdown语法(加1分):不使用Markdown不加分
有语法错误的不加分(链接打不开,表格不对,列表不正确...)
排版混乱的不加分
模板中的要素齐全(加1分)
缺少“教材学习中的问题和解决过程”的不加分
缺少“代码调试中的问题和解决过程”的不加分
代码托管不能打开的不加分
缺少“结对及互评”的不能打开的不加分
缺少“上周考试错题总结”的不能加分
缺少“进度条”的不能加分
缺少“参考资料”的不能加分
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
本周有效代码超过300分行的(加2分)
一周提交次数少于20次的不加分
其他加分:
周五前发博客的加1分
感想,体会不假大空的加1分
排版精美的加一分
进度条中记录学习时间与改进情况的加1分
有动手写新代码的加1分
课后选择题有验证的加1分
代码Commit Message规范的加1分
错题学习深入的加1分
点评认真,能指出博客和代码中的问题的加1分
结对学习情况真实可信的加1分
扣分:
有抄袭的扣至0分
代码作弊的扣至0分
迟交作业的扣至0分
点评模板:
博客中值得学习的或问题:尽管对书上的每一条信息都做了摘抄,但是内容太多让我又有种密集恐惧症的感觉。
代码中值得学习的或问题:
遇到问题及时找人解决,这值得我学习。
基于评分标准,我给本博客打分:9分。得分情况如下:
正确使用Markdown语法(加1分):
模板中的要素齐全(加1分)
教材学习中的问题和解决过程, 加1分
代码调试中的问题和解决过程, 加1分
本周有效代码超过300分行,加2分
6 其他加分,加3分 :
进度条中记录学习时间与改进情况的加1分
错题学习深入的加1分
代码Commit Message规范的加1分
点评过的同学博客和代码
本周结对学习情况20155207
结对照片(暂无)
结对学习内容
上周博客互评情况
20155203
20155209
20155211
20155332
20145234
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 27/27 | 1/1 | 18/18 | |
第二周 | 57/97 | 1/2 | 24/42 | |
第三周 | 220/284 | 1/3 | 36/78 | 函数封装还学不会 |
第四周 | 408/692 | 1/4 | 44/122 | 知道怎么封装函数了;分得清继承和接口。 |
第五周 | 410/1102 | 1/5 | 40/162 | 没什么好疑惑的 |
第六周 | 390/1492 | 1/6 | 27/189 |
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:30小时
实际学习时间:27小时
改进情况:
跑去参观别人的代码……顿时感觉自己的代码就像过家家那样幼稚。Orz
参考资料
Java学习笔记(第8版)《Java学习笔记(第8版)》学习指导
相关文章推荐
- 20155230 2016-2017-2《Java程序设计》第六周学习总结
- # 20155337 2016-2017-2 《Java程序设计》第六周学习总结
- 20155216 2016-2017-2 《Java程序设计》第六周学习总结
- 20155319 2016-2017-2 《Java程序设计》第六周学习总结
- 20155305乔磊2016-2017-2《Java程序设计》第六周学习总结
- 20155321 2016-2017-2 《Java程序设计》第六周学习总结
- 20155313 2016-2017-2 《Java程序设计》第六周学习总结
- # 20155209 2016-2017-2 《Java程序设计》第六周学习总结
- 20155211 2016-2017-2 《Java程序设计》第六周学习总结
- 20155334 2016-2017-2 《Java程序设计》第六周学习总结
- 20155304 2016-2017-2 《Java程序设计》第六周学习总结
- 20155336 2016-2017-2《JAVA程序设计》第六周学习总结
- 20155330 2016-2017-2 《Java程序设计》第六周学习总结
- 20155201 2016-2017-2 《Java程序设计》第六周学习总结
- 20155227 2016-2017-2 《Java程序设计》第六周学习总结
- 20155318 2016-2017-2 《Java程序设计》第六周学习总结
- 20155236 2016-2017-2 《Java程序设计》第六周学习总结
- 20155328 2016-2017-2 《Java程序设计》第六周 学习总结
- 20155207王雪纯 2016-2017-2 《Java程序设计》第六周学习总结
- 20155213 2016-2017-2 《Java程序设计》第六周学习总结