摘要: 前面两节我们介绍了如何通过流的方式读写文件内容,本节我们介绍文件元数据和目录的一些操作。 文件和目录操作最终是与操作系统和文件系统相关的,不同系统的实现是不一样的,但Java中的java.io.File类提供了统一的接口,底层它会通过本地方法调用操作系统和文件系统的具体实现,本节,我们就来介绍Fil 阅读全文
posted @ 2020-02-26 22:13 Ivy_Xu 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 上节我们介绍了如何以字节流的方式处理文件,我们提到,对于文本文件,字节流没有编码的概念,不能按行处理,使用不太方便,更适合的是使用字符流,本节就来介绍字符流。 我们首先简要介绍下文本文件的基本概念、与二进制文件的区别、编码、以及字符流和字节流的区别,然后我们介绍Java中的主要字符流,它们有: Re 阅读全文
posted @ 2020-02-26 22:07 Ivy_Xu 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 本节我们介绍在Java中如何以二进制字节的方式来处理文件,上节我们提到Java中有流的概念,以二进制方式读写的主要流有: InputStream/OutputStream: 这是基类,它们是抽象类。 FileInputStream/FileOutputStream: 输入源和输出目标是文件的流。 B 阅读全文
posted @ 2020-02-26 19:04 Ivy_Xu 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 上节,我们初步探讨了Java并发包中的任务执行服务,实际中,任务执行服务的主要实现机制是线程池,本节,我们就来探讨线程池。 基本概念 线程池,顾名思义,就是一个线程的池子,里面有若干线程,它们的目的就是执行提交给线程池的任务,执行完一个任务后不会退出,而是继续等待或执行新任务。线程池主要由两个概念组 阅读全文
posted @ 2020-02-26 01:21 Ivy_Xu 阅读(309) 评论(0) 推荐(0) 编辑
摘要: Java并发包提供了一套框架,大大简化了执行异步任务所需的开发,本节我们就来初步探讨这套框架。 在之前的介绍中,线程Thread既表示要执行的任务,又表示执行的机制,而这套框架引入了一个"执行服务"的概念,它将"任务的提交"和"任务的执行"相分离,"执行服务"封装了任务执行的细节,对于任务提交者而言 阅读全文
posted @ 2020-02-26 00:38 Ivy_Xu 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 本节,我们来探讨Java并发包中的各种队列。Java并发包提供了丰富的队列类,可以简单分为: 无锁非阻塞并发队列:ConcurrentLinkedQueue和ConcurrentLinkedDeque 普通阻塞队列:基于数组的ArrayBlockingQueue,基于链表的LinkedBlockin 阅读全文
posted @ 2020-02-26 00:16 Ivy_Xu 阅读(199) 评论(0) 推荐(0) 编辑