Java基础面试题-4day

异常

  1. Exception和Error有什么区别?

Exception类和Error类有一个共同的父类Throwable类
Exception类为异常类,可以使用catch 捕获,捕获之后,Exception类又分为Checked Exception和 Uncheckend Exception
Checked Exception是捕获后必须进行处理的异常
Uncheckend Exception 是捕获后,可以不进行处理的异常
Error类是错误类
不建议用catch进行捕获,是虚拟机不能处理的错误,一般虚拟机会通过停止进程来终止

  1. Checked Exception和 Unchecked Exception有什么区别?

Checked exception 受检查异常,当受检查异常没有使用关键词catch和throw时,程序将不会通过编译
RuntimeException成为运行时异常,运行时异常和其子类的异常为Unchecked Exception,为不受检查的异常,异常出现即使不捕获或者抛出也可以正常通过编译
除了RuntimeException类及其子类之外的Exception类及其子类都是CheckedException
Runtime Exception的子类有:
NullPointException 空指针异常
IllegalArgumentsException 参数错误异常
NumberFormatException 字符串转换为数字格式异常
ArrayIndexOutOfExcepion 数组越界异常
ClassCastException 类型转换异常
ArithmeticException 算术异常
SecurityException 安全错误
等等

  1. Throwable类常用方法有哪些?

String getMessage 返回发生异常时的简要信息
String toString 返回发生异常的详细信息
String getLocalizedMessage() 返回发生异常时对象的本地化信息,当子类没有覆盖该方法的时候,返回的信息和getMessage()一样
void printStackTrace() 在控制台上打印Throwable对象封装的异常信息

  1. try-catch-finally如何使用

try 关键字中输入程序,捕获try语句块中的异常
catch 处理捕获的异常
finally 无论是否捕获或者处理异常,都会执行其中的程序

当try 语句块中和finall语句块中都使用了return,finally语句中return 的结果将会覆盖try语句中的结果

  1. finally中的语句一定会被执行吗?

当在进行finally之前,程序就已经停止的时候
程序中的所有线程都死亡的时候
cpu关闭的时候

  1. 异常使用有什么需要注意的地方

异常不能定义成静态变量,否则可能会引起异常栈信息错乱,每次抛出异常都是抛出new出的异常对象
抛出的异常要有意义
使用日志打印异常之后,就不要使用抛出异常


来自Javaguide总结
https://javaguide.cn/home.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/643352.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工业智能网关储能物联网应用实现能源的高效利用及远程管理

储能电力物联网是指利用物联网技术和储能技术相结合,实现对电力系统中各种储能设备的智能管理和优化控制。随着可再生能源的不断发展和应用,电力系统面临着越来越大的电力调度和储能需求而储能电力物联网的出现可以有效解决这一问题,提高电力…

Spring5系列学习文章分享---第三篇(AOP概念+原理+动态代理+术语+Aspect+操作案例(注解与配置方式))

