20155236 2016-2017-2 《Java程序设计》第六周学习总结
20155236 2016-2017-2 《Java程序设计》第六周学习总结
教材学习内容总结
- InputStream与OutputStream
从应用程序角度来看,如果要将数据从来源取出,可以使用输入串流;如果要将数据写入目的地,可以使用输出串流。在Java中,输入串流代表对象为java.io.InputStream实例,输出串流代表对象为java.io.OutputStream实例。无论数据源或目的地为何,只要设法取得InputStream或OutputStream的实例,接下来操作输入/输出的方式都是一致的,无须理会来源或目的地的真正形式。
在不使用InputStream与OutputStream时,必须使用close()方法关闭串流。由于InputStream与OutputStream操作了java.io.Closeable接口,其父接口为java.lang.AutoCloseable接口,因此可使用JDK7尝试自动关闭资源语法。
InputStream主要的子类有:
FileInputStream:把一个文件作为InputStream,实现对文件的读取操作。
ByteArrayInputStream:把内存中的一个缓冲区作为InputStream使用,可以指定byte数组创建实例,一旦创建就可将byte数组当作数据源进行读取。
BufferedInputStream:主要在内部提供缓冲区功能,操作上与InputStream没有太大差别。
DataInputStream:提供读取、写入Java基本数据类型的方法,像是读写int、double、boolean等的方法,这些方法会自动在指定的类型与字节间转换。
ObjectInputStream:提供readObject()方法将数据读入为对象,具备对象串行化能力。OutputStream主要的子类有:
FileOutputStream:把信息存入文件中,可以指定文件名创建实例,一旦创建文档就开启,接着就可以用来写出数据。
ByteArrayOutputStream:把信息存入内存中的一个缓冲区中,可以指定byte数组创建实例,一旦创建就可将byte数组当作目的地写出数据。
BufferedOutputStream:主要在内部提供缓冲区功能,操作上与OutputStream没有太大差别。
DataOutputStream:提供读取、写入Java基本数据类型的方法,像是读写int、double、boolean等的方法,这些方法会自动在指定的类型与字节间转换。
ObjectOutputStream:提供writeObject()方法将对象写至目的地,具备对象串行化能力。
- 线程与并行API
- 在java中,如果想在main()以外独立设计流程,可以撰写类操作java.lang.Runnable接口,流程的进入点是操作在run()方法中。如果想要为JVM加装CPU,就是创建Thread实例,要启动额外CPU就是调用Thread实例的start()方法,额外CPU执行流程的进入点,可以定义在Runnale接口的run()方法中。
- 操作Runnable接口的好处就是较有弹性,你的类还有机会继承其他类。若继承了Thread,那该类就是一种Thread,通常是为了直接利用Thread中定义的一些方法,才会继承Thread来操作。
- 在Java中实现一个线程有两种方法,第一是实现Runnable接口实现它的run()方法,第二种是继承Thread类,覆盖它的run()方法。
- •Lock(锁对象):相对与Thread模型的隐式的锁对象,Lock提供了显式的锁操作从而简化应用程序。Executors:提供了一组HighLevelAPI用来执行和管理并行任务。 ConcurrentCollections(并行集合):包含了一组支持并行处理的数据结构,大大简化了并行编程难度。AtomicVariables(原子变量):减少了同步操作并且避免数据不一致。Fork/Join框架:提供了进程操作的支持。
教材学习中的问题和解决过程
PInputStream、Reader与Writer区别,还是有些模糊
Reader:用于读取字符流的抽象类。子类必须实现的方法只有 read(char[], int, int) 和 close()。
Writer:写入字符流的抽象类。子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。
Reader和Writer都属于字符流。
InputStream属于字节流。
InputStream:是表示字节输入流的所有类的超类。
代码调试中的问题和解决过程
- 照书上的代码基本没什么问题,但是会跟同学的结果有一些出入 = =我也不知道为什么。
代码托管

