serialization机制

    • 首先说明一下序列化的知识: 
      java中的序列化(serialization)机制能够将一个实例对象的状态信息写入到一个字节流中,使其可以通过socket进行传输、或者持久化存储到数据库或文件系统中;然后在需要的时候,可以根据字节流中的信息来重构一个相同的对象。序列化机制在java中有着广泛的应用,EJB、RMI等技术都是以此为基础的。 

      序列化机制是通过java.io.ObjectOutputStream类和java.io.ObjectInputStream类来实现的。在序列化(serialize)一个对象的时候,会先实例化一个ObjectOutputStream对象,然后调用其writeObject()方法;在反序列化(deserialize)的时候,则会实例化一个ObjectInputStream对象,然后调用其readObject()方法。 

      上面您的错误,就是在于有一个或者几个没有"序列化"的数据,导致没有办法创建输出流,导致发生的java.io.NotSerializableException。 

      之所以要序列化,我猜测是因为您的数据里面存在一个对象型的数据,但是该对象没有实现序列化。比如:您有一个字段为address,这个字段您是通过一个类Address来描述的,Address里面可能有province、city、street等等属性或者一些setter 和getter,如果这个类,没有实现序列化,往往会出现这个问题。 

      毕竟没有看到程序,是我的一个猜测,请检查一下程序或者发出来进行进一步讨论。

      08-11-03 | 添加评论 | 打赏

    • 0

      bmd911

       

      为了安全啊

      08-11-03 | 添加评论 | 打赏

    • 0

      firefiendd

       

      将对象的状态信息转换为可以存储或传输的窗体的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
        序列化使其他代码可以查看或修改那些不序列化便无法访问的对象实例数据。确切地说,代码执行序列化需要特殊的权限:即指定了 SerializationFormatter 标志的 SecurityPermission。在默认策略下,通过 Internet 下载的代码或 Intranet 代码不会授予该权限;只有本地计算机上的代码才被授予该权限。
        通常,对象实例的所有字段都会被序列化,这意味着数据会被表示为实例的序列化数据。这样,能够解释该格式的代码有可能能够确定这些数据的值,而不依赖于该成员的可访问性。类似地,反序列化从序列化的表示形式中提取数据,并直接设置对象状态,这也与可访问性规则无关。
        对于任何可能包含重要的安全性数据的对象,如果可能,应该使该对象不可序列化。如果它必须为可序列化的,请尝试生成特定字段来保存不可序列化的重要数据。如果无法实现这一点,则应注意该数据会被公开给任何拥有序列化权限的代码,并确保不让任何恶意代码获得该权限。
        序列化
        序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。
        序列化的目的:
        1、以某种存储形式使自定义对象持久化;
        2、将对象从一个地方传递到另一个地方。
        .NET Framework 提供两种序列化技术:
        * 二进制序列化保持类型保真度,这对于在应用程序的不同调用之间保留对象的状态很有用。例如,通过将对象序列化到剪贴板,可在不同的应用程序之间共享对象。您可以将对象序列化到流、磁盘、内存和网络等等。远程处理使用序列化“通过值”在计算机或应用程序域之间传递对象。
        * XML 序列化仅序列化公共属性和字段,且不保持类型保真度。当您要提供或使用数据而不限制使用该数据的应用程序时,这一点是很有用的。由于 XML 是一个开放式标准,因此,对于通过 Web 共享数据而言,这是一个很好的选择。SOAP 同样是一个开放式标准,这使它也成为一个颇具吸引力的选择。

      09-09-23 | 添加评论 | 打赏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294915.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java2的7次方怎么表示_静态市盈率要怎么看?

静态市盈率是估值一个公司质地的指标,同时它也就是大家常说的市盈率。它体现的是一个企业按照目前的盈利水平,我们买入后需要多长时间才能回本。那么静态市盈率高好还是低好呢?静态市盈率低好,高就意味着该股高估了。静态市盈率是…

中国科幻扛鼎之作,原来真的不止刘慈欣

▲ 点击查看50年前的某天,一个小孩和一群大人一起仰望着晴朗的天空,看着中国第一颗人造卫星“东方红一号”,默默地担心它会撞到其他星星。而这份小小的担心,成了他后来开始创造科幻的动力和梦想。这个仰望晴空的小孩叫刘慈欣。如果…

程学旗 计算机,徐明伟-青年科学家奖-中国计算机学会

2010CCF青年科学家奖获奖者徐明伟 教授清华大学分别于1994年和1998年在清华大学计算机科学与技术系获工学学士和工学博士学位。现为清华大学计算机系教授,博士生导师,网络所所长,计算机学会YOCSEF AC委员,中国通信标准化协会技术管…

.net6给winform带来的新功能

首先简化了Program文件&#xff0c;引入了全局命名空间&#xff0c;但顶级语句由于Main函数的特性[STAThread]没有引用进来。namespace WinFormsDemo {internal static class Program{/// <summary>/// The main entry point for the application./// </summary>[…

男生的哪个“不要”是真的不要?

1 每天一个被炒小技巧&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 今天你能接到水算我输&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 如何形容自己没钱&#xff1f;&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼4 猜中了开头没猜中结…

Git之如何解决Error:pathspec ‘/layout/radar_chart.xml‘ did not match any file(s) known to

不废话&#xff0c;先爆错误图片 问题产生原因&#xff1a; 我把android studio里面的项目提交到github里面的时候&#xff0c;出现了了error: pathspec app/src/main/res/layout/radar_chart.xml did not match any file(s) known to git.&#xff0c;因为我一开始新建了一个文…

江诗丹顿geneve系列_江诗丹顿的另一面

