8月9日学习总结

Io流

流的分类

  • 输入流:只能从中读取数据,而不能向其写入数据
    输出流:只能向其写入数据,而不能从中读取数据
  • 字节流:二进制,可以处理一切文件包括纯文本、doc、音频、视频等
    字符流:文本文件,只能处理纯文本,全部为可见字符
  • 节点流:包裹源头,离源头最近
    处理流:增强功能、提供性能

InputStream/Reader:所以输入流的基类,前者是字节输入流,后者是字符输入流
OutputStream/Writer:所以输出流的基类,前者是字节输出流,后者是字符输出流

转换流

  • 解码:将二进制通过解码字符集转为字符
  • 编码:将字符通过编码字符集转为二进制
  • InputStreamReader:将字节输入流转化为字符输入流
  • OutputStreamWriter:将字节输出流转化为字符输出流

其他流

一、节点流
1、字节数组节点流(读取、写出字节数组)
输入流:ByteArrayInputStream 其中close()为无效关闭
输出流:ByteArrayOutputStream 新增了toByteArray()方法用来获取数据
二、处理流
1、基本类型+String 保留数据和类型
输入流:DataInputStream 新增readXxx()方法、其中字符串为UTF
输出流:DataOutputStream 新增writeXxx()方法
读取数据操作与写入数据操作顺序一致,必须存在才能读取,不一致,数据会存在问题

2、引用类型(数组也可以序列化)
反序列化:输入流、ObjectInputStream 新增readObject()
序列化:输出流、ObjectOutputStream 新增writeObject()
注意:1、先序列化后反序列化,反序列化顺序必须与序列化一致
2、不是所有的对象都可以序列化,类必须实现java.io.Serializable接口,也不是所有的属性都需要序列化,不需要序列化的信息用transient修饰

线程

线程、进程与程序

名称代表
程序一个任务、指令集、静态概念
进程运行中的程序、操作系统调度程序、动态概念
线程程序执行流、在进程内的多条执行路径

进程与线程的区别

区别线程进程
单位调度和执行的单位资源分配的单位
占用内存一个进程中的线程占用同一个内存每个进程都拥有独立的内存
组成必须有一个父进程可以拥有多个线程

线程被称作轻量级进程,线程是进程的执行单位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值