20155204 2016-2017-2 《Java程序设计》第6周学习总结
教材学习内容总结
- 一切皆对象,输入输出也是类,线程也是
- String对象的trim方法去掉首尾空格和空字符
- filereader bufferreader 装饰者关系装饰者
- 被装饰者要作为参数传入装饰者
- 生成线程继承thread类,启动线程用start方法,用run就不是多线程
- 多线程实现:
一种办法:生成thread 子类,调用run方法。
另一种办法:先生成runable接口,再生成其实现类的对象,再新建thread对象(注意二者装饰关系,即runable 接口实现类的对象要传给thread) - 控制方法:thread.sleep()中断线程,thread.yield()让出cpu,setPriority()设定优先级,getpriority()获取优先级,优先级最大10最小1。
- 多线程共用同一份数据,会出错。解决方法:用synchronized(this),锁住的是()中的对象。
教材学习中的问题和解决过程
- 问题1:多个线程抢cpu,该怎么决定谁先谁后?
- 问题1解决方案:是随机的,但是我们可以控制,我找到了这篇博客 java中线程执行顺序控制
- 问题2:InputStream与Reader差别 OutputStream与Writer差别
- 问题2解决方案:InputStream和OutputStream类处理的是字节流,数据流中的最小单位是字节(8个bit)
Reader与Writer处理的是字符流,在处理字符流时涉及了字符编码的转换问题
代码调试中的问题和解决过程
-
问题1:在IDEA中运行程序遇到了如下图的错误。
-
问题1解决方案:查阅资料后得知,错误描述的是数组越界,而根据这个代码,应该是没有输入参数而导致的错误,在IDEA下输入参数我还没有找到合适的办法,所以转而在命令行下成功的运行
代码托管
上周考试错题总结
上周考试好像有点问题。。
结对及互评
评分标准
-
正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
-
模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
-
教材学习中的问题和解决过程, 一个问题加1分
-
代码调试中的问题和解决过程, 一个问题加1分
-
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
-
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
-
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评模板:
-
博客中值得学习的或问题:
-
代码中值得学习的或问题:
- xxx
- xxx
- ...
-
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
点评过的同学博客和代码
- 本周结对学习情况
-
结对照片
-
结对学习内容
互相解决问题,包括两篇博客的问题以及一些平常的小问题,我们都有一起讨论。
- 上周博客互评情况
其他(感悟、思考等,可选)
这周发现了学习视频,感觉学起来就完全不一样了,之前抱着80多页的课本啃啃啃,一周下来学的也是云里雾里,还十分劳累,课程的讲解思路清晰、重点分明,让我很快的就能进入状态,理解问题也比以前要省时省力。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 33/33 | 1/1 | 18/18 | |
第二周 | 124/157 | 2/2 | 16/34 | |
第三周 | 531/689 | 3/3 | 20/54 | |
第四周 | 550/1239 | 4/4 | 22/76 | |
第五周 | 847/2086 | 5/5 | 18/94 | |
第六周 | 1300/3386 | 6/6 | 20/114 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:22小时
-
实际学习时间:20小时
-
改进情况:
这次的学习时间把握的还可以,主要是敲代码省下了时间,很多重复的代码直接复制,把更多的时间花在了看视频学习上。
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)