程序员面试必问系列——Java基础知识考查2

本文是Java基础知识考查系列的第二篇文章,往期程序员面试必问系列文章链接如下:

感兴趣的同学可以点击关注,或者加入QQ交流群:421062603,一起交流编程学习经验!

程序员面试必问系列——Java基础知识考查2

下面就进入今天的正题,介绍几个面试中常问的Java基础知识:

1.String、StringBuffer、StringBuilder的区别?

String是字符串常量,带final修饰符,是不可变的。StringBuffer与StringBuilder都是可变的,它俩的区别在于StringBuffer是线程安全的而StringBuilder是非线程安全的。其区别总结如下:

程序员面试必问系列——Java基础知识考查2

2.运行时异常与一般异常的区别?

程序员面试必问系列——Java基础知识考查2

3.抽象类(abstract class)与接口(interface)的区别?

  • 一个类可以实现多个接口,但只能继承一个抽象类

  • 接口中只能定义方法而不能有方法的实现,而抽象类可以选择是否实现抽象方法

  • 接口中所有的方法都是抽象的,但抽象类可以拥有非抽象方法

  • 接口中的基本数据类型都是static修饰的,而抽象类不是

  • 接口不能包含静态代码块和静态方法,而抽象类可以

4.sleep()与wait()的区别?

sleep()是线程类Thread的方法,调用sleep(long timemills)时,线程会暂时停止工作timemills毫秒,时间到达后会继续回复线程执行。调用sleep()时,对象锁不会被释放。代码示例:

try{

System.out.println("I'm going to bed");

Thread.sleep(1000);

System.out.println("I wake up");

}catch(IntrruptedException e) {

}

wait()是对象类Object的方法,可以对任意对象调用wait方法,调用wait方法后,调用者的线程会释放该对象锁并被挂起,直到其它线程调用该对象的的notify方法才会被激活。代码示例:

try{

obj.wait();//suspend thread until obj.notify() is called

}catch(InterrputedException e) {

}

希望感兴趣的同学能够帮忙在下方留言讨论,你的支持是我不断前进的动力!

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值