<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    無為

    無為則可為,無為則至深!

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks
    《Java.6.Platform.Revealed》? Apress 2006.Jul 出版,不得不佩服國外出版社的效率。在ROR步步進逼,風聲雨聲的時候,八卦一下Java 6有什么新功能對Java程序員還是很好的。此書易讀,代碼清晰,239頁,大約幾個小時就能翻完。

    ?????? JDK6的升級大體可以分為幾大類:

    ?????? 一、JavaEE 5中新XML,WebService標準的JavaSE固化,如StAX、JAXB2、JSR181等。

    ?????? 二、JSR223 Script的引入,可在Java代碼中運行Javascript, Ruby, Php,對開發(fā)人員刺激較大。

    ????? ?三、JDBC 4,開始直接支持輕度的ORM,對XML支持增強,但其實要等各jdbc driver廠商的實現(xiàn)。

    ?????? 四、Compiler API及Pluggable Annocation,對IDE開發(fā)廠商幫助較大?,比如即時編譯。
    ???????????????而Common Annotations對普通開發(fā)人員意義更大一點。

    ?????? 五、每次升級必有的Swing、Collections、 IO 的小更新。?

    ??????JDK6 新特性很多文章都有提,還是實實在在的具體代碼更讓人放心。

    一、XML新標準

    JSR 105: XML Digital Signature
    JSR 173: Streaming API for XML
    JSR 222: JAXB 2.0

    1.StAX--Streaming API,一種在Dom,Sax之外號稱完美的XML處理方式

    大家都知道DOM雖好,但狂吃內(nèi)存。

    Sax并不把全部內(nèi)容保存在自己的內(nèi)存里,而是由Sax框架不斷調(diào)用處理程序?qū)崿F(xiàn)的OnElementBegin()等函數(shù),由框架推送內(nèi)容,處理程序通過回調(diào)函數(shù)處理所有內(nèi)容,Sax將XML內(nèi)容全部推給處理程序后就下班休息。所以稱為推模式。

    而StAX既然被稱為拉模式,訪問數(shù)據(jù)的方法其實與Sax差不多,但與只能被動實現(xiàn)回調(diào)函數(shù)的不能進行暫停和跳過等操控的Sax不同,StAX是主動用Iterator API循環(huán)去讀取XML的,控制權(quán)完全在處理程序手中。

    XMLInputFactory?xmlif?=?XMLInputFactory.newInstance();
    XMLEventReader?xmler?
    =?xmlif.createXMLEventReader(new?FileReader("points.xml"));
    XMLEvent?
    event;
    while?(xmler.hasNext())?{
    ??
    event?=?xmler.nextEvent();
    ??
    if?(event.isStartElement())?{
    ????console.printf(
    "%s",?event.asStartElement().getName());
    ??}?
    else?if?(event.isCharacters())?{
    ????console.printf(
    "%s",?event.asCharacters().getData());
    ??}
    }

    ?

    2.JAXB2使用Annotation定義實現(xiàn) Java->xml 的生成
    ? 只要在POJO里聲明了@XmlRootElement,JAXB2就會自動進行綁定。其他標簽還有一堆,大家自己看書的138頁。看sample比其他的binding方案清爽了不少。

    Pojo定義:

    @XmlRootElement
    private?static?class?Point?...{
    int?x;
    int?y;
    //getter?setter?about?x,y
    }

    生成XML的代碼:

    JAXBContext?context?=?JAXBContext.newInstance(Point.class);
    Marshaller?m?
    =?context.createMarshaller();
    Point?p?
    =?new?Point(3,?4);
    m.marshal(p,?System.out);

    輸出結(jié)果:

    <?xml?version="1.0"?encoding="UTF-8"?standalone="yes"?>
    <point>
    <x>3</x>
    <y>4</y>
    </point>

    ?XML Schema->Java Class

    一個叫xjc的自帶工具負責編譯,如xjc course.xsd。

    ?3.xml加密簽名包

    david.turing 會很關(guān)心,我一眼掃過去了,反正記得這功能已經(jīng)由JDK的javax.xml.crypto package提供就行了。



    凡是有該標志的文章,都是該blog博主Caoer(草兒)原創(chuàng),凡是索引、收藏
    、轉(zhuǎn)載請注明來處和原文作者。非常感謝。

    posted on 2006-09-07 15:00 草兒 閱讀(260) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: a级在线观看免费| 好湿好大好紧好爽免费视频| 波多野结衣免费一区视频 | 91免费国产精品| 久久精品国产亚洲AV无码偷窥| a级成人毛片免费图片| 亚洲国产精品高清久久久| 97在线免费视频| 亚洲久本草在线中文字幕| 免费看男人j放进女人j免费看| 亚洲av无码一区二区三区不卡| 视频免费在线观看| 久久久久久久久亚洲| 18禁男女爽爽爽午夜网站免费| 久久久久亚洲Av片无码v| 免费观看激色视频网站bd| 亚洲香蕉久久一区二区| 日本最新免费不卡二区在线| 日韩大片免费观看视频播放| 亚洲色欲久久久综合网| 一级毛片免费毛片一级毛片免费| 亚洲日产2021三区| 精品免费久久久久久成人影院 | 成在线人视频免费视频| 国产AV无码专区亚洲AV毛网站 | 亚洲精品NV久久久久久久久久| 人与动性xxxxx免费| 亚洲AV中文无码乱人伦下载| 天天影视色香欲综合免费| 日韩国产精品亚洲а∨天堂免| 亚洲综合久久夜AV | 在线免费中文字幕| 亚洲AV无码一区二区三区电影| 亚洲精品无码你懂的网站| 99爱免费观看视频在线| 亚洲欧洲AV无码专区| 亚洲午夜国产精品无码| 思思re热免费精品视频66 | 亚洲成a人无码亚洲成www牛牛| 久久久久国产成人精品亚洲午夜| 四虎影视在线影院在线观看免费视频|