Apress新书迎接JDK 6.0(1)--总述及XML的新标准
来源:互联网 发布:女生抑郁症的表现知乎 编辑:程序博客网 时间:2024/05/22 13:08
作者:江南白衣
《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开发厂商帮助较大 ,比如即时编译。
而Common Annotations对普通开发人员意义更大一点。
五、每次升级必有的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虽好,但狂吃内存。
Sax并不把全部内容保存在自己的内存里,而是由Sax框架不断调用处理程序实现的OnElementBegin()等函数,由框架推送内容,处理程序通过回调函数处理所有内容,Sax将XML内容全部推给处理程序后就下班休息。所以称为推模式。
而StAX既然被称为拉模式,访问数据的方法其实与Sax差不多,但与只能被动实现回调函数的不能进行暂停和跳过等操控的Sax不同,StAX是主动用Iterator API循环去读取XML的,控制权完全在处理程序手中。
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,JAXB2就会自动进行绑定。其他标签还有一堆,大家自己看书的138页。看sample比其他的binding方案清爽了不少。
Pojo定义:
private static class Point ...{
int x;
int y;
//getter setter about x,y
}
生成XML的代码:
Marshaller m = context.createMarshaller();
Point p = new Point(3, 4);
m.marshal(p, System.out);
输出结果:
<point>
<x>3</x>
<y>4</y>
</point>
XML Schema->Java Class
一个叫xjc的自带工具负责编译,如xjc course.xsd。
3.xml加密签名包
david.turing 会很关心,我一眼扫过去了,反正记得这功能已经由JDK的javax.xml.crypto package提供就行了。
- Apress新书迎接JDK 6.0(1)--总述及XML的新标准
- XML Web服务体系结构GXA的新标准
- apress
- XML学习《总述》
- 新书: stage3d的新书
- 您准备好迎接 XOP(面向 XML 的编程)时代了吗?
- 好男人的新标准
- 新书:锋利的SQL(第2版)开始发售及代码下载
- 迎接新年 - 我的音乐盒(三)
- 新标准
- IEC 60335-1: 2001新标准的变化简介
- IEC 60335-1: 2001新标准的变化简介
- IEC 60335-1: 2001新标准的变化简介
- 视频编码新标准H.264的技术亮点(转)
- 关注未来,迎接wave--(1)
- (一)设计模式分类及总述
- 21世纪的健康新标准
- C++ 新标准的 PDF 文档
- 用完成端口搭建自己的网络应用服务
- document.execCommand() 解析
- testsets
- 第一篇文章
- 利用oracle的job定时执行任务
- Apress新书迎接JDK 6.0(1)--总述及XML的新标准
- spring空和null的表示
- 用window.close()关闭而不弹出提示窗口
- 查看本机上的字符集
- 庆祝blog申请成功!
- DIRECTSHOW 心情随笔
- 从OLTP向OLAP迁移
- 颠倒众生的五个女人
- 加菲猫搞笑造型