??xml version="1.0" encoding="utf-8" standalone="yes"?>久久成人精品视频,91在线观看免费观看,美女精品一区http://www.aygfsteel.com/magic_java/停不下的脚步Q伴着Java成长Q? zh-cnTue, 17 Jun 2025 05:54:52 GMTTue, 17 Jun 2025 05:54:52 GMT60[]XStream常见问题解析http://www.aygfsteel.com/magic_java/archive/2006/02/16/30976.htmlThu, 16 Feb 2006 05:25:00 GMThttp://www.aygfsteel.com/magic_java/archive/2006/02/16/30976.htmlhttp://www.aygfsteel.com/magic_java/comments/30976.htmlhttp://www.aygfsteel.com/magic_java/archive/2006/02/16/30976.html#Feedback1http://www.aygfsteel.com/magic_java/comments/commentRss/30976.htmlhttp://www.aygfsteel.com/magic_java/services/trackbacks/30976.htmlXStream常见问题解析

XStream所支持?/SPAN>JDK版本

XStream支持JDK1.3及以后的版本

在不同的JVM?/SPAN>XStreamq行会有差异吗?

XStream有两U运行模式:?/SPAN>Java模式和增强模式?/SPAN>

在存Java模式下,XStream在不?/SPAN>JVM中的q行是一LQ但׃不同JVM?/SPAN>reflection机制的支持有所差异Q会D一些类或字D将无法序列化?/SPAN>

在增强模式下Q?/SPAN>XStream没有上述限制Q然而这U模式ƈ不被所有的JVM所支持?/SPAN>

哪种JVM支持XStream以增强模式运行?

       目前Sun?/SPAN>Apple、和HP?/SPAN>JVM 1.4或更新的版本支持增强模式。所有的JVM均支持以?/SPAN>Java模式q行?/SPAN>

两种模式下差异比?/FONT>

       仅以Sun JDK 1.4Z说明两种模式下,XStreamq行的差异?/SPAN>

功能                            ?/SPAN>Java模式                 增强模式

公有c?/SPAN>                         YES                             YES

非公有类                     NO                              YES

静态内部类                  YES                             YES

非静态内部类              NO                              YES

匿名静态内部类           NO                              YES

无缺省构造函?/SPAN>           NO                              YES

有缺省构造函?/SPAN>           YES                             YES

Private字段                  YES                             YES

Final字段                     NO                              YES

如何序列化集合对象?

参考下面的代码CZQ?/SPAN>

class Person {

  private String name;

  private List toys = new ArrayList();

  // ...

}

 

class Computer {

  String type;

}

 

class Car {

  String color;

}

 

xstream.alias("person", Person.class);

xstream.alias("computer", Computer.class);

xstream.alias("car", Car.class);

 

Person person = new Person("Joe");

person.addToy(new Computer("apple"));

person.addToy(new Computer("spectrum"));

person.addToy(new Car("blue"));

 

String xml = xstream.toXML(joe);

 

CZq回l果Q?/SPAN>

<person>

  <name>Joe</name>

  <toys>

    <computer>

      <type>apple</type>

    </computer>

    <computer>

      <type>spectrum</type>

    </computer>

    <car>

      <color>blue</color>

    </car>

  </toys>

</person>

如果使用XStream序列化对象,对象必须要实?/SPAN>Serializable接口吗?

       不必

动态代理类能被序列化吗Q?/FONT>

       可以

当对象发生改变时Q?/SPAN>XStream如何处理Q?/SPAN>

       当对象新增加一个字D|Q?/SPAN>XStream在反序列化旧版本的对象时Q会忽略q个新增的字D,不作M处理?/SPAN>

       当对象删除一个字D|Q?/SPAN>XStream在反序列化旧版本的对象(包含该字D)Ӟ会抛出异怿息?/SPAN>

       如果对象的字D|名了Q将被视作删除了一个字D,然后再新增一个字Dc?/SPAN>

       对于更高U别的类ULQ我们在发送信息到XStream之前Q必要?/SPAN>XML对象q行预处理?/SPAN>

       XStreamq在不断的开发过E中Q相信在未来的版本中Q上q操作会更成熟,更容易?/SPAN>