江诗丹顿在售表款目录里&#xff0c;不算阁楼工匠定制系列&#xff0c;你猜最贵的是哪一款&#xff1f;​答案不是包含三问、万年历和陀飞轮功能的传袭系列超卓复杂腕表&#xff0c;而是一枚具有简单时分功能的高级珠宝表款。打开江诗丹顿的官方微信公众号&#xff0c;进入微信…

程序内存一直在泄漏,原来是异步死循环了 !

一&#xff1a;背景 1. 讲故事上个月有位朋友找到我&#xff0c;说他的程序出现了内存泄漏&#xff0c;不知道如何进一步分析&#xff0c;截图如下&#xff1a;朋友这段话已经说的非常言简意赅了&#xff0c;那就上 windbg 说话吧。二&#xff1a;Windbg 分析 1. 到底是哪一方面…

太巧了!学霸夫妻携手进入武大读博,两人的硕士导师也是一对夫妻

全世界只有3.14 % 的人关注了爆炸吧知识本文募格学术撰写。参考来源&#xff1a;湖北日报、双一流大学网、募格学术此前报道等科研人的爱情是什么样子&#xff1f;或许是在学术的路上他们相识相知&#xff0c;往后也将共同拼搏&#xff0c;在科研领域擦出更多火花~前段时间&…

github怎么隐藏自己的pr记录_记便签的软件哪个好?怎么及时记录自己的想法

我们在平时的工作和生活中&#xff0c;如果遇到一些需要及时记下来的东西时&#xff0c;很多人都会选用在便签中记录下来的方式。对于记便签的软件来说&#xff0c;不同的品牌有不同的特点&#xff0c;要想在众多便签软件中选择出一款适合自己的&#xff0c;就需要下点功夫了&a…

bkwin设置文本控件为多行模式

2019独角兽企业重金招聘Python工程师标准>>> 指定textmode&#xff0c; 给到文本控件的区域 <class name"xxxxx" textmode"40A011"/> textmode是DT_FROMT位或值 DrawText api对应的formt 转载于:https://my.oschina.net/u/2436679/bl…

性能测试组件CodeBenchmark V2发布

CodeBenchmark是一款可视化的性能测试组件&#xff0c;通过组件可以对一个或多个功能代码进行一个并发测试&#xff1b;最终通过详细的测试结果来对比不同代码的性能差异。组件的使用非常简单&#xff0c;构建一个控制台程序然后引入BeetleX.CodeBenchmark组件编写几个代码即可…

一所传闻要被“降级”的211高校,让这位网红教授“救活了”

全世界只有3.14 % 的人关注了爆炸吧知识本文来源&#xff1a;量子位&#xff08; ID: QbitAI&#xff09; 作者&#xff1a;金磊 发自 凹非寺太原理工大学&#xff0c;最近着实有点火。先是11月12日至13日&#xff0c;其官网一口气更新了3位「杰青」副校长&#xff0c;在高校任…

加载elementor时出现问题_不锈钢管在焊接时出现问题要怎么解决?

佛山不锈钢装饰管焊接时会出现各种问题&#xff0c;今天佛山不锈钢装饰管厂家喜有沃小编就简单的整理了一些常见问题及解决方法&#xff0c;希望能对大家有所帮助。佛山不锈钢装饰管焊接制作护栏1&#xff0c; 表面气孔佛山不锈钢装饰管在焊接时产生表面气孔的原因一般为使用了…

Android之玩转MPAndroidChart让(折线图、柱形图、饼状图、散列图、雷达图)优雅的舞动

第一步:不废话,先爆照 我的github地址:https://github.com/changechenyu/MPAndroidChartTest 第二步:介绍MPAndroidChart适用场景并把它的库文件导入我们开发的项目 介绍: MPAndroidChart是一款基于Android的开源图表库,MPAndroidChart不仅可以在Android设备上绘制各种…

在PowerDesigner中设计物理模型1——表和主外键

在PD中建立物理模型由以下几种办法&#xff1a; 直接新建物理模型。设计好概念模型&#xff0c;然后由概念模型生成物理模型。设计好逻辑模型&#xff0c;然后由逻辑模型生成物理模型。使用逆向工程的方法&#xff0c;连接到现有的数据库&#xff0c;由数据库生成物理模型。物理…

.NET 6新特性试用 | 无需配置开发人员异常页

前言在.NET 6之前&#xff0c;我们需要在“Startup.cs”文件中手工配置开发人员异常页&#xff1a;if (env.IsDevelopment()) {app.UseDeveloperExceptionPage();app.UseSwagger();app.UseSwaggerUI(c > c.SwaggerEndpoint("/swagger/v1/swagger.json", "Web…

html5中表格如何等分,纯css3饼图五等分

先看效果图&#xff1a;HTML代码如下&#xff1a;pie良好优秀未提交需努力加油98%得分率css代码如下&#xff1a;.pinOfStudent{background-color: #ffffff;width: 100%;position: relative;}#tipZone{position:relative;left:0;right:0;top: 1em;width:12.5em;height:12.5em;m…

Android之开源框架NineOldAndroids动画库

1.介绍 Android3.0推出了全新的AnimationAPI&#xff0c;使用起来很方便&#xff0c;但是不能在3.0以下版本使用&#xff0c;NineOldAndroids是一个可以在任意Android版本上使用的AnimationAPI&#xff0c;API和Android3.0中的类似。 2.常用类 ObjectAnimator ValueAnimator A…

现在竟然还有补丝袜的?

1 看到柿子树千万不要踢&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 原来上床下桌还能这么简陋&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 你总是心太远心太远&#xff08;via.炕上的卡夫卡&#xff09;▼4 这个岗位的上一位同事离职原因▼5 …