上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 65 下一页
摘要: 细节一: 如果说 一个类实现了 Serializable 接口,表示这个类的对象是可被序列化的,Java 底层会根据这个类里面所有的内容进行计算,计算出一个 long 类型的序列号(或版本号)。假设计算出来的版本号是 1,当我创建了一个这个类的对象的时候,在对象里面就包含了 版本号 1,用序列化流写 阅读全文
posted @ 2023-10-25 17:06 1stzz1 阅读(36) 评论(0) 推荐(0)
摘要: 序列化流是高级流,也是用来包装基本流的 序列化流属于 字节流 的一种,负责输出数据;反序列化流负责输入数据 序列化流 可以把 Java 中的 对象 写到本地文件中。但是写到文件中的数据我们看不懂,可以通过反序列化流把数据正确读取出来 序列化流 也叫 对象操作输出流 序列化流: 构造方法:public 阅读全文
posted @ 2023-10-25 16:16 1stzz1 阅读(64) 评论(0) 推荐(0)
摘要: InputStreamReader 的 read() 方法是用于从字符输入流中读取一个字符的方法。它的底层原理涉及字符编码、字节流转换为字符流以及字符输入的过程。下面是对 read() 方法的超详细底层原理解释: 读取字节数据:InputStreamReader 本质上是一个字符流,它依赖于字节流来 阅读全文
posted @ 2023-10-25 15:17 1stzz1 阅读(1014) 评论(0) 推荐(0)
摘要: 转换流属于字符流的一员,本身也是一种高级流,用来包装基本流的。 转换流是 字符流 和 字节流 之间的桥梁 转换流的作用: 1. 指定字符集读写数据(JDK11开始被淘汰) 2. 字节流想要使用字符流中的方法 字符转换输入流 InputStreamReader 的作用是可以把 字节流 转换成 字符流 阅读全文
posted @ 2023-10-24 22:23 1stzz1 阅读(39) 评论(0) 推荐(0)
摘要: 缓冲流为什么能提高性能? 知识点:1 个字节 = 1B 缓冲流自带长度为 8192 的缓冲区,字节缓冲流的缓冲区是 byte 类型的,是长度为 8192 的字节数组,为 8K;而字符缓冲流的缓冲区是 char 类型的,是长度为 8192 的字符数组,为 16K,因为 Java 中一个字符占两个字节 阅读全文
posted @ 2023-10-24 20:23 1stzz1 阅读(44) 评论(0) 推荐(0)
摘要: 在 Java 当中,一个字符,它的底层占两个字节 阅读全文
posted @ 2023-10-24 20:14 1stzz1 阅读(56) 评论(0) 推荐(0)
摘要: 字符流的基本流本身其实已经有缓冲区了,所以字符缓冲流提高的效率不是很明显。 字符缓冲流的构造方法: 字符缓冲输入流:public BufferedReader (Reader r) → 把基本流变成高级流 字符缓冲输出流:public BufferedWriter (Writer r) → 把基本流 阅读全文
posted @ 2023-10-24 20:12 1stzz1 阅读(29) 评论(0) 推荐(0)
摘要: 缓冲流真正从文件当中读写数据的还是 InputStream 和 OutputStream 这两个基本流。 FileInputStream 会从文件中读取数据,放到缓冲输入流的缓冲区当中。因为缓冲区的默认大小为 8192,所以会一次性读取 8192 个字节。 FileOutputStream 会把缓冲 阅读全文
posted @ 2023-10-24 19:38 1stzz1 阅读(139) 评论(0) 推荐(0)
摘要: 字节缓冲流: 原理:底层自带了长度为 8192 的缓冲区。利用缓冲区可以一次读写 8192 个字节,从而提高性能 public BufferedInputStream (InputStream is) → 把基本流包装成高级流,提高读取数据的性能 public BufferedOutputStrea 阅读全文
posted @ 2023-10-24 19:21 1stzz1 阅读(46) 评论(0) 推荐(0)
摘要: 缓冲流是高级流,它对 基本流 做了一个包装,所以在底层,真正读写数据的还是 InputStream 和 OutputStream 这两个基本流,只不过有了缓冲流的加持,读写的效率更高而已 阅读全文
posted @ 2023-10-24 18:42 1stzz1 阅读(11) 评论(0) 推荐(0)
上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 65 下一页