如果可序列化
接口只是一个标记接口,用于在 java 中传递有关类的某种元数据 - 我有点困惑:
在阅读了java的序列化算法(元数据从下到上,然后从上到下的实际实例数据)的过程之后,我无法真正理解哪些数据不能通过该算法进行处理。
简而言之:
NotSeriezableExc的
?实现可序列化
子句?可
序列化类中任何不可序列化
的内容都将引发此异常。可以使用瞬态
关键字来避免它。
无法序列化的常见示例包括 Swing 组件和线程。如果你考虑一下,这是有道理的,因为你永远无法反序列化它们并让它有意义。
当你在谈论NotSeri的可序列化异常
时,它是抛出的,当你想序列化一个对象,它还没有被标记为可序列化
-仅此而已,虽然当你扩展不可序列化的类,并添加可序列化
接口时,它是完全可以的。
没有不能序列化的数据。
首先,如果您不打算序列化类的实例,则甚至无需考虑序列化它。只实现你需要的东西,不要仅仅为了它而试图让你的类可序列化。
如果您的对象具有对任何不可序列化对象的引用(传递或直接),并且此引用未标记为瞬态
关键字,则您的对象将不可序列化。
通常,序列化那些在以后或其他地方反序列化时不能重用的对象是没有意义的。这可能是因为对象的状态只在此时此地有意义(例如,如果它引用了一个正在运行的线程),或者因为它使用了一些资源,如套接字、数据库连接等。很多对象不代表数据,也不应该是可序列化的。
问题内容: 如下代码: 引发以下异常: 我猜内部类具有一个允许对其私有访问的字段和方法的字段。声明内部类static 可以解决它,但是如果需要此访问权限怎么办?有没有一种方法可以在不包含封闭类的情况下序列化非静态内部类,例如通过引用外部类? 编辑:例如,仅在序列化之前才需要访问外部类。好的,编译器不知道这一点,但是我认为这就是关键字存在的原因。 问题答案: 如果InnerClass需要此访问权限怎
问题内容: 中的类对什么意味着什么?或者总的来说… 问题答案: 序列化将一个对象从内存持久存储到一系列位中,例如保存到磁盘上。反序列化是相反的-从磁盘读取数据以水合/创建对象。 就您的问题而言,它是一个接口,如果在一个类中实现,则该类可以由不同的序列化程序自动进行序列化和反序列化。
问题内容: Java Bean是否必须实现接口? 问题答案: 这是Javabeans规范中描述的“典型”功能之一。 这是第 2.1 章的摘录 什么是bean? 各个Java Bean支持的功能会有所不同,但是区分Java Bean的典型统一功能是: 支持“自省”,以便构建器工具可以分析bean的工作方式 支持“自定义”,以便在使用应用程序构建器时,用户可以自定义Bean的外观和行为。 支持“事件”
在我的代码中,我有以下行: 在野外,它生活在一个枚举中: 我从sonarqube那里得到以下提及: 使“形状”暂时或可序列化。可序列化类中的字段本身必须是可序列化的或瞬态的,即使该类从未显式序列化或反序列化。这是因为在负载下,大多数J2EE应用程序框架都会将对象刷新到磁盘,而一个据称具有非瞬态、非序列化数据成员的可序列化对象可能会导致程序崩溃,并为攻击者打开大门。 据我所知,int[](和int[
序列化就是一种用来处理对象流的机制。将对象的内容流化,将流化后的对象传输于网络之间。 序列化是通过实现serializable接口,该接口没有需要实现的方法,implement Serializable只是为了标注该对象是可被序列化的,使用一个输出流(FileOutputStream)来构造一个ObjectOutputStream对象,接着使用ObjectOutputStream对象的writeO
本文向大家介绍请问什么是java序列化?以及如何实现java序列化?相关面试题,主要包含被问及请问什么是java序列化?以及如何实现java序列化?时的应答技巧和注意事项,需要的朋友参考一下 考察点:序列化 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题