1 / 7
文档名称:

Java面试题个人总结答案.docx

格式:docx   大小:25KB   页数:7页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Java面试题个人总结答案.docx

上传人:gumumeiying 2020/12/17 文件大小:25 KB

下载得到文件列表

Java面试题个人总结答案.docx

文档介绍

文档介绍:本人最近参加了大大小小很多公司的面试,在这里我把自己面试遇到的问题给大家说一下
JAVA基础篇
1、在java类加载器中,系统类加载器和用户自定义加载器那个先加载?(遇到这个问题时感觉很意外,没有想到会问这样的问题)
先加载系统类加载器
ﻩJava类加载器加载类顺序依次为:
ﻩJVM类加载器:这个模式会加载JAVA_HOME/lib下的jar包
ﻩ 扩展类加载器:会加载JAVA_HOME/lib/ext下的jar包
ﻩ系统类加载器:这个会去加载指定了classpath参数指定的jar文件
用户自定义类加载器:sun提供的ClassLoader是可以被继承的,允许用户自己实现类加载器
2、堆和栈分别存放什么?
栈:基本数据类型和对象的引用
ﻩ堆:对象和数组
3、String、StringBuffer、StringBuilder的区别
String是不可变对象,也就是说每次修改String都是新建了一个对象并赋值
StringBuffer是字符缓冲区,修改它不会新建对象,可以使用append()方法和delete()方法修改StringBuffer的值
StringBuilder可以替代StringBuffer,它是一个单线程使用的类,和StringBuffer比速度快、效率高,但是是非安全的
三者都是被final修饰的(这一点面试官的问我的时候一直在说,你确定吗?搞得我有点虚)
4、Java的异常和错误有什么区别?
Error
 Error是JVM的错误,这种错误会严重影响程序的运行,设计者不会设计程序代码去捕捉这种错误,因为即使捕捉到也无法给予适当的处理,比如内存溢出。
Exception
Exception包含了一般性的异常,这些异常同在在捕捉到之后便可做妥善的处理,以确保程序继续运行。Exception有很多种分类,从Exception产生的时机上我们可以把Exception分为
 ① 运行时异常
运行时异常是指程序运行过程中可能出现的非正常状态
② 非运行时异常
非运行时异常是指方法声明时throws的异常
5、&和&&的区别
ﻩ&是位运算符,表示按位与运算。&&是逻辑运算符,表示逻辑与。在条件判断的时候&必须逐一检查各个条件,&&具有短路功能,只要一个条件为false则不会进行后续的判断。
6、abstract class和interface的区别
abstract class是抽象类,声明方法的存在而不去实现它的类叫做抽象类,它用于创建一个体现某些基本行为的类。抽象类中不能有构造方法、不能有静态方法,抽象类不能被实例化。抽象类中可以有变量、可以有普通方法、可以有抽象方法,在继承抽象方法后,必须实现它的所有抽象方法。
interface是接口,接口中的变量必须是静态常量(static final),接口中的方法必须都是抽象方法(abstract),不过由于接口中所有变量、方法修饰符都一致,因可以不写。接口的实现必须实现接口中所有的方法。
7、final、finally、finalize的区别
final是用来描述变量、方法、类的关键字,表示变量值不可变、方法不可被重写、类不可被继承
finally是异常处理的关键字,表示finally