20155211 2016-2017-2 《Java程序设计》第六周学习总结
20155211 2016-2017-2 《Java程序设计》第六周学习总结
教材学习内容总结
第十章 输入/输出
一、InputStream与OutputStream
(一)串流设计的概念
- 输入串流代表对象:java.io.InputStream
- 输出串流代表对象:java.io.OutputStream
(二)串流继承结构
- 标准输入/输出:
- 使用System的setIn(),重新指定标准输入来源。
- 使用System的setOut(),将结果输出至指定目的地。
(三)串流处理装饰器
- BufferedInputStream与BufferedOutputStream: 提供内部缓冲区功能
- DataInputStream与DataOutputStream:用来装饰InputStream等提供读取、写入Java基本数据类型的方法
- ObjectInputStream与ObjectOutputStream:提供readObject()将数据读入为对象,writeObject()将对象写至目的地
二、字符处理类
(一)Reader与Writer继承架构
- 针对字符读取:java.io.Reader类
- 针对字符写入:java.io.Writer类
(二)字符处理装饰器
- InputStreamReader与OutputStreamWriter:对串流数据打包
- BufferedReader与BufferedWriter:对Reader、Writer提供缓冲区
PrintWriter:对Writer进行打包
第十一章 线程与并行API
一、线程
(一)线程简介
Java中,可以通过撰写类操作java.lang.Runnable接口,流程进入点操作在run()方法中,创建Thread实例来执行run()方法。
(二)Thread与Runnable
- 操作Runnable接口较有弹性,还有机会继承其他类。
继承Thread通常是为了直接利用Thread中定义的一些方法。
(三)线程生命周期
- Daemon线程:所有非Daemon线程都结束时,JVM自动终止。
- Thread基本状态图
- Runnable:可执行
- Blocked:被阻断
- Running:执行中
- 安插线程:使用join()可以将线程加入成为另一线程的流程中。
- 停止线程:使用stop()会直接释放所有已锁定对象,可能使对象陷入无法预期状态。
二、并行API
(一)Lock、ReadWriteLock与Condition
- 使用Lock
- Lock接口主要操作类之一是ReentrantLock,可以达到syncharonized的作用。
范例ArrayList - Lock还定义tryLock()方法。
- 使用ReadWriteLock
- ReadWriteLock接口定义了读取锁定与写入锁定行为
- 使用StampedLock
- StampedLock类可支持乐观读取
- 使用Condition
- Condition接口用来搭配Lock
(二)使用Executor
- java.util.concurrent.Executor接口可将Runnable的指定与实际执行分离。
- 使用ThreadPoolExeecutor
- 使用ScheduledThreadPoolExecutor
- 使用ForkJoinPool
教材学习中的问题和解决过程
- 标准输入输出串流?
- Java标准输入输出串流
代码调试中的问题和解决过程
- 在调试p312页代码时,忽视了dump()后的throws而出错,后经调整改进
代码托管


上周考试错题总结
上周考试出了些许差错。。
结对及互评
点评过的同学博客和代码
- 本周结对学习情况
- 20155235
结对照片

- 结对学习内容:
一起阅读了教材,并对书上的部分代码进行讨论 - 上周博客互评情况
- 20155203
- 20155223
- 20145234
- 20155209
- 20155332
- 结对互评 20155235
- 基于评分标准,我给本博客打分:7。
- 得分情况如下
- 正确使用Markdown语法(加1分):
- 模板中的要素齐全(加1分)
- 教材学习中的问题和解决过程,未解决
- 代码调试中的问题和解决过程,加1分
- 本周有效代码超过300分行,加2分
- 其他加分,加分2 :
- 排版精美的加1分
进度条中记录学习时间与改进情况的加1分
其他(感悟、思考等,可选)
这两章的内容还是比较多的,并且有很多新的东西,但是在理解方面,并没有前面的概念性的知识难理解,在将书上的代码敲过一些之后,对于这些内容就有了很好地理解, 只是书上的知识点还是蛮多的,这就需要我们花费大量的时间去理解。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第六周 | 1260/1000 | 1/1 | 30/50 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:50小时
实际学习时间:30小时
改进情况:因为每周清明串休导致课程调整以及实验课的陆续开展,导致本周学习略有压力。
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
20155211 2016-2017-2 《Java程序设计》第六周学习总结的更多相关文章
- 20155211 2016-2017-2 《Java程序设计》第九周学习总结
20155211 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 一.JDBC入门 (一)JDBC简介 厂商在操作JDBC驱动程序时,依 ...
- 20155220 2016-2017-2 《Java程序设计》第九周学习总结
20155220 2016-2017-2<Java程序设计>第九周学习总结 教材学习内容总结 JDBC(Java DataBase Connectivity)即java数据库连接,是一种用 ...
- 20155313 2016-2017-2 《Java程序设计》第九周学习总结
20155313 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 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入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
随机推荐
- Laravel 5.6 视图用Blade语法传递变量和流程控制if 语句和循环语句
Laravel5.6 视图用Blade语法传递变量和流程控制if 语句和循环语句 Laravel 的 View 部分是内置了两套输出系统:直接输出和使用 Blade 引擎“编译”后输出,默认情况下它们 ...
- SCRUM 12.14
由于最近的课业较多,大家平时有些力不从心,对于工作完成得有限. 最近课业压力小了一些,我们决定从今天起,投入精力. 以下为我们的任务分配情况: 人员 任务 高雅智 清除缓存 彭林江 统计活跃用户数量 ...
- 《Linux内核设计与实现》读书笔记——第五章
<Linux内核设计与实现>读书笔记--第五章 标签(空格分隔): 20135321余佳源 第五章 系统调用 操作系统中,内核提供了用户进程与内核进行交互的一组接口.这些接口让应用程序受限 ...
- 冲刺Two之站立会议7
今天我们把软件的基本功能完成之后,又对所有的界面进行了统一规范化并进行了相应的优化.
- mark1-git
Administrator@-20131003RY MINGW64 ~ $ pwd /c/Users/Administrator Administrator@-20131003RY MINGW64 ~ ...
- 数学口袋精灵app(小学生四则运算app)开发需求
数学口袋精灵APP,摒除了传统乏味无趣学习数学四则运算的模式,采用游戏的形式,让小朋友在游戏中学习,培养了小朋友对数学的兴趣,让小朋友在游戏中运算能力得到充分提升.快乐学习,成长没烦恼! 项目名字:“ ...
- Vivado绑定外部verilog编辑器
前言 由于Vivado自带的verilog编辑器确实难用,写起来效率不高,因而寻找到了以下教程. 解决方案 引用sublime作为vivado外部verilog编辑器 sublime text中文编码 ...
- .net 开源组件推荐 之 StackExchange
已经两年没更新过博客了!!! StackExchange,地址:https://github.com/StackExchange,开源的这些项目都是在StackOverflow线上使用的. 说起Sta ...
- Kafka与Logstash的数据采集对接
Logstash工作原理 由于Kafka采用解耦的设计思想,并非原始的发布订阅,生产者负责产生消息,直接推送给消费者.而是在中间加入持久化层--broker,生产者把数据存放在broker中,消费者从 ...
- Java并发编程之深入理解线程池原理及实现
Java线程池在实际的应用开发中十分广泛.虽然Java1.5之后在JUC包中提供了内置线程池可以拿来就用,但是这之前仍有许多老的应用和系统是需要程序员自己开发的.因此,基于线程池的需求背景.技术要求了 ...