这篇java面试适用于各种场合

前言

  上篇文章给大家介绍在java面试中常见一些面试问题并给出了相应的参考答案,主要包括Java SE中的多线程问题、反射中常见的一些面试题以及对象的拷贝和Java Web中常见的一些问题。本文继续给大家介绍java中的常见面试题,首先给大家介绍的就是java中常见的异常问题:

一、异常

1、 throw 和 throws 的区别?

  • throw:是真实抛出一个异常。

  • throws:是声明可能会抛出一个异常。

2、 final、finally、finalize 有什么区别?

  • final:是修饰符,如果修饰类,此类不能被继承;如果修饰方法和变量,则表示此方法和此变量不能在被改变,只能使用。

  • finally:是 try{} catch{} finally{} 最后一部分,表示不论发生任何情况都会执行,finally 部分可以省略,但如果 finally 部分存在,则一定会执行 finally 里面的代码。

  • finalize: 是 Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法。

3、try-catch-finally 中哪个部分可以省略?

  try-catch-finally 其中 catch 和 finally 都可以被省略,但是不能同时省略,也就是说有 try 的时候,必须后面跟一个 catch 或者 finally。

4、try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?

   finally 一定会执行,即使是 catch 中 return 了,catch 中的 return 会等 finally 中的代码执行完之后,才会执行。

5、常见的异常类有哪些?

  • NullPointerException 空指针异常

  • ClassNotFoundException 指定类不存在

  • NumberFormatException 字符串转换为数字异常

  • IndexOutOfBoundsException 数组下标越界异常

  • ClassCastException 数据类型转换异常

  • FileNotFoundException 文件未找到异常

  • NoSuchMethodException 方法不存在异常

  • IOException IO 异常

  • SocketException Socket 异常

二、 网络

1、http 响应码 301 和 302 代表的是什么?有什么区别?

  301:永久重定向。

  302:暂时重定向。

  它们的区别是:

  301 对搜索引擎优化(SEO)更加有利;

  302 有被提示为网络拦截的风险。

2、forward 和 redirect 的区别?

   forward 是转发 和 redirect 是重定向:

  • 地址栏 url 显示:foward url 不会发生改变,redirect url 会发生改变;

  • 数据共享:forward 可以共享 request 里的数据,redirect 不能共享;

  • 效率:forward 比 redirect 效率高。

3、简述 tcp 和 udp的区别?

   tcp 和 udp 是 OSI 模型中的运输层中的协议。tcp 提供可靠的通信传输,而 udp 则常被用于让广播和细节控制交给应用的通信传输。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值