Java开发面试题是经常在Java面试被问到的,下面重点详解最常见的Java开发面试题及答案。
1.Java基本类型有哪些?
八大基本类型:
- 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.面向对象的特征有哪些方面?
1. 封装,隐藏内部实现,只暴露公共行为
2. 继承,提高代码的重用性
3. 多态,体现现实生活中相似对象的差异性
4. 抽象,抽取现实世界中相似对象的共同点
7.abstract class和interface有什么区别?
下面比较一下两者的语法区别,主要体现为如下6大区别:
1).抽象类可以有构造方法,接口中不能有构造方法;
2).抽象类中可以有普通成员变量,接口中没有普通成员变量;
3).抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的;
4). 抽象类中的抽象方法的访问类型可以是public,protected和,但接口中的抽象方法只能是public类型的;
5. 抽象类中可以包含静态方法,接口中不能包含静态方法;
6. 一个类可以实现多个接口,但只能继承一个抽象类。
8.Java集合框架有哪些?
List有顺序的collection,并且可以包含重复元素,常见包含:ArrayList、LinkedList等。
常用的Map集合:HashMap、HashTable、LinkedHashMap、ConcurrentHashMap。
9.Java中的自动装箱和自动拆箱是什么?
Java中的自动装箱(Autoboxing)和自动拆箱(Unboxing)是两种自动类型转换机制。
自动装箱是指将基本数据类型转换为对应的包装类型,而自动拆箱则是指将包装。
10.线程的生命周期?
如下图所示:
在线程的生命周期中,它要经过新建(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面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》