目录 AOP概念AOP底层原理AOP(JDK动态代理)使用 JDK 动态代理,使用 Proxy 类里面的方法创建代理对象**编写** **JDK** 动态代理代码 AOP(术语)AOP操作(准备工作)**AOP** **操作(**AspectJ注解)**AOP** **操作(**AspectJ…

oracle data block , extent 和segment区别

data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment. Data block、extent和segment是数据库中不同层次的数据存储和管理单位,它…

Vue 点击按钮复制内容到系统剪贴板

Vue 点击按钮复制内容到系统剪贴板 使用navigator将内容添加到系统剪贴板 <template><div><button click"copy">点击复制</button></div> </template><script>export default {name: CopyTest,data() {return {copyCont…

前端开发WebStorm

WebStorm是一款功能强大的JavaScript集成开发环境&#xff0c;凭借智能代码补全、实时分析和代码重构、集成版本控制、强大的调试和测试工具、实时预览和集成前端工具以及自定义配置和插件支持等功能&#xff0c;成为开发者首选的利器。 前端开发WebStorm WebStorm是一款功能强…

Git学习 -- 分支合并、版本修改相关

目录 learn GIT Learn Git Branching merge和rebase的使用 基础命令 版本回退 工作区和暂存区 管理修改 撤销修改 删除修改 learn GIT Learn Git Branching 这是Gitee上的Git学习教程 Learn Git Branching Git Rebase Learn Git Branching 最终的实操 merge和rebase的…

杰理方案——WIFI连接物联网配置阿里云操作步骤

demo——DevKitBoard 注意&#xff1a;最好用这个Demo,其它Demo可能会有莫名其妙的错误问题。 wifi配置 需要在app_config.h文件中定义USE_DEMO_WIFI_TEST&#xff0c;工程会在wifi_demo_task.c文件中自动启动wifi相关的任务&#xff0c; 我们将工程配置为连接外部网络STA模式…

编写一个JavaScript函数,实时显示当前时间格式为—年—月—日 时:分:秒

在JavaScript中&#xff0c;你可以使用Date对象和它的方法来获取和格式化当前时间。下面是一个函数&#xff0c;它会实时更新并显示当前时间&#xff0c;格式为"年-月-日 时:分:秒"。 javascript function displayCurrentTime() { // 获取当前时间 var …

基于YOLOv8的摔倒行为检测系统(Python源码+Pyqt6界面+数据集)

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文主要内容:通过实战基于YOLOv8的摔倒行为检测算法&#xff0c;从数据集制作到模型训练&#xff0c;最后设计成为检测UI界面 人体行为分析AI算法&#xff0c;是一种利用人工智能技术对人体行为进行检测、跟踪和分析的方法。通过计算…

研发无人水下全智能化炸弹系统

研发无人水下全智能化炸弹系统具有重要的意义和价值。下面是一些原因&#xff1a; 提高安全性&#xff1a;无人水下全智能化炸弹系统可以代替人类执行危险和高风险任务&#xff0c;从而减少人员伤亡和事故发生的可能性。这些系统可以在不利环境下执行任务&#xff0c;如深海潜水…

学会使用ubuntu——ubuntu22.04使用Google、git的魔法操作

ubuntu22.04使用Google、git的魔法操作 转战知乎写作 https://zhuanlan.zhihu.com/p/679332988

前端开发中的那些规范

开发中的那些规范 俗话说&#xff1a;无规矩不成方圆。生活如此、软件开发也如此。 来聊一聊开发中有哪些地方需要规范。 为什么需要规范 现在开发一个应用基本上都是多人协作&#xff0c;一旦涉及到多人&#xff0c;必然不同的开发者的开发习惯、编码方式都是有所不同的&…

QT发送request请求

时间记录&#xff1a;2024/1/23 一、使用步骤 &#xff08;1&#xff09;pro文件中添加network模块 &#xff08;2&#xff09;创建QNetworkAccessManager网络管理类对象 &#xff08;3&#xff09;创建QNetworkRequest网络请求对象&#xff0c;使用setUrl方法设置请求url&am…

C#设计模式教程(20):观察者模式

观察者模式的定义 观察者模式(Observer Pattern)是一种常用的设计模式,允许一个对象(称为“观察者”)订阅另一个对象(称为“主题”或“可观察对象”)的状态变化,并在状态改变时得到通知。这种模式在实现事件处理系统、数据更新通知等场景中非常有用。 大白话理解观察…

电阻(一):压敏电阻

1、定义 压敏电阻&#xff08;Varistor | Voltage Dependent Resistor&#xff09;&#xff1a;是一种具有非线性伏安特性的电阻器件&#xff0c;其电阻值会随外部电压而改变&#xff0c;主要用于在电路承受过压时进行电压钳位&#xff0c;吸收多余的电流以保护敏感器件。 2、…

【江科大】STM32:USART串口(理论部分)上

串口 全双工&#xff1a;可以进行同步通信 单端信号&#xff1a;信号线传输的就是单端信号。&#xff08;也就是与地线&#xff08;GND&#xff09;的电势差&#xff09; 缺点&#xff1a;防干扰能力差 原因&#xff1a;当信号从A点传输到B点&#xff0c;理想条件是A&#xff0…

4核8g云服务器配置mc我的世界支持多少玩家在线?

mc我的世界服务器4核8g够多少人&#xff1f;80人&#xff0c;4核8G服务器最多支持80人同时在线。关于我的世界服务器的CPU和内存有用户测试过&#xff0c;阿腾云atengyun.com认为最多可以支持80人同时在线。如果运行的云服务器配置较低&#xff0c;启动游戏后可以在左下角看到配…

Vue nextTick使用场景及实现原理

nextTick是前端面试中vue框架中必考的部分&#xff0c;一定要掌握。它主要是处理我们再变更完数据以后&#xff0c;无法立刻拿到最新的DOM节点对象的问题。我们可以这样理解&#xff1a;vue执行完渲染后会执行this.nextTick()里面的callback函数。 使用场景 我们来看一个实际的…

对齐大型语言模型与人类偏好:通过表示工程实现

1、写作动机&#xff1a; 强化学习表现出相当复杂度、对超参数的敏感性、在训练过程中的不稳定性&#xff0c;并需要在奖励模型和价值网络中进行额外的训练&#xff0c;导致了较大的计算成本。为了解决RL方法带来的上述挑战&#xff0c;提出了几种计算上轻量级的替代方案&…

el-select选项过多导致页面卡顿,路由跳转卡顿

问题&#xff1a;el-select数据量太大&#xff0c;导致渲染过慢&#xff0c;或造成页面卡顿甚至于卡死 卡顿原因&#xff1a;DOM中数据过多&#xff0c;超过内存限制 解决方法&#xff1a; 1.使用Virtualized Select 虚拟化选择器&#xff0c;页面就不卡了 2.el-select做分…