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

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

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

  • 在调试p312页代码时,忽视了dump()后的throws而出错,后经调整改进

代码托管


上周考试错题总结

上周考试出了些许差错。。

结对及互评

点评过的同学博客和代码

  • 本周结对学习情况
  • 20155235
  • 结对照片

  • 结对学习内容:
    一起阅读了教材,并对书上的部分代码进行讨论
  • 上周博客互评情况
  • 20155203
  • 20155223
  • 20145234
  • 20155209
  • 20155332
  • 结对互评 20155235
  • 基于评分标准,我给本博客打分:7。
  • 得分情况如下
    1. 正确使用Markdown语法(加1分):
    1. 模板中的要素齐全(加1分)
    1. 教材学习中的问题和解决过程,未解决
    1. 代码调试中的问题和解决过程,加1分
    1. 本周有效代码超过300分行,加2分
    1. 其他加分,加分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程序设计》第六周学习总结的更多相关文章

  1. 20155211 2016-2017-2 《Java程序设计》第九周学习总结

    20155211 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 一.JDBC入门 (一)JDBC简介 厂商在操作JDBC驱动程序时,依 ...

  2. 20155220 2016-2017-2 《Java程序设计》第九周学习总结

    20155220 2016-2017-2<Java程序设计>第九周学习总结 教材学习内容总结 JDBC(Java DataBase Connectivity)即java数据库连接,是一种用 ...

  3. 20155313 2016-2017-2 《Java程序设计》第九周学习总结

    20155313 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 JDBC(Java DataBase Connectivity)即java数据库连 ...

  4. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  5. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  6. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  7. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  8. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  9. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  10. 20145237 《Java程序设计》第九周学习总结

    20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...

随机推荐

  1. 日本厚劳省对IT技术人员展开确保海外人才调查

    新浪美股讯 5月13日消息,共同社报道,日本厚生劳动省将开始对在国内工作的外国籍系统工程师(SE)及程序员的劳动条件进行实际状况调查.为避免在与海外的人才获取竞争中败北,希望掌握接纳企业的需求等推动企 ...

  2. .net中操作Visual SourceSafe

    最近整理一些资料,发现以前写的一段代码,提供对微软的版本管理软件visual sourcesafe的一些操作.以下简称vss. 想起以前写的时候,因为资料比较匮乏,只能边研究边测试,走了不少弯路. 由 ...

  3. 第四次Scrum meeting

    第四次Scrum meeting 会议内容: 沟通方面:与学霸在线组.学霸手机客户端组进行沟通,了解现阶段各个小组的进度,并针对接口结构方面进行调整 前后端:我们完全可以是不需要界面的,但是为了用户的 ...

  4. Teechart使用记录

    一.      Chart 1.1 Series 在该界面可以进行曲线的添加.删除.修改 1.2 General 在该界面 Margins 可以设置整个坐标系外边距. 在这里可是设置放大功能. All ...

  5. 第二个spring冲刺第7天

    今天因为停电,所以没什么进展,延迟一天工作,今天当作休息

  6. week8:个人博客作业

    团队作业(5) 要求 在PM 带领下, 每个团队深入分析下面行业的App, 找到行业的Top 5 (从下面的三个备选中,任选一个行业即可) 英语学习/词典App 笔记App 旅游行业的手机App 选择 ...

  7. C#(近期目标)

    最近很多同学为了实习都在学Java,但是我个人更偏好C#,首先因为自己基础不是太好,而C#又更容易入门,拥有比较完善的开发环境,是微软开发出来的语言.它吸收了C++和Java两门语言的所有有点,因为它 ...

  8. 11th 最后的致意

    “终于我们不再是师生”,无论日后我们是否是师生,但这段经历是不可否认的,可以说软件工程这一门课程恐怕是我学生生涯中终生难忘的一段体验.即便不是从知识上,从另一个方面来讲,也教给了我一种做人做事的态度. ...

  9. Linux命令(八)过滤文本 grep

    grep 命令介绍 grep是一个强大的文本搜索工具命令,用于查找文件中符合指定格式的字符串,支持正则表达式.如不指定任何文件名称,或是文件名为 -,则gerp命令从标准输入设备中读取数据. grep ...

  10. 以用户注册功能模块为例浅谈MVC架构下的JavaWeb开发流程

    JavaWeb应用开发,撇开分布式不谈,只讨论一个功能服务应用的开发,无论是使用原生的Servlet/JSP方案,还是时下的SSM架构,都有一套经过工程实践考验的最佳实践,这综合考虑了团队协作.项目管 ...