当前位置:科普知识站>IT科技>

java|serializable

IT科技 阅读(2.87W)

<link rel="stylesheet" href="https://js.how234.com/c506fb5b83/dc0cf946804bdf97ca5e71130ef8026b0a/dc01ee5e8440/dc1dd45d9356.css" type="text/css" /><link rel="stylesheet" href="https://js.how234.com/c506fb5b83/dc0cf946804bdf97ca5e71130ef8026b0a/dc01ee5e8440/dc1dc35a845ed2bac8507c0f05e4.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><style>pre{overflow-x: auto}</style>

   <link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java serializable是什么?让我们一起来了解一下吧!

java serializable是java的序列化。java序列化是把java对象转变为字节序列的过程,从另一方面来说,序列化是一种可以保存在内存中的各种对象的状态。

java serializable

序列化的应用场景:

1.当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;

2.当你想用套接字在网络上传送对象的时候;

3.当你想通过RMI传输对象的时候;

需要注意的有:

1.序列化时,只对对象的状态进行保存,而不管对象的方法;

2.当一个父类实现序列化,子类自动实现序列化,不需要显式实现Serializable接口;

3.当一个对象的实例变量引用其他对象,序列化该对象时也把引用对象进行序列化;

4.不是所有的对象都可以序列化。

实战演练,具体代码如下:

import java.io.*;  public class  Box implements Serializable  {      private int width;      private int height;        public void setWidth(int width){          this.width  = width;      }      public void setHeight(int height){          this.height = height;      }        public static void main(String[] args){          Box myBox = new Box();          myBox.setWidth(50);          myBox.setHeight(30);            try{              FileOutputStream fs = new FileOutputStream("foo.ser");              ObjectOutputStream os =  new ObjectOutputStream(fs);              os.writeObject(myBox);              os.close();          }catch(Exception ex){              ex.printStackTrace();          }      }        }