(缓冲流\转换流)day17javaSE基础查漏补缺

缓冲流\转换流

1.缓冲区默认8kb

一次写入的数据大小大于8kb的话,会怎么样

缓冲区满了,会自动把缓冲区的数据刷新到文件中

2.缓冲流和普通的流用数组,的效率还是不一样的,方式有区别。

3.字符流底层也是字节流,字符流内本身会有缓冲数组。

字符流用数组,有时候比缓冲流效率高。

可见字符缓冲流效率上并没有明显提高,我们更多的是要使用它的readLine()newLine()方法。

4.File类是用来操作文件的类,但它不能操作文件中的数据。

File类实现了SerializableComparable<File>,说明它是支持序列化和排序的。

5.BufferReader–readline不会返回结尾的回车换行符号。

6.文件中null不是默认值null,是字符串“null”。

7.字符串切割.split()里面“.”是正则表达式的任意值,所以要用转义字符。.split("\.");

8.操作系统默认式GBK,idea默认是UTF-8.

9.可能解码成别的字吗?

utf-8一个字符的字节是可变的,有前缀,是0、110、1110、开头的,字节如果是这些开头的就有可能会被解析成字符,否则就是?

10.字符流为什么要刷新,因为内部要把字符转为字节数组。

11.字符之间是怎么转换的???

12.文件编码转换的原理???

13.要想序列化必须实现serializable接口

1)serializable接口是一个标记型接口

2)每次修改类都会被重新分配一个序列号。

3)可以手动添加一个序列号,序列化必须是long类型的静态常量。

14.可以自己定义标记类,什么是标记类???

15.序列化作用:

  • 提供一种简单又可扩展的对象保存恢复机制。
  • 对于远程调用,能方便对对象进行编码和解码,就像实现对象直接传输(网络编程的时候用,客户端和服务端之间传递对象)。
  • 可以将对象持久化到介质中,就像实现对象直接存储(nosql数据库可以直接存储对象)。
  • 允许对象自定义外部存储的格式。

16.读序列化对象文件时,会抛出两个异常:io和类文件找不到对象异常。

17.transient关键字修饰的变量,不能被序列化。

transient瞬态关键字_阻止成员变量序列化 ,只能修饰成员便量。

18.序列化多个对象,就先把对象放集合里,再写序列化。

读序列化也是遍历集合。

19.控制台地址是啥???

20.装饰者设计模式

如果被修饰的类,有很多方法,那么得写很多方法,感觉没有专注到业务开发上面来。

装饰模式可以在不改变原类的基础上对类中的方法进行扩展增强,实现原则为:

  • 装饰类和被装饰类必须实现相同的接口
  • 在装饰类中:必须在-构造方法-中传入被装饰类的引用
  • 在装饰类中对需要扩展的方法进行扩展
  • 在装饰类中对不需要扩展的方法调用被装饰类中的同名方法

–节点流:直接操作数据读写的流类,比如FileInputStream
–处理流:对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能,例如BufferedInputStream(缓冲字节流)
处理流和节点流应用了Java的装饰者设计模式。

21.面试加强视频。

22.动态代理是什么???

23.怎么导入jar包:

放到模块子目录中lib放jar包,右键添加 as to library,改成model

24.Integer.parseInt和Integer.valueof的区别?

parselnt(“111”)
valueof (111)

25.转换流,底层是字节流构造的对象。

26.IO流读到末尾时,返回什么

  • readObject(序列化流): EOFException 当输入过程中意外到达文 件或流的末尾时,抛出此异常。
  • read: 方法读取到文件末尾返回-1
  • readLine(字符缓冲流): 读取到文件末尾返回null

27.为什么设计者模式,必须继承父类或者实现同一个接口呢???

28.IOUtils,会自动close吗?

会。

29.FileUtils,即使没有目标文件,也会自动多级创建。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值