Java程序员需掌握常见面试题

Posted weixin_40228600

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java程序员需掌握常见面试题相关的知识,希望对你有一定的参考价值。

1、this、super两者之间的区别
this:代表当前对象名,是在本类中调用其他构造方法;
super:调用父类中的某一个构造函数;

2、为什么要使用static,它的作用是什么
static可以不需要创建对象的情况下,直接使用里面的属性和调用方法;一般初始化数据都会放在static代码块中,因为在类初次加载时,只会执行一次;被static修饰的变量或者方法是独立于该类的任何对象,它不属于任何一个实例对象,而是实例对象后进行共享。
3、Break、 continue、return三者之间的区别
break跳出本次循环,continue跳出本次循环,继续执行下次循环;return结束当前方法,直接返回。
4、java虚拟机的主要功能
通过类加载器ClassLoader,加载class文件,提供编译可执行的运行环境,由解释器将字节码转换成机器码,在运行期间自动进行垃圾回收。
5、java类主要包含哪些内容
包名(package):当前类所在的具体位置;
导入包名(import):当前运行时所需要的类;
定义对象类名(public class className):包含主要有方法、属性、构造方法。

6、new关键字的使用及作用
一般用new关键字创建一个新的对象,然后调用里面的方法和属性,而在内存中,是专门给他开辟一个存储空间。

7、String、StringBuilder、StringBuffer三者间的区别
Sring是不可变的,底层采用了final关键字,StringBuilder、StringBuffer是可变的;
Sring、StringBuffer是线程安全的,它们的底层实现采用synchronized关键字,StringBuilder是非线程安全的。
操作不多的数据,采用string,单线程操作缓冲区的大量数据采用stringBuilder,多线程操作缓冲区大量数据采用StringBuffer

8、Java中override(覆盖)和overload(重载)之间的区别
override是覆盖的意思,即重写,表示子类中的方法可以与父类中的某个方法名称和参数相同;
Overload表示同一个类中,可以有多个相同的方法,只是参数列表不相同(即参数类型、个数、顺序)

9、ArrayList和LinkedList之间的区别
它们都是List接口的实现;
在查找数据方面,ArrayList比LinkedList快,主要因为ArrayList采用索引的方式存储,而LinkedList是基于元素线性链表的存储方式,需要移动指针从前往后依次查找;
在进行数据进添加和删除操作,LinkedList比ArrayList快,因为ArrayList在修改数据后,需要移动数组中的索引,从而影响数据的移动。

10、Array和ArrayList之间区别
在容量上,Array容量上大小比较规定,ArrayList可以调节容量大小;在使用类型上,Array可以包含基本类型,而ArrayList只能包含对象类型。

以上是关于Java程序员需掌握常见面试题的主要内容,如果未能解决你的问题,请参考以下文章

搞定 Java 并发面试面试最常问的 Java 并发基础常见面试题总结!

夯实Java基础系列25:java反射常见面试题,你都掌握了么?

全网阅读过20k的Java集合框架常见面试题总结!

面试题Java基础篇-常见面试题总结p3

Java常见面试题

Java常见面试题汇总