本帖最后由 小石姐姐 于 2018-4-24 16:08 编辑
9-13天课堂笔记总结
day09File类File类的概述和常用功能File 类的获取功能和修改名字功能File的重要获取功能String[] list() : 返回当前路径下所有的文件和文件夹名称
File[] listFiles() :返回指定目录中的所有子文件或子目录的File对象 static File[] listRoots() : 返回的是所有盘符.
IO字节流与IO字符流IO流的分类流向
数据类型
字节流
字节输入流 读取数据 InputStream 字节输出流 写出数据 OutputStream
字符流
字符输入流 读取数据 Reader 字符输出流 写出数据 Writer
InputStream和OutputStream概述练习将指定目录中的内容复制到另一个目录中day 10IO标准输入流 & 转换流 & 打印流标准输入输出流:
public static final InputStream in:字节输入流,用来读取键盘录入的数据. public static final PrintStream out:字节输出流,将数据输出到命令行
OutputStreamWriter的概述和使用 由于标准输出流是一个字节输出流,所以只能输出字节或者字节数组,但是我们读取到的数据则是字符串,如果想进行输出还需要转换成字节数组. 所以只能输出字节或者字节数组,但是我们读取到的数据则是字符串,如果想进行输出还需要转换成字节数组 InputStreamReader的概述和使用 打印流概述打印流分类
printStream printWriter 注意: 只能输入不能输出
特点:
打印流特有功能自动换行: 使用方法println()实现自动换行 自动刷新 : 创建PrintWriter对象时启动自动刷新开关,并肩使用println等3个方法可以实现自动刷新. 注意:
对象操作流对象操作流的概述使用对象操作流读写对象解决对象输入流读取对象出现异常的问题实体类中序列号的作用Properties概述编码表编码表的作用
day 11(多线程)多线程概述进程:Process,当前正在运行的程序,一个应用程序在内存中的执行区域. 线程:Thread, 进程中的一个执行控制单元,执行路径
单线程和多线程特点
扩展
并发:并行发生,同时发生,多线程就可以实现并发 同步:sync,注意并不是同时的意思,同步是指一步接一步的执行,一个执行完毕再开始执行下一个
异步:async,不是一步一步执行,而是同时执行多步,每个步骤何时结束不确定
同一线程内的代码是同步执行的,不同线程的代码是异步执行的. 阻塞: 上一行代码正在执行,还没有执行完毕,程序就阻塞在这里了,下一行代码必须等上一行不在阻塞后才能执行.
创建线程的第一种方式: 继承Thread类主方法是单线程的创建线程的第二种方式:实现Runnable接口多线程安全问题产生&解决方案多线程模拟火车站售票出现问题使用同步代码块解决多线程案例中出现的问题问题出现的原因:
要有多个线程 要有被多个线程所共享的数据 多个线程并发的访问共享的数据.
synchronized:同步 (锁),可以修饰代码块和方法,被修饰的代码块和方法一旦被某个线程访问,则直接锁住,其他的线程将无法访问.
同步代码块格式:
synchronized(锁对象) {
//要同步执行的对象
}注意: 锁对象需要被所有的线程所共享.
同步:安全性高,效率低. 非同步: 效率高,安全性低.
使用同步方法解决线程安全问题
|
|