一位网络牛人,一位计算机专业的达人,写的一份强大的文章!今天整理出来,奉献给大家!JAVA的编程技巧,很好,很强大
Java杂谈(五)
本来预计J2se只讲了第四篇就收尾了,可是版主厚爱把帖子置顶长期让大家浏览让小弟倍感责任重大,务必追求最到更好,所以关于J2se一些没有提到的部分,决定再写几篇把常用的部分经验全部写出来供大家讨论切磋。这一篇准备讲一讲Xml解析包和Java Swing,然后下一篇再讲java.security包关于Java沙箱安全机制和RMI机制,再进入J2ee的部分,暂时就做这样的计划了。如果由于实习繁忙更新稍微慢了一些,希望各位见谅!
1. Java关于XML的解析
相信大家对XML都不陌生,含义是可扩展标记语言。本身它也就是一个数据的载体以树状表现形式出现。后来慢慢的数据变成了信息,区别是信息可以包括可变的状态从而针对程序硬编码的做法变革为针对统一接口硬编码而可变状态作为信息进入了XML中存储。这样改变状态实现扩展的唯一工作是在XML中添加一段文本信息就可以了,代码不需要改动也不需要重新编译。这个灵活性是XML诞生时候谁也没想到的。
当然,如果接口要能提取XML中配置的信息就需要程序能解析规范的XML文件,Java中当然要提高包对这个行为进行有利支持。笔者打算讲到的两个包是org.w3c.dom和javax.xml.parsers和。(大家可以浏览一下这些包中间的接口和类定义)
Javax.xml.parsers包很简单,没有接口,两个工厂配两个解析器。显然解析XML是有两种方式的:DOM解析和SAX解析。本质上并没有谁好谁不好,只是实现的思想不一样罢了。给一个XML文件的例子:
<?xml version=”1.0” encoding=”UTF-8” >
<root >
<child name=”Kitty” >
A Cat
</child >
</root >
所谓DOM解析的思路是把整个树状图存入内存中,需要那个节点只需要在树上搜索就可以读到节点的属性,内容等,这样的好处是所有节点皆在内存可以反复搜索重复使用,缺点是需要消耗相应的内存空间。
自然SAX解析的思路就是为了克服DOM的缺点,以事件触发为基本思路,顺序的搜索下来,碰到了Element之前触发什么事件,碰到之后做什么动作。由于需要自己来写触发事件的处理方案,所以需要借助另外一个自定义的Handler,处于org.xml.sax.helpers包中。它的优点当然是不用整个包都读入内存,缺点也是只能顺序搜索,走完一遍就得重来。
大家很容易就能猜到,接触到的J2ee框架用的是哪一种,显然是DOM。因为类似Struts,Hibernate框架配置文件毕竟是很小的一部分配置信息,而且需要频繁搜索来读取,当然会采用DOM方式(其实SAX内部也是用DOM采用的结构来存储节点信息的)。现在无论用什么框架,还真难发现使用SAX来解析XML的技术了,如
32页 5财富值 JAVA杂谈9——2 3页 5财富值 杂谈JAVA 3页 1财富值 java学习杂谈 31页 1财富值 JAVA杂谈2 3页 2财富值 JAVA杂谈9 4页 2财富值 JAVA杂谈...
JAVA杂谈2 JAVA杂谈3 JAVA杂谈4 JAVA杂谈5 JAVA杂谈6 JAVA杂谈7 JAVA杂谈8 JAVA...Java杂谈(九)--Struts2 最近业余时间笔者一直Java Virtual Machine的研究,由于...
32页 5财富值 JAVA杂谈9——2 3页 5财富值 杂谈JAVA 3页 1财富值 java学习杂谈 31页 1财富值 JAVA杂谈2 3页 2财富值 JAVA杂谈9 4页 2财富值 JAVA杂谈...
3页 5财富值 Java杂谈 32页 1财富值 Java杂谈 10页 1财富值 Java学习杂谈 32页 5财富值 杂谈JAVA 3页 1财富值 java学习杂谈 31页 1财富值 JAVA杂谈9 4...
32页 5财富值 JAVA杂谈9——2 3页 5财富值 java学习杂谈 31页 1财富值 JAVA杂谈2 3页 2财富值 JAVA杂谈9 4页 2财富值 JAVA杂谈5 3页 2财富值 JAVA杂...
杂谈JAVA 3页 1财富值 JAVA杂谈2 3页 2财富值 JAVA杂谈9 4页 2财富值 java杂谈 暂无评价 14页 5财富值 JAVA杂谈5 3页 2财富值 JAVA杂谈4 暂无评价 3页...
32页 5财富值 JAVA杂谈9——2 3页 5财富值 java学习杂谈 31页 1财富值 杂谈JAVA 3页 1财富值 JAVA杂谈2 3页 2财富值 JAVA杂谈9 4页 2财富值 JAVA杂谈...
杂谈JAVA 3页 1财富值 JAVA杂谈2 3页 2财富值 JAVA杂谈9 4页 2财富值 java杂谈 暂无评价 14页 5财富值 JAVA杂谈5 3页 2财富值 JAVA杂谈4 暂无评价 3页...
32页 5财富值 JAVA杂谈9——2 3页 5财富值 杂谈JAVA 3页 1财富值 java学习杂谈 31页 1财富值 JAVA杂谈2 3页 2财富值 JAVA杂谈9 4页 2财富值 JAVA杂谈...
32页 5财富值 JAVA杂谈9——2 3页 5财富值 杂谈JAVA 3页 1财富值 java学习杂谈 31页 1财富值 JAVA杂谈2 3页 2财富值 JAVA杂谈9 4页 2财富值 JAVA杂谈...
我要评论