XStream是线E安全的吗?

       是的。一?/SPAN>XStream实例已经被创建ƈ配置后,它能够在多线E中׃n允许对象q发的进行序列化和反序列化操作?/SPAN>

2006-02-16 13:25 发表评论
]]>
[开源项目]开源项目Xstream?/title><link>http://www.aygfsteel.com/magic_java/archive/2006/02/16/30971.html</link><dc:creator>戒</dc:creator><author>戒</author><pubDate>Thu, 16 Feb 2006 05:17:00 GMT</pubDate><guid>http://www.aygfsteel.com/magic_java/archive/2006/02/16/30971.html</guid><wfw:comment>http://www.aygfsteel.com/magic_java/comments/30971.html</wfw:comment><comments>http://www.aygfsteel.com/magic_java/archive/2006/02/16/30971.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/magic_java/comments/commentRss/30971.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/magic_java/services/trackbacks/30971.html</trackback:ping><description><![CDATA[     摘要:     开源项目Xstream? 目录 目?.. 4 典型的应用场?.. 5 pȝ架构分析... 5 实例讲解... 6 创徏需要序列化的对象类... 6 初始化XStreamc?.. 9 注册需要{换的cȝ别名... 10 对象序列化为XML文档... 10 从XML文g反序列化成对?.. 11 l束?.. 11 ...  <a href='http://www.aygfsteel.com/magic_java/archive/2006/02/16/30971.html'>阅读全文</a><img src ="http://www.aygfsteel.com/magic_java/aggbug/30971.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/magic_java/" target="_blank">戒</a> 2006-02-16 13:17 <a href="http://www.aygfsteel.com/magic_java/archive/2006/02/16/30971.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java之父QؓJava发展惊奇 和脚本语a走得更近http://www.aygfsteel.com/magic_java/archive/2005/07/11/7415.htmlMon, 11 Jul 2005 03:47:00 GMThttp://www.aygfsteel.com/magic_java/archive/2005/07/11/7415.htmlhttp://www.aygfsteel.com/magic_java/comments/7415.htmlhttp://www.aygfsteel.com/magic_java/archive/2005/07/11/7415.html#Feedback1http://www.aygfsteel.com/magic_java/comments/commentRss/7415.htmlhttp://www.aygfsteel.com/magic_java/services/trackbacks/7415.html    十年前,Sun微系l公司将Java搬到了世人面前,q是首次协助企业建立h前瞻性的思想的一ƾYӞ随后Javaq猛扩散Q深入到计算Z的几乎每个角落。这Ҏ术的q后英雄Q就是本文采访的James Gosling?

上个世纪90q代初,Gosling发vqg一个名为Green的项目,此项目最l演变ؓJava。Java 的基本理忉|创造一U可以在不需修改的情况下执行在各U运设备上的程序。例如,一个装备了Java虚拟机器的手机游戏Y件也应该可以在别的手Z使用?

q去十年Q这Ҏ术nl百战。早期的合作伙伴微Y发现JavaE序的^台无x对Windows带来不利Q于是稍做修改,另创适合Windows的Java版本Q从而引发了七年的官司。由于消Ҏ设备、PC及服务器需要有不同的JavaQSun一直努力想扑ֈ合适的Ҏ与其他各方分享Java的掌控权。以至于到现在,包括IBM在内的许多公叔R在不断呼吁Sun开放JavaM部分的源码?

管如此QJava已经在计机领域站稳脚跟。Sun首席执行官Scott McNealy可能q是会发布冠冕堂皇的演说Q但在上周二Sun JavaOne大会上他的一番讲话话却十分中肯,他说Q“七、八q前的JavaOne演说现在听v来真是寒,我们那时实在是太看它了。我们根本不知道q项技术要做什么。?

Gosling全程参与了JavaOne上周的活动,现在的他头发已经qQ但牛仔裤、T恤衫和Birkenstockq动鞋的装束始终未变。“他看来像是一个老嬉皮,”Gosling的女儿在周二大会的媄片中现n说法Q惹得这位知天命的Java教父在台上满脔R红?

以下是Gosling畅谈Java理念的记录?

