20145127《java程序设计》第六周学习总结

时间:2022-12-02 19:18:15

教材学习内容总结

第十章 输入与输出

文件的读写

网络上传数据的基础

10.1 InputStream与OutputStream

流(Stream)是对「输入输出」的抽象,注意「输入输出」是相对程序而言的

InputStream与OutputStream
read
write
二进制文件

标准输入输出
System.in: 标准输入,默认关联到键盘(终端输入)
System.out: 标准输出,默认关联到显示器(终端输出)
System.err: 标准错误,默认关联到显示器(终端输出)
输入输出重定向:setIn,setOut,setErr

FileInputStream与FileOutPutStream
文件读写

装饰器类
Decorator模式
BufferedInputStream与BufferedOutputStream
DataInputStream与DataOutputStream
ObjectInputStream与ObjectOutputStream
java.io.Serializable接口

10.2 字符处理类

Reader与Writer
文本文件
read
write

字符处理装饰器

第十一章 线程与并行API

Java语言内置多线程

11.1 线程
线程
Thread与Runnable
线程生命周期
线程控制的一些方法
interrupt
sleep
join
stop(Deprecated)
resume(Deprecated)
suspend(Deprecated)
destroy(Deprecated)
线程的停止、暂停、重启要程序员设定实现条件或使用并发API,不要调用Deprecated的方法
同步:synchronized与volatile
方法上
代码段上
wait、notify、notifyAll
ThreadGroup
setMaxPriority
enumerate
activeCount

11.2 并行API
Lock
ReadWriteLock
Condition
Executor
ScheduledThreadPoolExecutor
ForkJoinPool
并发Collection

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

本周的学习内容说实话有点多,光是看书并不能都看懂弄会,许多地方都询问了同学。总的来说我还需要多多练习。

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

Stream IO.java
InputStream的read()方法,每次会尝试读入byte数组长度的数据,并返回实际读入的字节,不是-1,就表示读取到数据。
使用OutputStream的write()方法,指定要写出的byte数组、初始索引与数组长度。

Stream Copy.java
dump()方法并没有限定来源与目的地真实形式,而是依赖于抽象的inputstream、outputstream。
将该文档读入并另存为另一个文档。

Stream CharUtilDemo.java
filereader、filewriter可以对文档做读取与存入,读取或写入时默认会使用操作系统默认编码来做字符你的操作系统转换。
也就是说,如果操作系统默认编码是GB2312,则filereader、filewriter会以GB231对你的“纯文本文档”做读取、写入的动作,
如果操作系统默认编码是UTF-8,则filereader、filewriter就是用UTF-8。

其他(感悟、思考等)

连续几周,需要学习的内容比较多,感觉有点吃紧还有一部分知识点掌握的不好,看来需要再接再厉了。

参考资料

Java学习笔记(第8版)
《Java学习笔记(第8版)》学习指导