我生待明日,万事成蹉跎

JAVA面试题及答案(2)

JAVA面试题1、private变量能不能被其他类访问?如果能,怎么访问?

1)private不应该在其他类被直接访问,是对自我封装的一种体现,只能调用它公共的get和set方法;

2)JAVA提供了反射机制(技术)可以在其他类直接进行访问,但是这种方法破坏了封装性。反射的getDeclaredField_r()

JAVA面试题2、什么是线程同步?

当多个线程访问同一资源的时候,有可能会造成该资源数据混乱,为了保证数据的一致性,我们需要让该资源一次只能被一个线程访问,该线程访问结束后,才允许下一个线程访问,这就是线程同步。用synchronized关键字实现。

JAVA面试题3、什么是封装?封装的好处是什么?

封装是面向对象的三大特征之一,包含两层意思,一层是组装,另外一层是信息的隐藏。组装体现在类的定义;息的隐藏体现在两个方面:第一是访问修饰符,第二是方法的定义。封装的好处:(装体现的是)互用与分离

JAVA面试题4、在线程中wait与sleep的区别?

第一,SLEEP是线程主动中断,WAIT是同步资源让访问它的线程中断

第二,SLEEP是到点醒过来参与竞争,WAIT是要资源调NOTIFY方法把它唤醒来参与竞争

第三,WAIT只能在同步方法或同步块里调用,SLEEP可以在任意地方调用。

JAVA面试题5、Class 和class的区别是什么?

Class是一个类的名字,它的对象被称为类模版对象,存放一个在代码中要使用的类的信息,在类加载期存放,一个类模版对象装一个类的信息。class是一个关键字,在定义类的时候使用。

JAVA面试题6、线程和进程的区别是什么?

一个程序就是一个独立的进程。线程是进程内部的一个执行分支。不同要进程各自有独立的内存地址空间,而同一个进程中的不同线程是共享内存地址空间。由于线程是比进程更小的单位,所以在线程间的切换,比起进程间的切换,成本更低,效率更高。

JAVA面试题7、用接口有什么好处?

接口的提出是为了让没有继承关系的类,也能拥有相同的行为。接口的引用可以指向实现类的对象,从而让没有继承关系的类,也能做多态。解决了JAVA中只有单继承的问题,提高了设计的丰富度。

JAVA面试题8、什么是反射?

反射是JAVA内部的一种加载机制,将我们的要使用的类的信息加载到CLASS对象中,以供虚拟机使用。而我们通过反射技术,获取到CLASS对象,由程序员使用,从而达到一种效果:运行时探究和使用编译时未知的类。

JAVA面试题9、定义抽象方法的意义何在?

当我们对不同的子类共有行为不断的抽取,抽取到某一层次的时候发现:我们只能确定父类有这个行为,却不能确定这个行为是如何实现的。在这种情况下,我们就不能在该父类中书写这个方法的实现体,只能确认这个方法为抽象方法,强迫子类去完成实现。

JAVA面试题10、谈集合遍历的方式

(数组也是集合,但不是集合类)数组可以使用普通FORFOR-EACHLIST可以使用普通FORFOR-EACH和迭代器,SET可以使用FOR-EACH和迭代器,MAP只能遍历所有的值或所有的键(其中所有的键采用的是SET的遍历方式,所有的值采用的是COLLECTION的遍历方式),为FOR-EACH和迭代器。

未经允许不得转载:徐宏涛博客 » JAVA面试题及答案(2)

分享到:更多 ()

评论 抢沙发

评论前必须登录!