问:在Java的设计之初,你心中有惛_q它会是什么样子吗Q?

GoslingQ回惌计Green目的时候,我们寚wq未来大谈了许多。我们曾写过一本很多场景组成的册子,许多Java设计都是依据q些场景构想出来的。我觉得那比较像是科qd说的做法Q你从来都不知道世界会走向何方,你可以Q意预技术的发展Q但惌归想象,和实际还是有很大差距的。我非常怿摩尔定律会成为现实,轻而易丑֜而把一个个的点q成一了快速传播信息的|络?

我大胆预许多科技一定会那样发展Q当然会只是存在安全、可靠及便携{方面的问题。我们参与对q些问题的绝大部分给出答案,最后的l果一定会让大家惊奇万分?

问:最初,你的Green目不是把重Ҏ在消Ҏ电子设备上吗?

GoslingQ项目设计初期,我们p很多旉和各界h士交谈,我们看到同样的问题发生在消费性电子设备、新兴手机及嵌入式控制系l领域。我们和甉|、机车、电力控制系l的刉商及汽车界的工作h员交谈过。我们也和VCR和电视机开发商交流q。在Green目初期Q我们决定做个原型,我们必须把精力集中在q一点,我们选择了消Ҏ电子设备,很大E度上是因ؓq个领域更有?

虽然许多人都觉得很这个计划有意思,但我们还是疑惑是不是能把q个计划用在自我支持上?差不多同时期Q时代华Uؓ全方位服务网l公开招标Q那正是我们梦寐以求的事──|络q到家庭、在|络上传递语韛_影像、内容互动等{。“是的!q正是我们想要的Q是我们Z奋斗的目标!”于是我们就一头扎了进来?

问:那实际上是在互动电视的发展初期吧Q?

GoslingQ没错,那真是一个具有远见的计划。很多h都说Q“我们也惌样做。?

时代华纳的计划因为各U原因后来变得十分奇怪,我们没能拿下他们的标。回惌v来,我还很庆q我们那时输了。赢家SGI后来不知׃多少钱做那个单子Q但没得到多大回报?

问:你认为Java是用在这U狭H领域上的技术呢Q还是可能深入到在整个电脑业的技术?

GoslingQ我们ƈ没有计划要把它推向整个业界,但我们看到整个业在做类似的事,每个pȝ内部都装有数码控制器。但是存在着严重的相互操作性问题,所有东襉K在相互整合,q事实引起了我们的注意。就像你站在暴力赛R场外看到所有R子都在朝竞赛Z心开去,一定会撞成一团糟?

问:Java解决了相互操作性的问题Q但微Y另辟y径创出?NetQ引发了更高层的兼容性问题。有什么方法可以把.Net 及Java整合h吗?

GoslingQ某U程?比如Web services)Q就像一座桥梁。但是我们不能把不愿融在一L东西往一块拉。微软很明显地就是想要走自己的\Q他们向来喜Ƣ标新立异。他们曾作ؓJavaC֌里非怼U而可q成员Q可惜只持箋了半q多Q后来他们认样不好?

问:那是1995q还1996q的事吧Q?

GoslingQ应该是?996q。共同合作双方的意向。对微Y而言q是一个长期的教育q程Q他们好像不太喜Ƣ这U方式。他们貌似在跟你走更q,例如我们之间合作开发了不少不错的品,但其实彼此间q隔了一步之遥。我们之间的有共通点Q像Web services或相互操作性,都是很好的说明?

问:你们不能把用C#开发成?NetE序上融入到Java虚拟机器中吗Q?

GoslingQ我们的差别在于他们大量使用q种不安全的方式Q但我坚册Z应该用不安全的方式?BR>
问:不安全?您的意思是…?

GoslingQ源代码有受的和不受管的之分。受源代码是可以确保安全与E_性的Q而不受管的源代码你无法保证什么。有时正的做法也会引v内存损害Q程序运作十分不Ҏ分析。CE序是一U不受管E序Q可能莫名其妙就挂了Q最后造成安全上的重大影响。用C语言Q你可以假造事物的w䆾Q但用JavaQ是l不容许伪造n份的?/FONT>

问:微YZ么想加入Java Community Process(JCP)Q?

GoslingQ我不清楚,你可以问问Sun 首席技术官Greg Papadopoulos?

问:你希不希望看到双方回到当初半q多的密切合作状态?

GoslingQ我很期待看C们和JCP其他成员合作?

问:你们刚把Java应用服务器Y件作为玻璃鱼开放源码,是不是也有可能把Java标准?Java SEQJava的基)开源发布?

