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