ホームページ >Java >&#&ベース >Javaでシリアル化を実装する方法

Javaでシリアル化を実装する方法

尚
オリジナル
2019-12-26 11:51:095369ブラウズ

Javaでシリアル化を実装する方法

1. シリアル化の実装:

1) Serializable インターフェイスを使用してシリアル化を実装します。

まず、オブジェクト クラスを定義します。 User

public class User implements Serializable {
    //序列化ID
    private static final long serialVersionUID = 1L;
    private int age;
    private String name;
    //getter和setter方法、
    //toString方法}

次に、Test クラスでシリアル化と逆シリアル化を実装します。

public class Test {
    public static void main(String[] args) throws Exception, IOException {
        //SerializeUser();
        DeSerializeUser();
    }
    //序列化方法
    private static void SerializeUser() throws FileNotFoundException, IOException {
        User user = new User();
        user.setName("Java的架构师技术栈");
        user.setAge(24);
        //序列化对象到文件中
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("G://Test/template"));
        oos.writeObject(user);
        oos.close();
        System.out.println("序列化对象成功");
    }
    //反序列化方法
    private static void DeSerializeUser() throws FileNotFoundException, IOException{
        File file = new File("G://Test/template");
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
        User newUser = (User)ois.readObject();
        System.out.println("反序列化对象成功"+newUser.toString());
    }}

2) Externalizable インターフェイスを使用してシリアル化を実装する

最初に、User1 クラスを定義します

public class User1 implements Externalizable{
    private int age;
    private String name;
    //getter、setter
    //toString方法
    
    public User1() {}
    
    @Override
    public void writeExternal(ObjectOutput out) throws IOException {
    }
    @Override
    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
    }}

Externalizable インターフェイスと Serializable インターフェイスの違い:

1) Externalizable は Serializable インターフェイスから継承します

2) writeExternal() メソッドと readExternal() メソッドをオーバーライドする必要があります

3) Externalizable インターフェイスを実装するクラスは、次のことを行う必要がありますパブリックパラメータコンストラクタを提供します。

2. 機能:

1) シリアル化は、オブジェクト ストリームを処理するために使用されるメカニズムです。いわゆるオブジェクト ストリームは、オブジェクトのコンテンツをストリーミングすることであり、ストリームされたオブジェクトは、読み取りおよび書き込み操作を実行するだけでなく、ストリームされたオブジェクトをネットワークに転送することもできます。

2) オブジェクト ストリームの読み取りおよび書き込み操作中に発生する可能性がある問題を解決するには (シリアル化が実行されない場合、問題が発生する可能性があります) be data Out-of-order 問題)

#3) オブジェクトの永続性を実現することに加えて、シリアル化はオブジェクトのディープ クローン作成にも使用できます

#3. シリアル化の使用シナリオ

1) オブジェクトを永続的に保存し、オブジェクトのバイト シーケンスをローカル ファイルまたはデータベースに保存します;

##2) シリアル化を通じてバイト ストリームの形式でオブジェクトを送受信します;

3 ) シリアル化を通じてプロセス間でオブジェクトを転送する;

Java の詳細については、

java 基本チュートリアル

列に注目してください。

以上がJavaでシリアル化を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。