Java面试题篇.2020-03-06掌握10道面试题

1.HashMap和Hashtable的区别?

答:1.HashMap是线程不安全的;Hashtable是线程安全的。
2.HashMap允许键值为null;Hashtable不允许。

2.final, finally, finalize的区别?

答:1.final用于修饰类、变量以及方法,表明类不能继承,变量不能修改,方法不能覆盖。
2.finally与try{}catch(){}一起使用,表示最终执行;
3.finalize是Object类的一个方法,该对象被垃圾回收时会调用此方法。

3.sleep() 和 wait() 有什么区别?

答:1.sleep是线程类的方法,sleep会让线程暂停执行指定时间,给其他线程执行机会,但是监控状态依然保持,到时自动恢复,调用sleep方法不会释放对象锁。
2.wait是Object类的方法,调用对象的wait方法会导致本线程放弃对象锁,进入此对象的锁池等待锁,至到调用对象的notify方法(或notifyAll),本线程才会去获取对象锁。

4.Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

答:1.Overload:重载,是一个类中多态的表现。
2.Override:重写,是父类与子类之间多态的一种表现。
3.Overloaded可以改变方法的返回值。

5.error和exception有什么区别?

答:1.error:是程序出现的严重错误,不能指望程序能处理这样的情况。
2.exception:是一种设计与实现问题,如果程序正常运行,从不会发生这样的情况。

6.同步和异步有何异同,在什么情况下分别使用他们?举例说明。

答:1.当数据需要共享时,必须进行同步存取。例如:正在写的数据可能被其他线程获取,获取被另外一个线程修改过,这个时候需要进行同步存取。
2.当程序在对象上调用一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,应该使用异步编程,这样大大提高了效率。

7.abstract class和interface有什么区别?

答:1.抽象类可以有构造方法,接口没有。
2.一个类可以实现多个接口,但只能继承一个抽象类。
3.抽象类可以包含非抽象的普通方法,接口的方法全部都是抽象的。
4.抽象类可以有普通成员变量,接口没有。
5.抽象类可以有静态方法,接口没有。

8.heap和stack有什么区别?

答:1.堆是栈的组成元素。
2.栈是一种线性集合,按照后进先出的方式进行处理。

9.forward 和redirect的区别?

答:1.forward:请求转发,A(浏览器)<->B(服务器)<->C(内容提供者)
2.redirect:重定向,A(浏览器)<->B(服务器) A(浏览器)<->C(内容提供者)

10.EJB与JAVA BEAN的区别?

答:1.JavaBean就是平时我们的实体类,类似于COM,不支持分布式访问,不需要容器支持。
2.EJB类似于DCOM,支持分布式访问,需要部署在Webspere、WebLogic容器中。

注:还是那句话:越简单的东西,越容易忘记。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值