【每日八股】Java基础经典面试题4

前言:哈喽大家好,我是黑洞晓威,25届毕业生,正在为即将到来的秋招做准备。本篇将记录学习过程中经常出现的知识点以及自己学习薄弱的地方进行总结🥰。
本篇文章记录的Java基础面试题,如果你也在复习的话不妨看一看🥳。
才疏学浅,如果文章有什么出错的地方还请指教😈。
在这里插入图片描述

🔥 个人主页: 黑洞晓威
😀你不必等到非常厉害,才敢开始,你需要开始,才会变的非常厉害。

Exception 和 Error 有什么区别?

Exception :程序本身可以处理的异常,可以通过 catch 来进行捕获。Exception 又可以分为 Checked Exception (受检查异常,必须处理) 和 Unchecked Exception (不受检查异常,可以不处理)。

ErrorError 属于程序无法处理的错误 ,我们没办法通过 catch 来进行捕获不建议通过catch捕获 。例如 Java 虚拟机运行错误(Virtual MachineError)、虚拟机内存不够错误(OutOfMemoryError)、类定义错误(NoClassDefFoundError)等 。这些异常发生时,Java 虚拟机(JVM)一般会选择线程终止。

Checked Exception 和 Unchecked Exception 有什么区别?

Checked Exception 即 受检查异常 ,Java 代码在编译过程中,如果受检查异常没有被 catch或者throws 关键字处理的话,就没办法通过编译。

除了RuntimeException及其子类以外,其他的Exception类及其子类都属于受检查异常 。常见的受检查异常有:IO 相关的异常、ClassNotFoundExceptionSQLException…。

Unchecked Exception不受检查异常 ,Java 代码在编译过程中 ,我们即使不处理不受检查异常也可以正常通过编译。

在这里插入图片描述

Java 反射?反射有什么缺点?你是怎么理解反射的(为什么框架需要反射)?

如果说大家研究过框架的底层原理或者咱们自己写过框架的话,一定对反射这个概念不陌生。

反射之所以被称为框架的灵魂,主要是因为它赋予了我们在运行时分析类以及执行类中方法的能力。

通过反射你可以获取任意一个类的所有属性和方法,你还可以调用这些方法和属性。

像咱们平时大部分时候都是在写业务代码,很少会接触到直接使用反射机制的场景。

但是,这并不代表反射没有用。相反,正是因为反射,你才能这么轻松地使用各种框架。像 Spring/Spring Boot、MyBatis 等等框架中都大量使用了反射机制。

这些框架中也大量使用了动态代理,而动态代理的实现也依赖反射。

优点:可以让咱们的代码更加灵活、为各种框架提供开箱即用的功能提供了便利

缺点:让我们在运行时有了分析操作类的能力,这同样也增加了安全问题。比如可以无视泛型参数的安全检查(泛型参数的安全检查发生在编译时)。另外,反射的性能也要稍差点,不过,对于框架来说实际是影响不大的。
在这里插入图片描述

参考链接:https://javaguide.cn/

文章内容根据网上内容汇总整理,用于根据自身学习情况进行查漏补缺,大家也不妨看看自己是否还掌握这些知识点,能帮上忙就最好了!😘

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

重装系统后鼠标识别不了咋办

不知道大家在重装系统时,有没有遇到过系统重装完成后,鼠标不能使用的情况。在这种情况下,我们要怎么操作电脑解决这个问题呢?今天就跟大家分享重装系统后鼠标识别不了咋办。 一、主板没有设置兼容usb 在重装系统时,如果主板没有设置兼容usb,就会出现鼠标使用不了的现象。…

流畅的 Python 第二版(GPT 重译)(十一)

第二十章:并发执行器 抨击线程的人通常是系统程序员,他们心中有着典型应用程序员终其一生都不会遇到的用例。[…] 在 99%的用例中,应用程序员可能会遇到的情况是,生成一堆独立线程并将结果收集到队列中的简单模式就是他们需要了解…

【Linux】线程预备知识{远程拷贝/重入函数与volatile关键字/认识SIGCHILD信号/普通信号/实时信号}

文章目录 0.远程拷贝1.重入函数与volatile关键字2.认识SIGCHILD信号3.普通信号/实时信号 0.远程拷贝 打包资源:tar czf code.tgz *远程传输:scp code.tgz usr服务器ip:/home/usr/路径解压:tar xzf code.tgz 1.重入函数与volatile关键字 先看…

深度解析 Android 系统属性

目录 Android系统属性 1.属性在哪里? 2.属性长什么样? 3.如何读写属性: 4.属性的作用 属性文件生成过程 如何添加系统属性 1.添加系统属性到 /system/build.prop 2.添加系统属性到 /vendor/build.prop 3.添加系统属性到 /product/b…

cdn尝试(减少打包体积)

如果是vue-cli创造的工程,在build后面加上 --report,就会在dist文件夹下出现report.html用于分析打包后个文件的体积 也可以使用插件: webpack使用webpack-bundle-analyzer进行分析; vite使用rollup-plugin-visualizer进行分析…

