java高级基础备忘<>

此文转载自网络http://jnotnull.iteye.com/blog/429061

 

 

 

幽灵引用 -- 好强大的文章

http://www.iteye.com/topic/401478

 

ThreadLocal -- 非常全面解释了这个怪东东

http://www.iteye.com/topic/103804

 

Concurrent -- 并发啊

http://www.iteye.com/topic/363625

 

泛型 -- 泛型一箩筐

http://www.java3z.com/cwbwebhome/article/article5/tiger2.jsp

 

Comparator和Comparable -- 这个怪叔叔不算高级了,但是可以深入的了解一下它类似的设计模式 -- 策略模式。。如有兴趣还要把它和枚举放到一起

http://www.blogjava.net/fastunit/archive/2008/04/08/191533.html

 
Java代码
public abstract class Enum<E extends Enum<E>>  
        implements Comparable<E>, Serializable  

 

ListIterator -- 怪东东,虽然不难,但我竟然没有听过,更别提用过了。看看JDK源码中关于list的reverse实现
Java代码
public static void reverse(List<?> list) {  
        int size = list.size();  
        if (size < 18 || list instanceof RandomAccess) {  
            for (int i=0, mid=size>>1, j=size-1; i<mid; i++, j--)  
                swap(list, i, j);  
        } else {  
            ListIterator fwd = list.listIterator();  
            ListIterator rev = list.listIterator(size);  
            for (int i=0, mid=list.size()>>1; i<mid; i++) {  
        Object tmp = fwd.next();  
                fwd.set(rev.previous());  
                rev.set(tmp);  
            }  
        }  
    }  
 
    public static void swap(List<?> list, int i, int j) {  
    final List l = list;  
    l.set(i, l.set(j, l.get(i)));  
    } 

 
写道
List和Set都有iterator()来取得其迭代器。对List来说,你也可以通过listIterator()取得其迭代器,两种迭代器在有些时候是不能通用的,Iterator和ListIterator主要区别在以下方面:

1. ListIterator有add()方法,可以向List中添加对象,而Iterator不能

2. ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历,但是ListIterator有hasPrevious()和previous()方法,可以实现逆向(顺序向前)遍历。Iterator就不可以。

3. ListIterator可以定位当前的索引位置,nextIndex()和previousIndex()可以实现。Iterator没有此功能。

4. 都可实现删除对象,但是ListIterator可以实现对象的修改,set()方法可以实现。Iierator仅能遍历,不能修改。

因为ListIterator的这些功能,可以实现对LinkedList等List数据结构的操作。其实,数组对象也可以用迭代器来实现。

 

 你真的理解finally了吗,看看这篇文章后,你或许不会这么自信了

http://zangxt.iteye.com/blog/421508

 

Java类加载机制 -- 很好的博文

http://lavasoft.blog.51cto.com/62575/184547

 

你可能感兴趣的:(java,设计模式,jsp,Blog,J#)