摘要: 文件流: 文件流读写是最常见的I/O操作,通过文件流来连接磁盘文件,从而读写文件内容。 文件读写三个步骤:1. 打开文件输入或者输出流 2. 文件读或写操作 3. 关闭文件输入(出)流 通过文件系统中的File对象指定。 标准的输入与输出:1. 标准输出:println() ; write() ; 阅读全文
posted @ 2022-07-29 22:03 zjw_rp 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 字符流: 以两个字节为基本输入输出单位,适合于处理文本类型数据。 两种基本流:1. 输入Reader 2. 输出writer Reader字符输入是抽象类,不能被实例化,也是由它派生子类实例化。 输入流: 基本的地方法:1. read():读取单个字符并返回,如果返回值是-1,则表示文件结束。 2. 阅读全文
posted @ 2022-07-29 17:17 zjw_rp 阅读(48) 评论(0) 推荐(0) 编辑
摘要: I/O流 (输入/输出): 两种基本的流:1. 输入流Inputstream 2. 输出流 Outputsteam 两种流采用相同顺序读写方式:1. 过程:打开流 >执行读(写)操作 >关闭流 2. 节点流:从特定地方读写的流类, 例如:磁盘或一块内存区域 3. 过滤流:使用一个已经存在的输入流或者 阅读全文
posted @ 2022-07-29 15:09 zjw_rp 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 线程协作: 应用场景:1. 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费。 2. 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库的产品 被消费者取走为止。 3. 如果仓库放有产品,则消费者可以将产品取走消费,否则停止消费并等待,直到 阅读全文
posted @ 2022-07-29 11:55 zjw_rp 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 线程 Lock ( 锁 ) Lock(锁) : ReentrantLock类实现了Lock,它拥有与synchronized相同的并发性和内存语义,在实现线程安全的控制中, 比较常用的是ReentrantLock,可以显示式加锁。 synchronized与Lock的对比:1. Lock是显示锁 ( 阅读全文
posted @ 2022-07-29 09:59 zjw_rp 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 死锁 : 多个线程各自占有些共享资源,并且互相等待其它线程占有的资源才能运行,而导致两个或者多个 线程都在等对方释放资源,都停止执行的情景,某一个同步块同时拥有“两个以上对象的锁”时,就可能 会发生“死锁”的问题。 死锁避免方法: 1. 互斥条件:一个资源每次只能被一个进程使用。 2. 请求与保持条 阅读全文
posted @ 2022-07-29 09:21 zjw_rp 阅读(13) 评论(0) 推荐(0) 编辑