论文解读—— 基于边缘梯度方向插值和 Zernike 矩的亚像素边缘检测

论文:《 Subpixel edge detection based on edge gradient directional interpolation and Zernike moment》 地址: http://www.dpi-proceedings.com/index.php/dtcse/article/view/24488 摘要 在本文中,我们提出了一种基于边缘梯度方向插值…

D2587A高压大电流DC-DC,采用TO220T-5L或TO263-5L封装形式

1、概述 D2587A稳压器是专为反激式、升压和正向转换器应用而设计的单片集成电路。该器件提供四种不同的输出电压版本:3.3V、5V、12V 和可调节电压。这些稳压器需要的外部元器件很少,因此具有成本效益,并且易于使用。该电源开关是一款5A NPN器…

介绍5款 世界范围内比较广的 5款 mysql Database Management Tool

介绍5款 世界范围内比较广的 5款 Mysql Database Management Tool 文章目录 介绍5款 世界范围内比较广的 5款 Mysql Database Management Tool前言MySQL Workbench:Navicat Premium:DBeaver Community:HeidiSQL:SQLyog&#xff1a…

每日学习笔记:C++ STL 的无序容器(unordered_set、unordered_map)

定义 特性 能够快速查找元素 操作函数 负载系数 元素个数 / bucket个数 提供哈希函数 提供等价准则 方法一:重写元素的操作符 方法二:自定义函数对象

点云配准:从二维到三维的艺术

点云配准:从二维到三维的艺术 在计算机视觉和机器学习的领域中,配准是一个至关重要的步骤,它涉及到将不同视角或时间点捕获的数据集对齐到同一个坐标系统中。这一过程不仅对二维图像至关重要,而且在三维世界的理解中也发挥着关键作…

Apipost IDEA插件新升级,Apipost Helper上架IDEA插件市场

大家好!今天向大家介绍一个非常方便的IDEA插件——Apipost Helper!相信很多使用过Apipost的朋友在开发过程中都希望能够直接将编写好的API同步至Apipost,而无需手动填写。前段时间,Apipost推出了Apipost IDEA插件的内测版&#xf…

YOLOv4学习

YOLOv4学习 什么是 parameter aggregation?什么是 Skip-connections?正是梯度的反向传播才使得损失函数得以在训练过程中不断优化,以使得模型逐渐学习到“正确的”知识,对吗?什么是Bag-of-Freebies?什么是B…

LLM—Transformer作用及信息流

一、Transformer的作用 Transformer架构的精髓在于其创新性地采用了编码器与解码器的堆叠设计,这一设计巧妙地融合了多头自注意力机制(Multi-Head Attention)和位置前馈网络(Position-wise Feed Forward Network)两大核…

LeetCode:2312. 卖木头块(DP Java)

目录 2312. 卖木头块 题目描述: 实现代码与解析: dp 原理思路: 2312. 卖木头块 题目描述: 给你两个整数 m 和 n ,分别表示一块矩形木块的高和宽。同时给你一个二维整数数组 prices ,其中 prices[…

LLM之RAG实战(三十二)| 使用RAGAs和LlamaIndex评估RAG

在之前的文章中,我们介绍了RAG的基本流程和各种优化方法(query重写,语义分块策略以及重排序等)。那么,如果发现现有的RAG不够有效,该如何评估RAG系统的有效性呢? 在本文中,我们将介绍…

OJ_汉诺塔问题

有三根柱子和一些大小不同的圆盘,开始时所有的圆盘都按照从小到大的顺序堆叠在柱子A上,要求把所有的圆盘移动到柱子C上,但是移动过程中要满足以下规则: 每次只能移动一个圆盘。不能将一个较大的圆盘放在较小的圆盘上面。 #incl…

【工具】Docker 入门及常用指令

SueWakeup 个人主页:SueWakeup 系列专栏:为祖国的科技进步添砖Java 个性签名:保留赤子之心也许是种幸运吧 目录 1. 什么是 Docker ? 2. Docker 安装 3. Docker 镜像 4. Docker 容器 4.1 运行容器 4.2 查看正在运行的容器 4…

leetcode 714

leetcode 714 题目 例子 思路1 使用dp[n][2] 存储最佳利润值,动态规划的思路,重要的是转移方程。 代码1 class Solution { public: int maxProfit(vector& prices, int fee) { int n prices.size(); //dp[i][0] 前i天手里没有股票的最大利润 //…

Spring Bean的生命周期流程

前言 Java 中的公共类称之为Java Bean,而 Spring 中的 Bean 指的是将对象的生命周期,交给Spring IoC 容器来管理的对象。所以 Spring 中的 Bean 对象在使用时,无需通过 new 来创建对象,只需要通过 DI(依赖注入&#x…

使用光标精灵更换电脑鼠标光标样式,一键安装使用

想要让自己在使用电脑时更具个性化,让工作和娱乐更加愉快,改变你的电脑指针光标皮肤可能是一个简单而有效的方法。很多人或许并不清楚如何轻松地调整电脑光标样式,下面我就来分享一种简单的方法。 电脑光标在系统里通常只有几种默认图案&…