Java开发面试题及答案(99%面试官必问题解析)

Java开发面试题及答案(99%面试官必问题解析)-mikechen

Java开发面试题是经常在Java面试被问到的,下面重点详解最常见的Java开发面试题及答案。

1.Java基本类型有哪些?

Java开发面试题及答案(99%面试官必问题解析)-mikechen

八大基本类型:

  • boolean/1
  • byte/8
  • char/16
  • short/16
  • int/32
  • float/32
  • long/64
  • double/64

 

2.Java中的访问修饰符有哪些?它们的作用是什么?

Java中有四种访问修饰符,分别是public、protected、private和default。

  • public:可以被任何类访问。
  • protected:可以被同一包内的类和所有子类访问。
  • private:只能被本类访问。
  • default:只能被同一包内的类访问。

 

3.String、StringBuffer、StringBuilder的区别?

String、StringBuffer、StringBuilder最大的不同是String不可变,后者可变。

StringBuffer是线程安全的,StringBuilder线程不安全速度较快。

 

4.Java实现线程有哪几种方式?

1、继承Thread类实现多线程
2、实现Runnable接口方式实现多线程
3、使用ExecutorService、Callable、Future实现有返回结果的多线程。

 

5.Java中的final关键字有什么作用?

在Java中,final关键字可以用于类、变量和方法,其作用如下:

  • 对于类来说,final表示该类不能被继承。
  • 对于变量来说,final表示该变量是一个常量,其值在声明后不能被修改。
  • 对于方法来说,final表示该方法不能被子类重写。

 

6.面向对象的特征有哪些方面?

Java开发面试题及答案(99%面试官必问题解析)-mikechen

1. 封装,隐藏内部实现,只暴露公共行为

2. 继承,提高代码的重用性

3. 多态,体现现实生活中相似对象的差异性

4. 抽象,抽取现实世界中相似对象的共同点

 

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

下面比较一下两者的语法区别,主要体现为如下6大区别:

1).抽象类可以有构造方法,接口中不能有构造方法;

2).抽象类中可以有普通成员变量,接口中没有普通成员变量;

3).抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的;

4). 抽象类中的抽象方法的访问类型可以是public,protected和,但接口中的抽象方法只能是public类型的;

5. 抽象类中可以包含静态方法,接口中不能包含静态方法;

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

 

8.Java集合框架有哪些?

Java开发面试题及答案(99%面试官必问题解析)-mikechen

 

List有顺序的collection,并且可以包含重复元素,常见包含:ArrayList、LinkedList等。

常用的Map集合:HashMap、HashTable、LinkedHashMap、ConcurrentHashMap。

 

9.Java中的自动装箱和自动拆箱是什么?

Java中的自动装箱(Autoboxing)和自动拆箱(Unboxing)是两种自动类型转换机制。

自动装箱是指将基本数据类型转换为对应的包装类型,而自动拆箱则是指将包装。

 

10.线程的生命周期?

如下图所示:

Java开发面试题及答案(99%面试官必问题解析)-mikechen

在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5种状态。

 

11.SpringBoot、Spring MVC和Spring有什么区别?

1)Spring

Spring最重要的特征是依赖注入。所有Spring Modules不是依赖注入就是IOC控制反转,当我们恰当的使用DI或者是IOC的时候,可以开发松耦合应用。

2)Spring MVC

Spring MVC提供了一种分离式的方法来开发Web应用。通过运用像DispatcherServelet,MoudlAndView 和 ViewResolver 等一些简单的概念,开发 Web 应用将会变的非常简单。

3)SpringBoot

Spring和Spring MVC的问题在于需要配置大量的参数,SpringBoot通过一个自动配置和启动的项来解决这个问题。

以上就是常见的Java开发面试题详解,更多的Java面试题及答案,请查看:1000+Java面试题及答案详解

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法