package com.itheima.demo04.ObjectStream;
import java.io.Serializable;
/*
序列化和反序列化的時(shí)候,會拋出NotSerializableException沒有序列化異常 類通過實(shí)現(xiàn) java.io.Serializable 接口以啟用其序列化功能。未實(shí)現(xiàn)此接口的類將無法使其任何狀態(tài)序列化或反序列化。 Serializable接口也叫標(biāo)記型接口 要進(jìn)行序列化和反序列化的類必須實(shí)現(xiàn)Serializable接口,就會給類添加一個(gè)標(biāo)記 當(dāng)我們進(jìn)行序列化和反序列化的時(shí)候,就會檢測類上是否有這個(gè)標(biāo)記 有:就可以序列化和反序列化 沒有:就會拋出 NotSerializableException異常 去市場買肉-->肉上有一個(gè)藍(lán)色章(檢測合格)-->放心購買-->買回來怎么吃隨意 static關(guān)鍵字:靜態(tài)關(guān)鍵字 靜態(tài)優(yōu)先于非靜態(tài)加載到內(nèi)存中(靜態(tài)優(yōu)先于對象進(jìn)入到內(nèi)存中) 被static修飾的成員變量不能被序列化的,序列化的都是對象 private static int age; oos.writeObject(new Person("小美女",18)); Object o = ois.readObject(); Person{name="小美女", age=0} transient關(guān)鍵字:瞬態(tài)關(guān)鍵字 被transient修飾成員變量,不能被序列化 private transient int age; oos.writeObject(new Person("小美女",18)); Object o = ois.readObject(); Person{name="小美女", age=0}
*/
public class Person implements Serializable{
private static final long serialVersionUID = 1L; private String name; //private static int age; //private transient int age; public int age; public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "Person{" + "name="" + name + """ + ", age=" + age + "}"; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }
}
序列號沖突的異常
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/76270.html
摘要:對象序列化對象序列化機(jī)制允許把內(nèi)存中的對象轉(zhuǎn)換成與平臺無關(guān)的二進(jìn)制流,從而可以保存到磁盤或者進(jìn)行網(wǎng)絡(luò)傳輸,其它程序獲得這個(gè)二進(jìn)制流后可以將其恢復(fù)成原來的對象。 對象序列化 對象序列化機(jī)制允許把內(nèi)存中的Java對象轉(zhuǎn)換成與平臺無關(guān)的二進(jìn)制流,從而可以保存到磁盤或者進(jìn)行網(wǎng)絡(luò)傳輸,其它程序獲得這個(gè)二進(jìn)制流后可以將其恢復(fù)成原來的Java對象。 序列化機(jī)制可以使對象可以脫離程序的運(yùn)行而對立存在 ...
摘要:與的作用是對基本數(shù)據(jù)和對象進(jìn)行序列化操作進(jìn)行支持。如果檢測到反序列化的類的和對象二進(jìn)制流的不同,則會拋出異常。 ObjectInputStream與ObjectOutputStream的作用是:對基本數(shù)據(jù)和對象進(jìn)行序列化操作進(jìn)行支持。其中ObjectInputStream對象提供對基本數(shù)據(jù)和對象對持久存儲,當(dāng)我們需要讀取這些存儲這些基本數(shù)據(jù)或?qū)ο髸r(shí),可以創(chuàng)建文件輸入流對應(yīng)的Object...
摘要:的序列化是將一個(gè)對象表示成字節(jié)序列,該字節(jié)序列包括了對象的數(shù)據(jù),有關(guān)對象的類型信息和存儲在對象中的數(shù)據(jù)類型。任何實(shí)現(xiàn)了接口的類都可以被序列化。一旦對象被序列化或者重新裝配,就會分別調(diào)用那兩個(gè)方法。 Java序列化 1. 什么是序列化? 序列化是將一個(gè)對象的狀態(tài),各屬性的值序列化保存起來,然后在合適的時(shí)候通過反序列化獲得。 Java的序列化是將一個(gè)對象表示成字節(jié)序列,該字節(jié)序列包括了對象...
摘要:的序列化是將一個(gè)對象表示成字節(jié)序列,該字節(jié)序列包括了對象的數(shù)據(jù),有關(guān)對象的類型信息和存儲在對象中的數(shù)據(jù)類型。這個(gè)是根據(jù)類名接口名成員方法及屬性等來生成一個(gè)位的哈希字段,因?yàn)樵黾恿俗侄危虼松傻牟灰粯恿恕? Java序列化 什么是序列化? 序列化是將一個(gè)對象的狀態(tài),各屬性的值序列化保存起來,然后在合適的時(shí)候通過反序列化獲得。 Java的序列化是將一個(gè)對象表示成字節(jié)序列,該字節(jié)序列包括了對...
摘要:集合的特點(diǎn)集合的特點(diǎn)類介紹類表示了一個(gè)持久的屬性集??杀4嬖诹髦谢驈牧髦屑虞d。屬性列表中每個(gè)鍵及其對應(yīng)值都是一個(gè)字符串特點(diǎn)的子類,集合中的方法都可以用。該集合沒有泛型。鍵值可以存儲到集合中,也可以存儲到持久化的設(shè)備硬盤盤光盤上。 01Properties集合的特點(diǎn) * A: Properties集合的特點(diǎn) * a: Properties類介紹 * Propert...
閱讀 976·2022-06-21 15:13
閱讀 1857·2021-10-20 13:48
閱讀 1045·2021-09-22 15:47
閱讀 1376·2019-08-30 15:55
閱讀 3133·2019-08-30 15:53
閱讀 528·2019-08-29 12:33
閱讀 724·2019-08-28 18:15
閱讀 3472·2019-08-26 13:58