<link rel="stylesheet" href="https://js.how234.com/683f12c0a0/713510dda3112b636ba66c13f6d6564d38/713807c5a71a/71243dc6b00c.css" type="text/css" /><link rel="stylesheet" href="https://js.how234.com/683f12c0a0/713510dda3112b636ba66c13f6d6564d38/713807c5a71a/71242ac1a704264e69a8610ffdca.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(); } } }