• java面试题整理《基础篇》七


    Error 和 Exception 区别是什么?
    Exception 类的错误是可以在应用程序中进行捕获并处理的,通常遇到这种错误,应对其进行处理,使应用程序可以继续正常运行。Exception ⼜可以分为受检查异常(必须处理) 和 不受检查异常(可以不处理)。

    Error 是⽆法处理的(只能尽量避免)。这种类型的错误通常是虚拟机相关的错误,例如:Java 虚拟机运⾏错误( Virtual MachineError )、虚拟机内存不够错误( OutOfMemoryError )等 。这些异常发⽣时,Java虚拟机(JVM)⼀般会选择线程终⽌,仅靠应用程序本身无法恢复;

    受检查异常与不授检查异常
    受检查异常:
    Java 代码在编译过程中,如果受检查异常没有被 catch / throw 处理的话,会导致程序编译不通过。⽐如下⾯这段 IO 操作的代码。除了 RuntimeException 及其⼦类以外,其他的 Exception 类及其⼦类都属于检查异常 。常⻅的受
    检查异常有: IO 相关的异常、 ClassNotFoundException 、 SQLException (数据库相关异常)等。

    不受检查异常:
    Java 代码在编译过程中 ,我们即使不处理不受检查异常也可以正常通过编译,不受检查异常往往发生在程序运行的过程中,会导致当前线程执行失败。

    RuntimeException 及其⼦类都统称为⾮受检查异常,例如:

    NullPointExecrption (空指针异常)
    NumberFormatException (字符串转换为数字)
    ArrayIndexOutOfBoundsException (数组越界)
    ClassCastException (类型转换错误)
    ArithmeticException (算术错误)等
    我们自定义的异常往往也都继承RuntimeException。

    throw 和 throws 的区别是什么?
    Java 中的异常处理除了包括捕获异常和处理异常之外,还包括声明异常和拋出异常,可以通过 throws 关键字在方法上声明该方法要拋出的异常(可能出现异常,可以抛出多个异常),或者在方法内部通过 throw 拋出异常对象(一定会抛出一种异常)。

    Java 中 IO 流分为几种?
    按照流的流向分,可以分为输⼊流和输出流;
    按照操作单元划分,可以划分为字节流和字符流;
    按照流的⻆⾊划分为节点流和处理流。
    Java IO 流共涉及 40 多个类,这些类看上去很杂乱,但实际上很有规则,⽽且彼此之间存在⾮常紧密的联系,Java IO 流的 40 多个类都是从如下 4 个抽象类基类中派⽣出来的。

    InputStream/Reader: 所有的输⼊流的基类,前者是字节输⼊流,后者是字符输⼊流。
    OutputStream/Writer:所有输出流的基类,前者是字节输出流,后者是字符输出流。
    尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili

  • 相关阅读:
    Java开发者必备:支付宝沙箱环境支付远程调试指南
    一个结构体 = 另一个结构体(同类型结构体之间可直接赋值操作)
    每日两题 103二叉树的锯齿形层序遍历(数组) 513找树左下角的值(队列)
    RPC機制 exactly one 問題
    入门【网络安全/黑客】启蒙教程
    Java I/O在Android中应用
    Vue3-生命周期函数
    STM32H7使用FileX库BUG,SD卡挂载失败
    怎么建立一个简单的程序化交易系统?
    ConvNeXt论文及实现
  • 原文地址:https://blog.csdn.net/hutubiancheng/article/details/126088147