BIO、NIO、AIO、Netty(2)

11. 什么是比特(Bit),什么是字节(Byte),什么是字符(Char),它们长度是多少,各有什么区别

Bit最小的二进制单位 ,是计算机的操作部分取值0或者1

Byte是计算机中存储数据的单元,是一个8位的二进制数,(计算机内部,一个字节可表示一个英

文字母,两个字节可表示一个汉字。) 取值(-128-127

Char是用户的可读写的最小单位,他只是抽象意义上的一个符号。如‘5’等等等等。在

java里面由16bit组成Char 取值0-65535

Bit 是最小单位 计算机他只能认识0或者1

Byte8个字节 是给计算机看的

字符 是看到的东西 一个字符=二个字节

12. 什么叫对象序列化,什么是反序列化,实现对象序列化需要做哪些工作

 

对象序列化,将对象以二进制的形式保存在硬盘上

反序列化;将二进制的文件转化为对象读取

实现serializable接口,不想让字段放在硬盘上就加transient

13. 在实现序列化接口是时候一般要生成一个serialVersionUID字段,它叫做什么,一般有什么用

如果用户没有自己声明一个serialVersionUID,接口会默认生成一个serialVersionUID

但是强烈建议用户自定义一个serialVersionUID,因为默认的serialVersinUID对于class的细节非常

敏感,反序列化时可能会导致InvalidClassException这个异常。

(比如说先进行序列化,然后在反序列化之前修改了类,那么就会报错。因为修改了类,对应的

SerialversionUID也变化了,而序列化和反序列化就是通过对比其SerialversionUID来进行的,一

SerialversionUID不匹配,反序列化就无法成功。

14. 怎么生成SerialversionUID

 

可序列化类可以通过声明名为 "serialVersionUID" 的字段(该字段必须是静态 (static)、最终

(final) long 型字段)显式声明其自己的 serialVersionUID

两种显示的生成方式(当你一个类实现了Serializable接口,如果没有显示的定义

serialVersionUIDEclipse会提供这个提示功能告诉你去定义 。在Eclipse中点击类中warning

图标一下,Eclipse就会自动给定两种生成的方式。

15. BufferedReader属于哪种流,它主要是用来做什么的,它里面有那些经典的方法

属于处理流中的缓冲流,可以将读取的内容存在内存里面,有readLine()方法

16. Java中流类的超类主要有那些?

 

超类代表顶端的父类(都是抽象类)

java.io.InputStream

java.io.OutputStream

java.io.Reader

java.io.Writer

17. 为什么图片、视频、音乐、文件等 都是要字节流来读取

 

这个很基础,你看看你电脑文件的属性就好了,CPU规定了计算机存储文件都是按字节算的

18. IO的常用类和方法,以及如何使用

 

前面讲了那么多废话,现在我们开始进入主题,后面很长,从开始的文件操作到后面的网络IO操作都会

有例子:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值