作者:江南白衣
《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的,控制权完全在处理程序手中。
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,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); 输出结果:
<?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 会很关心,我一眼扫过去了,反正记得这功能已经由JDK的javax.xml.crypto package提供就行了。
分享到:
相关推荐
APRESS--Logging-in-Java-with-the-JDK-1_4-Logging-API-and-Apache-log4j
Apress-matlab-machine-learning.zip
#### 一、书籍介绍及目标读者群体 本书《Database Programming with C#》由Laxxuss撰写,出版于2002年,是关于如何使用C#进行数据库编程的一本经典著作。书中详细介绍了C#语言的基础知识以及如何利用C#来实现数据库...
apress pro asp.net web api 英文电子书 The fact that you are reading this means you are interested in learning something about ASP.NET Web API (application programming interface). Perhaps you are ...
I am happy to announce C# 6.0 and the .NET 4.6 Framework has been a joint effort between myself and co-author Philip Japikse. Please allow Philip to introduce himself… —Andrew Troelsen
《驯服Java线程》是Apress出版的一本关于Java多线程编程的书籍,它深入探讨了如何在Java环境中有效地管理和控制线程,以优化程序性能和稳定性。线程在现代软件开发中扮演着至关重要的角色,尤其是在并发处理和高并发...
### .NET平台新书-Apress - Pro C# 2010 and the .NET 4 Platform 5th Edition (2010) 知识点总结 #### 一、书籍基本信息 - **书名**:《Pro C# 2010 and the .NET 4 Platform》(第五版) - **作者**:Andrew ...
《Apress Beginning T-SQL 2012》第二版是针对SQL Server 2012数据库管理系统的一本入门教程,旨在帮助读者掌握T-SQL(Transact-SQL)语言的基础知识和应用技巧。T-SQL是SQL Server的核心查询语言,用于数据查询、...
书号为:ISBN-13(pbk): 978-1-4302-1942-2 和 ISBN-13(electronic): 978-1-4302-1943-9。本书在美国印刷装订。 #### 商标声明 书中可能涉及的商标名称,在未使用商标符号的情况下出现,是为了保持编辑风格的一致性...
### 知识点总结:《Apress - Silverlight 2 Recipes: A Problem-Solution Approach》 #### 一、书籍概述 《Apress - Silverlight 2 Recipes: A Problem-Solution Approach》是一本针对Silverlight 2开发者的实用...
### 关于《Apress Beginning Java 7》电子书的关键知识点 #### 一、关于书籍概述 本书名为《Apress Beginning Java 7》,是一本适合Java初学者的基础教程,由Apress出版社出版。这本书旨在帮助读者从零开始学习Java...
《Apress Beginning PhoneGap》 源码 PhoneGap-Accelerometer PhoneGap-Accelerometer-Image PhoneGap-Android-GWT-Hellworld PhoneGap-Camera PhoneGap-Compass PhoneGap-DeviceInfo 等
### 关于《Apress - Beginning Django E-Commerce》的知识点概览 本书《Apress - Beginning Django E-Commerce》由Jim McGaw编写,出版于2009年10月,是一本专为想要学习如何使用Django Web框架构建电子商务网站的...
### Apress - Beginning XML with DOM and Ajax - From Novice to Professional #### 一、XML (Extensible Markup Language) **XML**是一种标记语言,类似于HTML,但它的设计目的是传输和存储数据,而不是显示数据...
- ISBN-13 (pbk):978-1-59059-727-9 - ISBN-10 (pbk):1-59059-727-3 - **印刷地**:美国 - **版权说明**:本书所有权利受法律保护,未经版权所有者许可,不得以任何形式复制或传播。 - **技术审稿人**:Dan Webb...
- **ISBN**:1-59059-390-1 - **版权信息**:版权所有,未经许可不得以任何形式复制或传播。 ### 二、技术背景与目标读者 #### 技术背景 - 本书主要关注的是服务导向架构(Service-Oriented Architecture, SOA)在...
SPRING RECIPES-A PROBLEM SOLUTION APPROACH