GoslingQ或怼的。我们过MؓJava SE做的一切和开放源代码其实差不多,主要差别只是在于我们的授权要求要有测试。在做过调查后,我们认ؓ试是非帔R要的。但开源界人士一斚w说他们会接受试Q另一斚w又说他们只是不同意测试。我们可能有一天会开放Java SE的源代码Q主要得考虑怎么做比较好?

有很多事让我们十分紧张。许多h都有q用JavaScript的经验,不同JavaScript间也存在相当严重的相互操作性问题,对网制作者来说是一大梦。Java界的人都得拿着JavaScript手册才能做事Q真是太可怕了?

问:像BEA{公怼加入一些东西得JavaE序只有在他们的应用服务器上才能执行Q到头来Java也会变得不可携,是这L吗?

GoslingQ没错,q的是个问题。但臛_Q这q只是在特别功能上而已。Java有个包命?package naming)工具。当用APIӞ你得x用的是公开标准的API──像Java{──或是某公司的专有API──例如com.beaQ作Z个开发者就一定要十分心。开发h员真得很在乎可携性,每次使用com.bea你会觉得很难受。JavaScript的一个困隑ְ是无法判断你用的是不是某个浏览器专用的功能?

另外Q事情也会演变成某个应用伺服器厂商具有一些想法,而大安觉得不错Q这个想法就会送到JSR(Java Specification request)Q那么这家厂商第二或W三版本也会是在标准的Java框架内?

问:N不能在开放Java源代码后通过品牌名称来控制兼Ҏ吗Q比如说Q要求在其Java名称被充许前Q就取得认证Q?

GoslingQ这Ҏ们做q许多讨论。Sun是一个十分民ȝ公司Q有个方法可行,有h反对Q目前反对者占多数?

问:你持反对观点吗?

GoslingQ我有时是站在赞成的一方,不过我得承认我常常反复不定?

问:能将五年前的Java技术和今天的做一比较吗?

GoslingQ最大的差别在于Java已经变成许多大型的关键的pȝ的中心,q就需要保守一炏V当你的pȝ是一个每晚结数百亿W交易的银行pȝӞ小一个bug也会酿成巨祸。早期我们有很多异想天开的点子,但现在我们得考虑到哪些h会受到我们媄响。现在一切都要考虑周全才行?

问:通过Groovy{项目,Sun正在让Java世界和脚本语a走得更近Q但坦白讲我不太清楚~程语言和像PHP、Perl、Pythonq样的脚本语a有什么不同?

GoslingQ你的困惑其实是有根据的。世界上有太多松散的语言Q给不同人提供不同的用途?

当h们提到脚本语aӞ往往惛_的是可以很快让开发h员把东西拼凑好,很快拿出去跟客户做演C。程序的性能怎么栗扩充性如何,或是能不能徏成一个大pȝ到在其次才考虑。但在Java设计上,我们不太在乎能不能很快写成一个程序出门去做演C,我们在乎的是能不能很快写成一个大型的h良好扩充性的E序Q到最后我们做的决定往往比较困难实现。一般来Ԍ在设计上Q脚本语a比编E语a要容易?

Java设计有两个层ơ:Java虚拟机和Java语言。难点在Java虚拟机及其以下的部分。如果把脚本语言用在Java虚拟ZQ就可以兼得两者的优点?

问:你是q么做吗Q?

GoslingQ是的。Groovy开发的东西可以获得所有的Java库,Java应用也可以用Groovy?/FONT>



2005-07-11 11:47 发表评论
]]>
վ֩ģ壺 | Ľ| | | | Ҫ| | | ͬ| Ԫ| | | | ̽| ľ| | ɽ| | | | ˳| º| ±| ߰| | | | ½| ԭ| | | Į| | ̨| | | ɽ| ԣ| | ζ| |