java - serializable
<link rel="stylesheet" href="https://js.how234.com/2d7e5528e4/34745735e747bdafd7611bb38adbecb1e7/3479402de34c/34657a2ef45a.css" type="text/css" /><link rel="stylesheet" href="https://js.how234.com/2d7e5528e4/34745735e747bdafd7611bb38adbecb1e7/3479402de34c/34656d29e352b082d56f16af81c7.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對象轉變為字節序列的過程,從另一方面來説,序列化是一種可以保存在內存中的各種對象的狀態。
序列化的應用場景:
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(); } } }