`

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代码 
  1. public   abstract   class  Enum<E  extends  Enum<E>>  
  2.         implements  Comparable<E>, Serializable   

 

ListIterator -- 怪东东,虽然不难,但我竟然没有听过 ,更别提用过了。看看JDK源码中关于list的reverse实现

Java代码 
  1. public   static   void  reverse(List<?> list) {  
  2.         int  size = list.size();  
  3.         if  (size <  18  || list  instanceof  RandomAccess) {  
  4.             for  ( int  i= 0 , mid=size>> 1 , j=size- 1 ; i<mid; i++, j--)  
  5.                 swap(list, i, j);  
  6.         } else  {  
  7.             ListIterator fwd = list.listIterator();  
  8.             ListIterator rev = list.listIterator(size);  
  9.             for  ( int  i= 0 , mid=list.size()>> 1 ; i<mid; i++) {  
  10.         Object tmp = fwd.next();  
  11.                 fwd.set(rev.previous());  
  12.                 rev.set(tmp);  
  13.             }  
  14.         }  
  15.     }  
  16.   
  17.     public   static   void  swap(List<?> list,  int  i,  int  j) {  
  18.     final  List l = list;  
  19.     l.set(i, l.set(j, l.get(i)));  
  20.     }  

 

写道
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面试题目与技巧1

    │ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....

    java面试题及技巧4

    │ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....

    java面试题以及技巧

    │ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....

    java面试题及技巧3

    │ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....

    java面试题以及技巧6

    │ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....

    pythonleetcode需要注意什么-AdicherlaVenkataSai_ml-workspace:AdicherlaVenkataS

    Koltin和Python语言高级培训的基础知识,可以根据所选级别学习和应用开发迷你项目。 平台 我们知道机器(深度)学习模型需要高计算能力,个人可能无法购买额外的CPUs或GPUs ,因此我们使用云平台。 注意:通常

    研磨设计模式-part2

    中高级内容则深入探讨如何理解这些模式,包括模式中蕴涵什么样的设计思想,模式的本质是什么,模式如何结合实际应用,模式的优缺点以及与其他模式的关系等,以期让读者尽量去理解和掌握每个设计模式的精髓所在。...

    研磨设计模式-part4

    中高级内容则深入探讨如何理解这些模式,包括模式中蕴涵什么样的设计思想,模式的本质是什么,模式如何结合实际应用,模式的优缺点以及与其他模式的关系等,以期让读者尽量去理解和掌握每个设计模式的精髓所在。...

    研磨设计模式-part3

    中高级内容则深入探讨如何理解这些模式,包括模式中蕴涵什么样的设计思想,模式的本质是什么,模式如何结合实际应用,模式的优缺点以及与其他模式的关系等,以期让读者尽量去理解和掌握每个设计模式的精髓所在。...

Global site tag (gtag.js) - Google Analytics