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入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
随机推荐
- Linux系统——Nginx基础
Nginx是一个开源的,支持高性能.高并发(特别是静态资源)的www服务和代理服务软件,还具有反向代理复杂均衡功能和缓存服务功能,与lvs负载均衡及Haproxy等专业代理软件相比,nginx部署更简 ...
- 编程当道,学点Python技术好傍身
为了填满AI时代的人才缺口,编程语言教育都从娃娃抓起了!如果你还不懂Python是什么将来怎么给孩子辅导作业呢? Python新手入门教程 近期,浙江省信息技术课程改革方案出台,Python言语现已断 ...
- c++编译时打印宏定义
#pragma message("this is message") #pragma message只能打印字符串,如果想打印任何宏定义可使用: #define PRINT_MAC ...
- 20145330 《网络对抗》逆向及BOF基础实践
20145330 <网络对抗>逆向及BOF基础实践 1实践说明 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显 ...
- 20145204 《Java程序设计》第6周学习总结
20145204 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入/输出 数据流 I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据 ...
- 20162314 Experiment 3 - Sorting and Searching
Experiment report of Besti course:<Program Design & Data Structures> Class: 1623 Student N ...
- 想转行学Java,却又担心自己半路出家成不了大牛
想转行学Java,却又担心自己半路出家成不了大牛 很多人看好Java编程的高薪前景,在自己职业生涯迷茫的时候,想转行学Java,却又担心自己半路出家成不了大牛,赚不到钱,本文就为大家分析一下,转行学J ...
- Pandas数据分析python环境说明文档
1. 要求windows系统 2. pycharm编程环境并要求配置好python3.x环境 pycharm可在官网下载,下面是链接. https://www.jetbrains.com/zh/pyc ...
- linux下查看当前登陆的用户数目
在shell下输入以下语句即可获取: who | awk '{print $1}' | sort | uniq | wc -l
- [BZOJ3237]连通图
Description Input Output Sample Input 4 5 1 2 2 3 3 4 4 1 2 4 3 1 5 2 2 3 2 1 2 Sample Output Connec ...