
王牌7
1
一、基础知识
1. 同步和异步有何异同,在什么情况下分别使用他们?举例说明。
如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在
读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存
取。
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序
等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。
2. final、finally、finalize 的区别。
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally 是异常处理语句结构的一部分,表示总是执行。
finalize 是 Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方
法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
3. 面向对象的特征有哪些方面
⑴抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标
有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细
节。抽象包括两个方面,一是过程抽象,二是数据抽象。
⑵继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共
性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了
原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。
派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之
更适合特殊的需要。
⑶封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算
始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象
评论