Java语言中几组混淆的知识

上一篇 / 下一篇  2012-10-08 10:36:56 / 个人分类:Java

-k,d3h:fLY-ku3M0  Java语言的知识很是丰富。有些知识似曾相似,实则大相径庭。本文介绍Java语言几组混淆的知识。51Testing软件测试网)O5W`6eGK"n

51Testing软件测试网b'_ WRW1S

  第一组:final、finally和finalize?51Testing软件测试网 zi(T$G @.S4F

51Testing软件测试网$N@0@d a)d+H#R

  阿情说:final 和finally是Java语言中的关键字,前者用来修饰类、变量与方法,具有“最终”或者说“终极的”特性,因而,被它修饰的类不可再继承,例如 String、Math类,被它修饰的变量,实际上就是常量变量了,其值不能再修改,被它修饰的方法,该方法不能再覆盖。后者使用于异常处理机制中,不管 程序代码是否发生异常,其所构成的代码块一定要被执行,因而资源的回收、流的关闭都置于其里。finalize是Object类所定义的 finalize()方法的方法名,方法的功能是在GC(垃圾收集器)将对象从内存中清除出去之前做必要的清理工作。Object类是所有的类的超类,因而所有类都具有finalize()方法,子类可以通过覆盖该方法以整理系统资源或者执行其他清理工作。

{5Srp.V F&L4G'\k051Testing软件测试网 |6Q SO h_6r'NYe&f

  第二组:Collections和Collection?

)](LRZx0

l;i?3|Oq0  阿情说:虽然Collections和Collection都是在java.util包里,但前者是一个类,该类完全在Collection进行操作或者返回Collection的静态方法组成,后者是一个接口,它是基本的集合接口,List和Set接口继承于它。51Testing软件测试网;b]_k^ov*W d

5gA`1]j0  第三组:类、对象和引用?51Testing软件测试网c Q'B] nB D!c7V;Y-?a

51Testing软件测试网O[7Kg,d3l bWK-g

  阿情说:类是对象的抽象,对象是类的实例,引用是对象的名字,并能操作对象。面向对象设计与编程,也可以理解为面向类设计与编程。一切皆为对象,万事万物都是有对象构成,也可以理解认识世界,分门别类。

*KNBnds.MWvOK051Testing软件测试网3Sd8m,B&Tzh~

  第四组:抽象类与接口?

a*[FQ5Y D0

~1qW#o(w}{:X~0  阿情说:抽象类与接口是面向对象抽象特向的两个方面。前者表示abstract修饰的类,后者是一种特殊的抽象类。关于抽象类和接口,可以从语法差异性、设计理念差异性认识与理解。

Z$wjt-AO @V X B9N0

bi)bw"Q0  第五组:Vector、ArrayList和LinkList?51Testing软件测试网,[Am2L"~ i#J/DN

51Testing软件测试网 N&N Fn#g:R `

  阿情说:Vectot 和ArrayList是基于数组方式的存储结构,按索引遍历方便快捷,但是不利于增加与删改操作,Vector里面的方法是同步方法,具有线程安全特性, 但性能不如ArrayList,因而,根据具体需要做出合理选择。LinkList是基于链表是存储结构,增删较为便利,但遍历有些低效。51Testing软件测试网7a4N6I2QFz9jH

C1k wvXmK0  第六组:Hashtable和HashMap?51Testing软件测试网.w#al([1E"[n8v [+R

+E{Rkpq0  阿情说:虽 然两者都实现了Map接口,即把唯一的key映射到特定的value上。其差异在于:1)HashMap没有排序,允许一个null键和多个null值, 而Hashtable则不允许。2)HashMap把Hashtable的contains方法去掉了,改作containsValue()和 containsKey()方法。3)Hashtable继承自Dictionary类,HashMap是Java1.2引进的Map接口的实现。 4)Hashtable的方法是同步的,而HashMap的方法不是。

m.`w9Fm2W\2|.H051Testing软件测试网HD z)|^c

  第七组:wait()和sleep()、notify()和notifyAll()?51Testing软件测试网fhZ3VG4sKwX/y] V0d

:f#g~A(EW2[b0  阿情说:wait() 是Object类的方法,在其他线程调用此对象的notify()和notify()方法前,导致当前线程等待,sleep()是Thread类的方法, 在指定的时间里让当前正在执行的线程休眠(暂停执行)。notify()和notifyAll()都是Object类的方法,前者表示唤醒此对象监视器上 等待的单个线程,后者表示唤醒此对象监视器上等待的所有线程。51Testing软件测试网.TzV;{&jku1r(\0n9X4](a

51Testing软件测试网Ao}MR7pa0\

  欢迎各位“看官”不吝赐教,在此先谢。后续逐一充实与完善。

1v Duu4cx0

TAG:

 

评分:0

我来说两句

Open Toolbar