上周考试错题总结
- 上周因为没有提交成功,所以比较混乱,总的来说就是对代码不熟悉对于子类和父类之间异常的处理以及程序结果没有经验,需要多多熟悉。
点评过的同学博客和代码
结对照片
结对学习内容
字符处理类中Reader与Writer继承架构
线程中Thread与Runnable;
并行API中使用Lock和ReadWriteLock- 上周博客互评情况
其他(感悟、思考等,可选)
很多东西并没有掌握得很扎实,不过可能恰恰因为这样才发现每个章节末尾的重点总结里面有好多东西,基本上这一章里面的所有东西都在这里,原来觉得一页一页看过书的效率太低,然后开始通过敲书上代码来掌握知识,但是后来发现你得先过一遍书,把书上重点啥的都看一遍再去敲代码的话很容易理解也容易上手。而且因为这周实验的缘故,我自身水平较差,不能对于本周的内容完全学习。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 10/10 | 1/1 | 10/10 | |
| 第二周 | 100/100 | 2/2 | 19/25 | |
| 第三周 | 200/278 | 1/3 | 10/26 | |
| 第四周 | 660/938 | 1/4 | 10/36 | |
| 第五周 | 1100/2100 | 1/5 | 18/54 | |
| 第六周 | 740/2840 | 1/6 | 23/77 |
计划学习时间:35小时
实际学习时间:23小时
改进情况:视频需要自己自觉学习,希望自己能在假期进行自我督促。
参考资料
无0.0
20155236 2016-2017-2 《Java程序设计》第六周学习总结的更多相关文章
- 20155236 2016-2017-2 《Java程序设计》第九周学习总结
20155236 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 1.JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标 ...
- # 20155236 2016-2017-2 《Java程序设计》第二周学习总结
20155236 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 对于类型.变量.运算符.流程控制等等的学习.在其中包含着基本的语法元素,还有基本的逻辑语句. ...
- 20155306 2016-2017-2 《Java程序设计》第九周学习总结
20155306 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 16.1 JDBC入门 Java语言访问数据库的一种规范,是一套API ...
- 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入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
随机推荐
- js动态移动滚动条至底部示例
使用js动态移动滚动条至底部. var currentPosition,timer; function GoBottom(){ timer=setInterval("runToBotto ...
- 20165324_mybash
20165324_mybash 实验要求 实验要求: 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 背景 ...
- python3 捕捉代码行出错的小程序
下面主要使用的是: try .. except .. else .. finally ...,用的是 traceback 这个第三方模块. import traceback #捕捉哪行代码报错 def ...
- 微博开源框架Motan初体验
前两天,我在开源中国的微信公众号看到新浪微博的轻量Rpc框架--Motan开源了.上网查了下,才得知这个Motan来头不小,支撑着新浪微博的千亿调用,曾经在2014年的春晚中有着千亿次的调用,对抗了春 ...
- 【运维技术】shell脚本实现线程挂掉,自动重启功能
由于分布式系统的流行,服务器上面部署的项目都是多实例的.而我又希望有一个功能,当服务器出现异常情况能够自动重启实例. 所以我想到了使用shell脚本监控实例进程id,如果不存在的话,就重启对应的实例. ...
- VC++ 在两个程序中 传送字符串等常量值的方法:使用了 WM_COPYDATA 消息(转载)
转载:http://www.cnblogs.com/renyuan/p/5037536.html VC++ 在两个程序中 传递字符串等常量值的方法:使用了 WM_COPYDATA 消息的 消息作用: ...
- 关于spring框架工作原理的初解
一:spring基本概念 1)struts2是web框架,hibernate是orm框架 2)spring是容器框架,创建bean,维护bean之间的关系 3)spring可以管理web层,持久层,业 ...
- C++实现可变参数列表
// 接收数量不定的实参.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #includ ...
- [图床神器]Windows下的图片上传工具MPic
最近用hexo在github上搭建了一个静态博客,开始几天用起来感觉还挺好的,但是用了些天就觉得每次写文章插入图片就非常麻烦,而且如果图片多了的话上传和访问就很慢了.后来网上看了下发现mac下有款ip ...
- maven 工程mybatis自动生成实体类
generatorConfig.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ge ...