Android程序员面试Java基础

来源:互联网 发布:js input 自动点击 编辑:程序博客网 时间:2024/04/26 05:54
1、多态的概念及其体现
概念:方法的重写、重载与动态连接构成多态性
体现:
①接口和实现接口并覆盖其中同一方法的几个不同的类体现
②父类和继承父类并覆盖其中同一方法的几个不同子类体现
2、Java垃圾回收机制面试回答技巧
概念:Java垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间
System.gc()
Runtime.getRuntime().gc()
上面两个方法调用时用于显示通知JVM可以进行一次垃圾回收,但真正垃圾回收机制具体在什么时间点开始是不可预料的。
3、Java中Vector与ArrayList、LinkedList的区别
①ArrayList由数组实现,允许对元素快速随机访问,适合随机查找和遍历,不适合插入和删除;
②Vector也是由数组实现,但支持线程同步,某一时刻只能有一个线程能够写入Vector,因此其速度慢于ArrayList;
③LinkedList是用链表结构存储的,适合动态插入和删除元素,随机访问和遍历速度慢。另外,LinkedList提供List接口没有定义的方法,专门用于操作头尾元素,可以当作堆栈、队列和双向队列使用。
4、sleep和wait的区别
①sleep来自Thread类,wait来自object类
②、sleep方法不释放锁,wait则释放
③、使用范围:sleep可以在任何地方,wait只能在同步控制块里
④、sleep必须捕获异常,wait不需要
5、Java对象的引用分类
①强引用:创建一个对象并赋予引用变量,有引用变量指向时不会被回收(即使内存不足)
②软引用:用SoftReference类实现,内存不足被回收
③弱引用:用WeakReference类实现,垃圾回收内次都回收弱引用,不确定性强
④虚引用:用PhantomReference类实现
(未完待续)