- 浏览: 468393 次
- 性别:
- 来自: 杭州
最新评论
-
chxiaowu:
nice!
Quartz实现固定执行次数 -
zxjlwt:
学习了。http://surenpi.com
自定义ClassLoader -
kadlly:
public static final Logger log ...
Hessian 权限认证 -
spring_springmvc:
java程序语言学习教程 地址http://www.zuida ...
Java-Final -
liushuiwuyan:
[img][/img]
设计模式-单例
文章列表
dom,sax,dom4j,jdom,xerces
- 博客分类:
- XML
dom,sax,dom4j,jdom的关系就不描述了.xerces是xml解析的实现,可以设置覆盖jdk的默认解决实现.
1. dom(w3c标准,JDK自带)
package org.w3c.dom;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml. ...
xStream之xml
- 博客分类:
- XML
1. 把对象进行字符串输出,把字符串作为对象读入
package org.frame.xstream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.StringReader;
import java.io.StringWriter;
import java.io.Writer;
import org.frame.xstream.dataobject.blog.Entry;
import ...
Eclipse中导入不允许的引用
- 博客分类:
- eclipse
今天在eclipse中导入了一个web项目,在代码:
Security.addProvider(new com.sun.crypto.provider.SunJCE());
处出现了红色的叉叉,错误信息如下:
Access restriction: The constructor SunJCE() is not accessible due to restriction on required library D:\program files\Java\jdk1.5.0\jre\lib\ext\sunjce_provider.jar
字面意思就是库中SunJCE限限制访问,SunJCE() ...
(重拾)Spring之类型转换器
- 博客分类:
- Spring
因为非常的简单,原则就不说明了,与属性转换器差不多功能,针对的是全局的类型.
Spring配置如下:
<bean id="customConvertConfigurer"
class="org.springframework.context.ConvertsBeanFactoryPostProcessor">
<property name="converters">
<list>
<ref bean="dataConverter" ...
(重拾)Spring之属性编辑器
- 博客分类:
- Spring
因为XmlBeanFactory为BeanFactory的实例,用户需要手工调用registerCustomEditor(Class<?> requiredType, Class<? extends PropertyEditor> propertyEditorClass)方法注册自定义属性编辑器,Spring属性编辑器的注册方式不支持属性的注入,只能通过需要转化的类型和对应的属性编辑器类型,如此便不能往属性编辑器中传递参数了,如何初始化信息?
package org.springframework.beans.factory.xml.support;
impor ...
现在中国的项目很多,编码无非是UTF-8,GBK,GB2312,到是没见过ISO8859-1的,可能国外项目会使用吧,在中国还是使用中文注释的比较多.
也许你没有经历过开发中两个项目使用不同的编码,也可能你在开发的时候使用UTF-8,而合作方的编码使用的是GBK,也可能是自己在开发第一个项目的时候使用的是GBK,开发第二个项目的时候设置成了UTF-8,转码就是件费时费力的事情,写了个小工具,可以批量转一个目录下的全部Java文件编码,代码如下:
package org.frame.build;
import java.io.BufferedReader;
import java.i ...
Spring的schemaResolver
- 博客分类:
- XML
Spring解析xml可以参考以上,可以指定自定义的schema,使用Jdk提供的xml API解析xml.
接下来Spring针对自己的schema,针对自己定义的xml元素,解析并注入到Spring的Bean中。
为了保持Spring的高可扩展性,用户可以在Spring的基础上最大限度的开放,这里采用了Schema Resolver,解析器采用最基本的Document Element.
这里给个例子并不是基本Spring的插件体系,不过原因相同。
package org.frame.base.xml.jdk.bk;
import java.io.IOException;
i ...
对于解析大型的xml,可能使用整个document或整个文件都读到内存中是不合适的。
以下只是一个用例,sax解析是无状态的,也就是说他不知道上一次解析了什么,或下一次解析什么,他只知道解析的是当前行,所以这是流水线的,不会占大内存.
package org.frame.base.xml.jdk;
import java.io.IOException;
import java.io.StringReader;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXP ...
JAXB:这是java处理xml的标准.
说明
使用了JAXBContext.createUnmarshaller()转化xml到Java类,这里可以指定命名空间.
使用了JAXBContext.createMarshaller()转化Java类到xml,这里可以指定命名空间.
设置JAXBContext.createMarshaller()输出xml的相当属性,格式 ...
Spring读取xml文件[schema/dtd]
- 博客分类:
- XML
主测试类如下:
说明
使用了ErrorHandler,主要是把异常信息接到我们常用的日志信息中
使用了EntityResolver,实体解析类,主要解决xml中publicId对应的schema/dtd.
设置了DocumentBuilderFactory,主要设置名称空间,是否验证schema/dtd
建立META-INF/myschema.schemas,指定命名空间对应的xsd/dtd实际的路径[本地或网络]
package org.frame.base.xml.jdk.bk;
import java.io.IOException;
import java.io.S ...
Tomcat集成OSGi,首先要选择OSGI服务器,我这里采用的是equinox.jar.
第一步开发OSGI的bundle,这里就不说明了.
第二步构建OSGi在Tomcat下的目录结构如图${Tomcat_Home}/lib
第三步配置OSGI启动项,配置文件[config.ini]内容如下:
osgi.noShutdown=true
osgi.bundles=reference\:file\:bundles/org.apache.commons.logging_1.0.4.v201101211617.jar@start,reference\:file\:bundles/org. ...
JDK的Logging
- 博客分类:
- JDK
jdk自带有一个log日志,对于一般的使用,仅够了.
代码如下:
package org.frame.base.logging;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* JDK自带的log挺好玩的
*
* @author ycl
* @version 1.0 2012-11-6 上午10:31:37
* @since 1.0
*
*/
public class JDKLog {
static{
System.setProperty(&q ...
java.util.*
- 博客分类:
- JDK
java.util 工具包,灰常的有用,有机会一定要研读源码。
很多东西,jdk有的功能就不需要去外面寻找一堆的开源代码,jdk自带的也不错.
比如java.util包下的Map,List,Set,还有其实现类HashMap,ArrayList,HashSet,还有双向链接LinkedHashMap,LinkList,LinkSet,还有jdk1.5提供的Enum,EnumHashMap都灰常的好用,看源码你会了解,HashMap也是能数组来实现,而HashSet是由HashMap作为底层实现等等.
比如java.util.concurrent包下有ConcurrentHashMap,Co ...
java.util.concurrent.*
- 博客分类:
- JDK
1. java.util.concurrent.ArrayBlockingQueue
阻塞的Queue,允许多线程操作,这里的put Condition和get Condition分离(使用ReentrantLock),速度比使用单个锁速度快。
这是一个基于数组,先进先出,线程安全的集合类,其特色为可实现指定时间的阻塞读写,并且容量可限制.
2. java.util.concurrent.ReentrantLock
可重入锁,允许指定一个boolean参数,公平锁[FIFO],或者自由竟争.
一般调用newCondition()生成Condition,Condition可以调用await和sig ...
java.util.rt.*
- 博客分类:
- JDK
1. java.util.HashMap
散列表,主要是以离散的hash值换算数组下标,如果对象的hash值都不一样,
这样可以使对象更离散,这样就不会有多个对像坐落在一个坐标上,如果有多
个对象坐落在一个坐标上,那么其取值的时候就会有一个循环的过程,否则
都是1对1的结构数据,其存取速度很快.[影响性能参数captity,loadfactory]
2. java.util.LinkHashMap
双向列表,保持记录插入的顺序,accessOrder:false,默认插入排序,也就是
先插入的排在前面,后插入的排在后面,也可以按照查询排序.实际的查询排序。
[影响性能参数实际数据量]
3. ja ...