JDK 6.0--总述及XML的新标准
《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,对开发人员刺激较大。 三、JDBC 4,开始直接支持轻度的ORM,对XML支持增强,但其实要等各jdbc driver厂商的实现。 四、Compiler API及Pluggable Annocation,对IDE开发厂商帮助较大 ,比如即时编译。 五、每次升级必有的Swing、Collections、 IO 的小更新。 JDK6 新特性很多文章都有提,还是实实在在的具体代码更让人放心。 一、XML新标准 JSR 105: XML Digital Signature 1.StAX--Streaming API,一种在Dom,Sax之外号称完美的XML处理方式 大家都知道DOM虽好,但狂吃内存。 Sax并不把全部内容保存在自己的内存里,而是由Sax框架不断调用处理程序实现的OnElementBegin()等函数,由框架推送内容,处理程序通过回调函数处理所有内容,Sax把XML内容全部推给处理程序后就下班休息。所以称为推模式。 而StAX既然被称为拉模式,访问数据的方法其实与Sax差不多,但与只能被动实现回调函数的不能进行暂停和跳过等操控的Sax不同,StAX是主动用Iterator API循环去读取XML的,控制权完全在处理程序手中。 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定义实现 Java->xml 的生成 Pojo定义: @XmlRootElement private static class Point ...{ int x; int y; //getter setter about x,y } 生成XML的代码: 输出结果: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <point> <x>3</x> <y>4</y> </point> 上一篇: 怎么样让12px以下的文字正常显示 下一篇: 纯CSS 实现Tooltips效果 更多相关文章
|
推荐文章
· 变色滚动栏
|