文章目录
1.hashCode()介绍
hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码的作用是
确定该对象在哈希表中的索引位置。hashCode() 定义在JDK的Object.java中,这就意味着Java中的任何
类都包含有hashCode()函数。
散列表存储的是键值对(key-value),它的特点是:能根据“键”快速的检索出对应的“值”。这其中就利用到
了散列码!(可以快速找到所需要的对象)
2.什么是 java序列化?
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对
象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时
所引发的问题
3.如何实现 java 序列化?
序列化的实现,将需要被序列化的类实现Serializable 接口,该接口没有需要实现的方法,implements
Serializable 只是为了标注该对象是可被序列化的,然后使用一个输出流(如:File Output Stream)来构
造一个 Object Output Stream(对象流)对象,接着,使用 Object Output Stream 对象的 write
Object(Object obj)方法就可以将参数为 obj 的对象写出(即保存其状态),要恢复的话则用输入流。
4.什么是节点流,什么是处理流,它们各有什么用处,处理流的创建有什么特征?
-
节点流 直接与数据源相连,用于输入或者输出
-
处理流:在节点流的基础上对之进行加工,进行一些功能的扩展
-
处理流的构造器必须要 传入节点流的子类
5.流一般需要不需要关闭,如果关闭的话在用什么方法,一般要在那个代码块里面关闭比较好,处理流是怎么关闭的,如果有多个流互相调用传入是怎么关闭的?
- 流一旦打开就必须关闭,使用close方法
- 放入finally语句块中(finally 语句一定会执行)
- 调用的处理流就关闭处理流
- 多个流互相调用只关闭最外层的流