您的位置:首页 > 职场人生

java每天5道面试题(九)

2018-02-01 08:38 316 查看
1.在Java中,对象什么时候可以被垃圾回收?
 
当对象对当前使用这个对象的应用程序变得不可触及的时候,这个对象就可以被回收了。
 
2.JVM的永久代中会发生垃圾回收么?
 
垃圾回收不会发生在永久代,如果永久代满了或者是超过了临界值,会触发完全垃圾回收(Full GC)。如果你仔细查看垃圾收集器的输出信息,就会发现永久代也是被回收的。这就是为什么正确的永久代大小对避免Full GC是非常重要的原因。请参考下Java8:从永久代到元数据区
 
(译者注:Java8中已经移除了永久代,新加了一个叫做元数据区的native内存区)
 
3.Java中的两种异常类型是什么?他们有什么区别?
 
Java中有两种异常:受检查的(checked)异常和不受检查的(unchecked)异常。不受检查的异常不需要在方法或者是构造函数上声明,就算方法或者是构造函数的执行可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者是构造函数的外面。相反,受检查的异常必须要用throws语句在方法或者是构造函数上声明。这里有Java异常处理的一些小建议。
 
4.Java中Exception和Error有什么区别?
 
Exception和Error都是Throwable的子类。Exception用于用户程序可以捕获的异常情况。Error定义了不期望被用户程序捕获的异常。
 
5.throw和throws有什么区别?
 
throw关键字用来在程序中明确的抛出异常,相反,throws语句用来表明方法不能处理的异常。每一个方法都必须要指定哪些异常不能处理,所以方法的调用者才能够确保处理可能发生的异常,多个异常是用逗号分隔的。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: