20155238 2016-2017-2 《Java程序设计》第六周学习总结
教材学习内容总结
第十章
串流设计
输入串流:将数据从来源取出。
输出串流:将数据写入目的地。
输入串流代表对象为
java.io.InputStream实例输出串流代表对象为
java.io.OutputStream实例dump()方法接受InputStream与OutputStream实例
在不使用InputStream与OutputStream时,必须使用close()方法关闭串流
串流继承架构

FileInputStream是InputStream的子类,可以指定文件名创建实例,一旦创建文档就开启,接着就可用来读取数据。
FileOutputStream是OutputStream的子类,可以指定文件名穿件实例,一旦创建文档就开启,接着就可以用来写数据。不使用是都要使用close()关闭文档。
ByteArrayInputStream是InputStream的子类,可以指定byte数组创建实例,一旦创建就可将byte数组当作数据源进行读取。
ByteArrayOutputStream是OutputStream的子类,可以指定byte数组创建实例,一旦创建就可将byte数组当作目的地写出数据。
串流处理装饰器
为输入输出的数据做加工处理,则可使用打包器类。
常用打包器:
具备缓冲区作用:BufferedInputStream、BufferedOutputStream
数据处理转换作用:DataInputStream、DataOutputStream
对象串行化能力:ObjectInputStream、ObjectOutputStream.
字符处理类
针对字符数据的读取,Java SE提供了
java.io.Reader类,抽象化了字符数据读入的来源。针对字符数据的写入,则提供了```java.io.Writer类,其抽象化了数据写出的目的地。
第十一章
线程
在java中,在main()以外独立设计流程,可以撰写类操作
java.long.Runnable接口,流程的进入点是操作在run()方法中。在调用Thread实例start()方法中,基本状态为可执行(Runnable)、被阻断(Blocked)、执行中(Running)
线程生命周期

线程控制的一些方法
interrupt
sleep
join
stop(Deprecated)
resume(Deprecated)
suspend(Deprecated)
destroy(Deprecated)
线程的停止、暂停、重启要程序员设定实现条件或使用并发API,不要调用Deprecated的方法
同步:synchronized与volatile
* 方法上
* 代码段上
wait、notify、notifyAll
并行API
- Lock
- ReadWritrlock
- Condition
教材学习中的问题和解决过程
问题1:如何解决死结问题
问题1解决方案:使用
trylock()
try{
if (lockMeAnd(res)) {
System.out.printf("%s 整合 %s 的资源%n", this.name, res.name);
break;
}
}finally {
unLockMeAnd(res);
- 问题2:flags数组有什么作用,与C语言有什么区别。
- 问题2解决方案:XXXXXX
- ...
代码调试中的问题和解决过程
- 问题1:编译过程中出现乱码
- 问题1解决方案:可能是编写过程中字符编码出现错误
代码托管


上周考试错题总结
1.import java.util.*;
2.
3. Class FindStuff {
4.public static void main (String[]args) {
5, //insert code here
6. c.put ("X", 123);
7. }
8. }
分别插入到第5行,哪几行允许代码编译?
HashMap c= new HashMap();
SortedMap c= new TreeMap();
Map c = new LinkedHashMap();
- 现有:
- list是一个合法的集合引用
- getCollection()返回一个合法集合的引用
哪个是合法的?
for(Object o : getCollection())
for(lterator i=list.iterator(); i.hasNext (); )
What is the output of the following code?
class EJava {
void method() {
try {
guru();
return;
} finally {
System.out.println("finally 1");
}
}
void guru() {
System.out.println("guru");
throw new StackOverflowError();
}
public static void main(String args[]) {
EJava var = new EJava();
var.method();
}
}
答案
guru
finally 1
Exception in thread "main" java.lang.StackOverflowError
- 关于try...catch...finally结构
- 可以有多个catch
- 可以没有catch
结对及互评
评分标准
正确使用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
- ...
代码中值得学习的或问题:
- xxx
- xxx
- ...
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
点评过的同学博客和代码
- 本周结对学习情况
结对照片

结对学习内容
-理论知识
1、输入/输出及其架构(InputStream & OutputStream和Reader & Writer)。
2、多线程进行并发程序理解。
-课本编程实例
1、编写课本中所有串流输入、输出程序。
2、编写课本中多线程程序,了解线程的开始、等待和结束过程。
3、针对线程群组、和ReadWriteLock以及Lock进行研究和资料查找。
- 上周博客互评情况
其他(感悟、思考等,可选)
在老师的启发之下,改变了自己Java学习的方式,以往是零散式的,集中一两天的学习方法。现在能在每天学习不同的学习任务,一周之内合理的分配时间学习Java。
每天敲打书上的代码,的确能学到许多知识,也逐渐学会了Java的调试,但还是缺乏自己的动手和实际操作能力。
平时遇见问题能先自己尝试寻找资源来学习,解决不了再询问老师和同学。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 0/0 | 1/4 | 8/12 | |
| 第二周 | 70/80 | 2/5 | 16/28 | |
| 第三周 | 120/200 | 3/6 | 12/40 | |
| 第四周 | 300/500 | 4/7 | 20/60 | |
| 第五周 | 500/1000 | 5/8 | 15/75 | |
| 第六周 | 600/1600 | 6/8 | 15/90 | 学习了IO,线程与并行API |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:20小时
实际学习时间:15小时
改进情况:对于java学习的时间,有了系统性的规划,并不是向以前零散或者突击性的学习。
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
20155238 2016-2017-2 《Java程序设计》第六周学习总结的更多相关文章
- 20155312 2016-2017-2 《Java程序设计》第九周学习总结
20155312 2016-2017-2 <Java程序设计>第九周学习总结 课堂内容总结 两个类有公用的东西放在父类里. 面向对象的三要素 封装 继承 多态:用父类声明引用,子类生成对象 ...
- 20155213 2016-2017-2 《Java程序设计》第九周学习总结
20155213 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBase Connectivity)即java数据库连 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20145237 《Java程序设计》第九周学习总结
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 20175209 《Java程序设计》第九周学习总结
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
随机推荐
- 【日常记录】Unity3D 中的 Surface Shader 是不支持在 Pass中使用的,因为自动生成了 Pass
如题 搞了好久,一直报错: Shader error in 'custom_outline_effect': Parse error: syntax error, unexpected TOK_PAS ...
- 一次存储链路抖动因I/O timeout不同在AIX和HPUX上的不同表现(转)
去年一个故障案例经过时间的沉淀问题没在发生今天有时间简单的总结一下,当时正时午睡时分,突然告警4库8个实例同时不可用,这么大面积的故障多数是有共性的关连,当时查看数据库DB ALERT日志都是I/O错 ...
- iOS设计模式 - 代理
iOS设计模式 - 代理 原理图 说明 1. 代理模式大家都用过,但用抽象基类NSProxy实现代理估计鲜有人用 2. 本人用NSProxy实现了代理模式,对于理解消息转发机制有点帮助 源码 http ...
- [UI] 精美UI界面欣赏[7]
精美UI界面欣赏[7] 视频地址: http://v.youku.com/v_show/id_XOTM0MDUzNTg0.html UI介绍地址: http://www.zhihu.com/quest ...
- Hadoop HBase概念学习系列之HBase里的列式数据库(十七)
列式数据库,从数据存储方式上有别于行式数据库,所有数据按列存取. 行式数据库在做一些列分析时,必须将所有列的信息全部读取出来 而列式数据库由于其是按列存取,因此只需在特定列做I/O即可完成查询与分析, ...
- 【Alpha】Daily Scrum Meeting——blog1
团队成员 吴吉键 201421122007(组长) 魏修祺 201421122008 孙劲林 201421122022 1. 会议当天照片 忘记拍了,能补上不? 2. 每个人的工作 3. 燃尽图
- python3+OpenGL环境配置
注:示例系统环境:Windows10 64位 + Anaconda3: 1.首先登录https://www.opengl.org/resources/libraries/glut/,下载下图箭头所指的 ...
- 2018 - 2019 CTU Open Contest E. Locker Room 【后缀数组】
任意门:http://codeforces.com/gym/101954/problem/E E. Locker Room time limit per test 2.0 s memory limit ...
- 20155314 2016-2017-2 《Java程序设计》实验四 Android程序设计
20155314 2016-2017-2 <Java程序设计>实验四 Android程序设计 实验任务 基于Android Studio开发简单的Android应用并部署测试 了解Andr ...
- css自问自答(二)
css自问自答(二) 7.掌握定位的一些属性 position 和 display 属性,以及如何浮动(float)和清除(clear)元素,z-index属性 三个属性控制: position 属性 ...