干货丨Java程序员面试题集(一)

随着时代的发展,以及对科技人才的需求的增加,Java人才的社会需求量是很大的,因为接触互联网几乎就没办法离开Java,对于互联网成品来说,Java就相当于原材料一样。

目前全球有着数十亿的设备正在运行着Java,而且很多服务器程序都是拿Java来编写的,用以处理每天超过数以千万的数据。

根据往年IDC的统计数字,在所有软件开发类人才的需求中,对JAVA工程师的需求达到全部需求量的60%~70%。

而对于薪资方面来说。Java学员的年薪10w左右都是普遍现象。但是好好准备面试也是取得高薪酬的重要的一环。小编帮助大家总结了15道常见的面试题目。

干货丨Java程序员面试题集(一)

String 是最基本的数据类型吗?

String不是基本的数据类型,基本的数据类型只有8种,byte、short、int、long、char、float、double、boolean,基本数据类型仅仅只有8种。

int 和Integer 有什么区别?

int是基本的数据类型,直接存数值,Integer是int的封装类;integer是对象,用一个引用指向这个对象;Integer是一个类,是int的扩展,定义了很多的转换方法。int和Integer都可以表示某一个数值

&和&&的区别?

&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

java中数组有没有length()方法?

Java中数组是没有length()方法的,只有length属性,数组array.length返回的是该数组的长度。字符串String是有length()方法的,str.length()返回的是该字符串的长度。

JVM 加载class文件的原理机制?

Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中 。

干货丨Java程序员面试题集(一)

静态变量和实例变量的区别?

语法区别:静态变量需要static关键字修饰,实例变量不需要。

程序运行时的区别:静态变量从属于类,实例变量从属于对象。

为什么Java被称“平台无关的编程语言”?

因为不同的平台装有不同的JVM,它们能够将相同的.class文件,解释成不同平台所需要的机器码。正是因为有JVM的存在,java被称为平台无关的编程语言

为什么要有GC?

gc是一个java虚拟机的过程,用来收集程序不再使用的实例,并且将他们的空间释放交还给系统,这个过程一般不需要程序员自己调用,java虚拟机会自动在系统空闲的时候执行该过程。

Java 中的final关键字有哪些用法?

final 修饰类: 类不可以被继承, 如java.lang.String。

final 修饰方法:方法不可以被重写。

finall修饰变量:表示变量不能被修改, 只能在声明的时候初始化或者在构造方法里初始化,当有多个构造方法时,每个构造方法都要显式初始化。

Java语言支持的8中基本数据类型是

整数型:byte、short、int、long

浮点型:float、double

字符型:char

布尔型:boolean

Java支持多继承么?

java中,类不支持多继承,接口支持多继承

接口的作用是拓展对象功能。当一个子接口继承了多个父接口时,说明子接口拓展了多个功能。当一个类实现该接口时,就拓展了多个的功能

一个Java源文件中是否可以包含多个个类(非内部)?

可以有多个类,但只能有一个public的类,并且public的类名必须与文件名一致。

干货丨Java程序员面试题集(一)

Java集合类框架的最佳实践有哪些?

1.根据应用需要正确选择要使用的集合类型对性能非常重要。

2.有些集合类型允许指定初始容量。

3.为了类型安全、可读性和健壮性等原因总是要使用泛型。同时,使用泛型还可以避免运行时的ClassCastException。

4.使用JDK提供的不变类(immutable class)作为Map的键可以避免为我们自己的类实现hashCode()和equals()方法。

5.编程的时候接口优于实现。

6.底层的集合实际上是空的情况下,返回为长度是0的集合或数组而不是null。

Java中垃圾回收有什么目的?

JAVA垃圾回收是你在虚拟内存中创建了很多实例,这些都是占内存的,只是你平时是看不见得,那么久而久之,不做清理的话,内存一定会越占越多

Java中,对象什么时候可以被垃圾回收?

一般情况下java中对象可被回收的前提是:该对象不再被引用。

相关推荐