JAX-WS 开发 web service
filed in Java, WebService和SOA on Nov.21, 2008, by javafuns
计划写一篇介绍性文章。。。
filed in Java on Oct.22, 2008, by javafuns
esvn要比rapidsvn好用,虽然在界面上比较难看,但速度上要快很多,推荐各位programmer使用
filed in Java on Sep.26, 2008, by javafuns
一. List使用事项:
1.Object[] toArray()和<T> T[] toArray(T[] a)返回的是一个新的数组,而不是List实现内部所使用的
2.List<E> subList(int fromIndex, int toIndex)返回列表的部分视图,因此对这个视图的更改都将直接反映到原列表
二. LinkedIterator类:
支持前、后遍历
三. Arrays类:
包含用来操作数组(比如排序和搜索)的各种方法,支持排序(sort),查找(binarySearch),复制(copyOf & copyOfRange),填充(fill)
四. Collections类:
用于操作 collection,可以对List进行排序(sort),查找(binarySearch),翻转(reverse),填充(fill),复制(copy),最大、小值(min,max),替换(replaceAll),定位子列表(indexOfSubList & lastIndexOfSubList),不可修改集合(unmodifiableCollection, unmodifiableSet, unmodifiableSortedSet, unmodifiableList, unmodifiableMap, unmodifiableSortedMap),同步集合(synchronizedCollection, synchronizedSet, synchronizedSortedSet, synchronizedList, synchronizedMap, synchronizedSortedMap),类型安全集合(checkedCollection, checkedSet, checkedSortedSet, checkedList, checkedMap, checkedSortedMap),其中:
1.对获得的synchronizedXxx的iterator和listIterator必须自己进行同步,因为该实现对这个方法没有进行synchronized
2.checkedXxx所得到的集合可以确保无论何时,放入该集合中的对象都是类型安全的
3.可以提供不可修改的空list、map和set
static List EMPTY_LIST
空的列表(不可变的)。
static Map EMPTY_MAP
空的映射(不可变的)。
static Set EMPTY_SET
空的 set(不可变的)。
也可以通过emptySet()、emptyList()和emptyMap()来获得
4.public static <T> Set<T> singleton(T o)
返回一个只包含指定对象的不可变 set。
5.public static <T> List<T> singletonList(T o)
返回一个只包含指定对象的不可变列表。
6.public static <K,V> Map<K,V> singletonMap(K key, V value)
返回一个不可变的映射,它只将指定键映射到指定值。
五. HashSet 和 TreeSet 类:
HashSet 和 TreeSet 的底层使用Map结构(分别是HashMap和TreeMap)存储,放入到set中的对象作为map的key,而对应的值则是一个dummy的object
filed in Java on Jul.15, 2008, by javafuns
右键选择那个Jar,然后选择“属性”菜单,在这里,你可以看到可以设置source和doc。
今儿还发现一个有趣的问题,大家都知道可以使用java -Dname=value 给程序传参数,然后可以在程序中使用System.getProperty(”name”)取得这个value。
不过,当你的 -Dname=value放在最后面的时候,这根本不起作用,只有紧跟着Java后面才有效。
filed in Java on Jun.05, 2008, by javafuns
都说BEA的jrockit效率更高,跑起来也更快,今晚下载了一个jrockit,让Eclipse使用jrockit来启动,果然是快了不少,启动时间上就减少了一半时间。
一般默认安装到C:\Program Files\Java\xxx下,然后在“我的电脑”里设置好JROCKIT_HOME=C:\progra~1\Java\jrockit-R27.5.0-jdk1.6.0_03。
在启动Eclipse的快捷方式里,加上选项 ”D:\DevelopToolkit\Lomboz 3.3\eclipse.exe” -vm %JROCKIT_HOME%\bin\javaw.exe
ok,赶快启动Eclipse感受一下吧
下载《UDDI目录服务》
filed in Java on May.22, 2008, by javafuns
昨天使用ant zip时,发现一个很有意思的问题,也不知道是不是我们使用不当。
问题描述:在使用zip向一个已经存在的war追加新文件后,如果在对这个新war作任何操作,最终这个war都会变回原始状态。
你说怪不怪?
filed in Java on May.08, 2008, by javafuns
Hibernate 使用timestamp去映射Java中的java.util.Date or java.sql.Timestamp, 可以将时间映射为yyyy-MM-dd HH:mm:ss
oracle 的jdbc驱动 ojdbc6.jar有问题,采用ojdbc14.jar就没问题。
详情请看
http://blogger.org.cn/blog/more.asp?name=hongrui&id=34868
filed in Java, 设计模式 on May.01, 2008, by javafuns
说到排斥性过滤器,大家会一头雾水,搞不明白这其中含义。何为排斥性(exclude)过滤器呢,其实是本人自己定义出来的,呵呵。
排斥性过滤器是相对于规范所定义的Filter而言的,Java EE 规范中的过滤器是对web.xml中所列出的url进行过滤,而排斥性过滤器则恰恰相反,不对这些web.xml中列出的url执行过滤,而是对除这些url外的url进行过滤逻辑操作。
作为一个多年的Java开发人员,在实际开发中遇到这种情况,这便是有此动机的原因。
下面就讲讲这个exclude filter的原理,其实很简单。在拦截所有请求时,我们检查这些请求的url是否在url列表之内,如果在,那么就不进行过滤逻辑,直接调用chain.doFilter(xxx);否则的话,我们就执行一些过滤逻辑操作,然后再chain.doFilter(xxx)。
其中,检查url分2种方式:精确匹配(equals)和模糊匹配(contains),精确匹配优先于模糊匹配
对于代码中的URI获取,可能要根据实际情况作些更改,代码中URI只是使用request.getRequestURI(),得到的不是完整的URL,可视实际情况做出调整。
AbstractExcludeFilter 类将不该被override的方法都设置为了final,developer应该实现唯一的一个abstract method filter(),并且需要在该方法内部适当位置调用 chain.doFilter(xx)。
请看实现代码:
filed in 设计模式 on Apr.27, 2008, by javafuns
Design Principle
Identify the aspects of your application that vary and separate them
from what stays the same
意思是,要尽可能把变化的部分与不变的部分分离开.