<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Java 中`Externalizable`與`Serializable`之間的區別 > 原文: [https://howtodoinjava.com/java/serialization/externalizable-vs-serializable/](https://howtodoinjava.com/java/serialization/externalizable-vs-serializable/) 知道`Externalizable`與`Serializable`之間的差異在兩個方面都很重要,一個是可以作為面試問題詢問,另外一個是您可以利用該知識做出更明智的決策,將序列化應用到您的應用中來追求性能提升。 ## 1\. `Externalizable`與`Serializable`之間的區別 讓我們列出 Java 中[`Externalizable`](https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html)和[`Serializable`](https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html)接口之間的主要區別。 | `Externalizable` | `Serializable` | | --- | --- | | `Serializable`是標記接口,即不包含任何方法。 | `Externalizable`接口包含實現類必須覆蓋的兩個方法`writeExternal()`和`readExternal()`。 | | `Serializable`接口將序列化的職責傳遞給 JVM 及其默認算法。 | `Externalizable`向程序員提供串行化邏輯的控制-編??寫自定義邏輯。 | | 通常,默認序列化易于實現,但具有較高的性能成本。 | 使用`Externalizable`完成的序列化為程序員增加了更多責任,但通常會帶來更好的性能。 | | 很難分析和修改類結構,因為任何更改都可能會破壞序列化。 | 由于可以完全控制序列化邏輯,因此分析和修改類結構更加容易。 | | 默認序列化不調用任何類構造器。 | 使用`Externalizable`接口時,需要一個公共的無參數構造器。 | 請注意,`Externalizable`接口是`Serializable`的子接口,即`Externalizable extends Serializable`。 因此,如果任何類實現`Externalizable`接口并覆蓋其`writeExternal()`和`readExternal()`方法,則這些方法優先于 JVM 提供的默認序列化機制。 > 閱讀更多:[如何在 Java 中覆蓋默認的序列化機制](https://howtodoinjava.com/java/serialization/custom-serialization-readobject-writeobject/) ## 2\. 閱讀有關`Externalizable`與`Serializable`的更多信息 * [使用 Java 中的`Externalizable`特性的更高效的序列化](//howtodoinjava.com/java/serialization/java-externalizable-example/) * [Java `Serializable`接口實現指南](//howtodoinjava.com/java/serialization/a-mini-guide-for-implementing-serializable-interface-in-java/) * [Java 中反序列化過程如何發生?](//howtodoinjava.com/java/serialization/how-deserialization-process-happen-in-java/) 請在與 **Java** 中的`Externalizable`與`Serializable`接口有關的評論部分中提出您的問題。 學習愉快!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看