当前位置: 首页 > news >正文

迟来的前端面试经验

最近也是在换工作,小公司和大厂(虾皮、腾讯)都有面试。几次面试收获还是比较大的,了解许多自己的短板,当然也拿到了合适的offer。本文主要整理下面试遇到的问题和知识点,希望对准备找工作的掘友有所帮助。

基础部分

面试的时候,前端基础知识,还是仔细准备,这一块可以问的东西很多,不管哪一面,都将会有问到,或者通过面试题来考察。

你对css3的动画属性了解多少?

这个问题,是在介绍项目的时候,面试官提出来的。我介绍的项目是一个利用贝塞尔曲线公式,来控制小车做曲线运动移动到对应的位置,抽取奖品。我自己是用js套用公式做的,当时面试官,有提到具体的公式是怎样的(有点慌,确实是百度来的。。。),车的坐标怎么控制,小车是否可以连续运动(项目中采用的是把所有动画函数放入一个数组,采用类似express中间件 next这样的方式来实现)。然后面试就提了上面的问题,我的回答(常规操作),animation开头的后面的属性,能记住的都说了,最后面试官问我知道 css3也可以设置贝塞尔曲线么,还有 animationend 事件 ,然后项目的新的思路就出来了,利用css3 cubic-bezier 结合动画结束事件 animationend ,就可以实现小车的曲线运动了。嗯,服气!

session和cookie的区别是啥?

这个网上答案有很多,建议回答的时候,就是解释一下基本的概念,然后结合场景说明下用途就ok啦。。。。

聊聊js的原型链吧?

这个考的方式有很多。比如直接说出一个 function Person ,让你画图的(如果头脑清晰,可以把函数也是对象的那部分画出来,这是一个加分项);还有就是出一个题,让你说出 p1.proto , Person.prototype 的关系或是各种 proto 的指向问题,建议用纸笔仔细捋捋。

防抖和节流的实现原理,和使用场景? 这个也是一个面试高频问题。防抖类似于,我们排队上地铁,一个人上去后,后面的人才能接着上(one by one),一般用在 搜索展示下拉框 这样的场景;节流,是理解为是 水龙头按节奏的滴水 ,一般是用在有 onresize onsrcoll 这样的场景。

http的缓存机制? 协商缓存(etag,last-mofify)和强制缓存(cache-control)。分别解释了各种概念后,面试官追问,既然有了last-modify为什么还要有etag:1、文件内容没有变的情况,但是last-mofidy会变,比如,打开文件修改,当时内容没有变化。2、就是last-mofify的时间精度是秒级,但后台可能存在一秒对文件多次操作的可能。

聊聊http2的特性?

概念性问题,背背书。。。。

addeventlistener第三个参数作用

项目场景问题

项目中长列表问题怎么优化? 这个主要是虚拟列表,vue和react 都要对应的解决方案。具体的原理,推荐一篇文章:虚拟滚动轮子

聊聊vue总key的作用?

在vue中主要是通过 tag元素标签 和 key 来判断元素是否为相同元素。如果不是同一个元素,就按照新的虚拟节点生成dom,删除老节点。如果项目在进行diff比较,重点是子元素的比较(然后子元素又会重新,按照 tag 和 key 来判断是否同一元素)这是一个递归的过程。具体的实现原理,大家多看看相关的文章,我也在摸索中,哈哈。。。

平常项目中怎么做性能和异常监控?

这个主要是 window.performance 来监控页面的白屏时间、tcp连接时间、资源加载。peferomance。异常监控,window.error

如果有100万的pv访问,前端有什么方案去配合后端处理压力?

这个问题,我当然的就是骨架屏,资源懒加载这样的体验上面的解决方案;还有一些静态数据缓存。有清晰的大佬,可以帮忙解决下,感谢!

编程题

1、形似于数组var arr = [1, [2, [3, [4, 5, [6, 7], 8, [9, 10, [11]]], 12]]]扁平? 这个是之前看过牙羽大佬的 javascript专题 系列文章有提到,上代码

var flat = function (arr) {

while (arr.some(i => Array.isArray(i))) {

arr = [].concat(…arr)

}

return arr

}

复制代码

写出Promise.all的pollify? 上代码:

Promise.all = function (arr) {

const fns = arr || [];

let result = [];

const count = 0;

return new Promise((resolve, reject) => {

for (let i = 0, len = fns.length; i < len; i++) {

count++;

fn.then((data) => {

result[i] = data;

if (count == len) {

resolve(result)

}

}, (reson) => {

// fail

result[i] = reson

reject(result);

})

}

})

}

复制代码

实现下compose函数?

这个最简单的方法是用reduceRight函数来实现,但当时在编码的时候,有点卡壳,采用的while循环来实现,请各位大佬指正哈

function compose(…fns) {

let isFist = true;

return function () {

let result = Array.from(arguments);

let fn;

while (fns.length) {

fn = fns.pop();

  if (isFist) {

    result = fn.apply(null, result)

  } else {

    result = fn.call(null, result)

  }


  isFist = false

}

return result

1

2

3

4

5

6

7

8

9

}

}

复制代码

测试用例:

const add2 = num => num + 2;

const fn1 = compose(add2);

console.log(fn1(3)); //执行后,打印 5

const sum = (a, b) => a + b;

const fn2 = compose(add2, sum); console.log(fn2(3, 2)); //执行后,打印 7

复制代码

统计一个超导文本(只有a-z)里面 每个字母出现的个数?

这个问题就部贴代码了,我也不知道自己的实现有么有问题。我简单说下我的思路:采用分片的思想统计,首先我们需要实现一个函数 doStatic 接受首尾索引(start,end),这个函数用来统计一小段文本(切片),一般是用对象key-value中形势来统计。然后,我们可以采用setTimeout每次从文本截取一段传到函数 dostatic 中,把放回的key-valu对象放到一个数组 result 中。如果文本还有剩余,继续截取,统计。当文本全部截取完后,我们就可以通过回调或者其他方法把数组result拿出来。再这个数组result进行处理。 这是我当时的思路,如果各位掘友有更好的实现和思路,欢迎留言大家一起学习哈!

小结

面试也是检验自己一种方式,只要我们自己总结就一定会有收获offer或者其他技能方面的,一起加油吧!

有想法的小伙伴可以加入Q群:1017810018一起学习探讨经验哦



喜欢的朋友记得点赞、收藏、关注哦!!!

相关文章:

迟来的前端面试经验

最近也是在换工作&#xff0c;小公司和大厂&#xff08;虾皮、腾讯&#xff09;都有面试。几次面试收获还是比较大的&#xff0c;了解许多自己的短板&#xff0c;当然也拿到了合适的offer。本文主要整理下面试遇到的问题和知识点&#xff0c;希望对准备找工作的掘友有所帮助。 …...

深度解析 LDA 与聚类结合的文本主题分析实战

🌟作者简介:热爱数据分析,学习Python、Stata、SPSS等统计语言的小高同学~🍊个人主页:小高要坚强的博客🍓当前专栏:《Python之文本分析》🍎本文内容:深度解析 LDA 与聚类结合的文本主题分析实战🌸作者“三要”格言:要坚强、要努力、要学习 目录 引言 技术框架…...

国内Ubuntu环境Docker部署CosyVoice

国内Ubuntu环境Docker部署CosyVoice 本文旨在记录在 国内 CosyVoice项目在 Ubuntu 环境下如何使用 dockermin-conda进行一键部署。 源项目地址&#xff1a; https://github.com/FunAudioLLM/CosyVoice 如果想要使用 dockerpython 进行部署&#xff0c;可以参考我另一篇博客中的…...

Oracle sql developer and Toad for Oracle set start DBMS output

Oracle sql developer Toad for Oracle...

ArcGIS JSAPI 高级教程 - 通过RenderNode实现视频融合效果(不借助三方工具)

ArcGIS JSAPI 高级教程 - 通过RenderNode实现视频融合效果(不借助三方工具) 核心代码完整代码在线示例地球中展示视频可以通过替换纹理的方式实现,但是随着摄像头和无人机的流行,需要视频和场景深度融合,简单的实现方式则不能满足需求。 三维视频融合技术将视频资源与三维…...

关于IDE的相关知识之二【插件推荐】

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///计算机爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于ide插件推荐的相关内容&#xff01…...

Spring Boot日志处理

文章目录 Spring Boot日志处理1. 日志存入数据库&#xff08;AOP&#xff09;2. 日志控制台打印与写入文件&#xff08;logback&#xff09; Spring Boot日志处理 1. 日志存入数据库&#xff08;AOP&#xff09; 引入aop依赖 <dependency><groupId>org.springfram…...

node.js之---子线程(child_process)模块

为什么需要子线程&#xff08;child_process&#xff09;模块 Worker Threads 的基本概念 如何使用 Worker Threads Worker Threads 的性能 Worker 线程的优势和限制 进阶用法&#xff1a;共享内存 为什么需要子线程&#xff08;child_process&#xff09;模块 在 Node.js…...

什么是打流,怎么用iperf3打流

什么是打流 在网络安全和黑灰产领域&#xff0c;“打流”具有不同的含义&#xff0c;常用于形容通过技术手段制造流量假象或发起流量攻击。 流量攻击&#xff08;DDoS&#xff09;中的“打流”&#xff1a; “打流”指向目标服务器或网络发起 大规模的数据请求&#xff0c;造…...

Java 可变参数、Collections工具类

一. 可变参数 1. 可变参数&#xff1a;就是一种特殊形参&#xff0c;定义方法、构造器的形参列表里&#xff0c;格式&#xff1a;数据类型...参数名称 2. 特点&#xff1a;可以不传数据&#xff1b;可以穿一个或多个数据&#xff1b;也可以传一个数组 3. 好处&#xff1a;常常用…...

day30-awk进阶

awk模式种类 awk的模式分为这几种 正则表达式 基本正则扩展正则比较表达式范围表达式特殊模式 BEGINEND awk比较运算符&#xff08;语法&#xff09; 关系运算符解释示例<小于x<y<小于等于x<y等于xy!不等于x!y>大于等于x>y>大于x>y~匹配正则x~/正则…...

cka考试-03-k8s版本升级

一、原题 二、解答 [root@master ~]# kubectl get node NAME STATUS ROLES AGE VERSION master Ready control-plane,master 25h v1.22.12 node1 Ready worker 25h v1.22.12 node2 Ready worker …...

前后端分离项目部署到云服务器、宝塔(前端vue、后端springboot)详细教程

一、部署介绍 部署的环境是宝塔&#xff08;宝塔9.0.0&#xff09;、阿里云服务器&#xff08;centos 7.6&#xff09;&#xff1b;前端是Vue3项目、后端是springboot3x、jdk11、数据库有redis、mysql&#xff1b;搜索采用的是es。 由于宝塔面板中可以快速进行环境的配置&…...

vue面试题|[2025-1-3]

1.v-if和v-show的区别&#xff1f; 都是可以控制元素的显示和隐藏 1.v-show是控制元素的display值来让元素显示和隐藏&#xff1b;v-if显示&#xff08;隐藏&#xff09;时会把整个DOM元素添加&#xff08;删除&#xff09; 2.v-show只是简单的css切换&#xff1b;v-if有一个局…...

微信小程序中的 storage(本地存储)和内存是两个完全不同的存储区域

这是一个非常关键且容易混淆的概念 既然 this.globalData.appId appId 是将 appId 存储在内存中&#xff0c;为什么微信小程序中的 wx.getStorage 和 wx.setStorage&#xff08;本地存储&#xff09;中没有 appId&#xff0c;并且您提出了一个非常重要的疑问&#xff1a;stor…...

时序优化方法

1.rtl级 1.1避免组合逻辑级数过深 当组合逻辑级数过深时&#xff0c;如果时序允许&#xff0c;可以通过插入时序逻辑来打断组合逻辑链。 1.2寄存器复制 如果是由于fanout过大&#xff0c;可以通过寄存器复制&#xff0c;来减小扇出。 1.3逻辑展平&#xff0c;消除优先级 …...

网络游戏之害

网络游戏之害&#xff1a; 网络游戏于今之世风靡四方&#xff0c;其娱人耳目、畅人心怀之效&#xff0c;固为人知&#xff0c;然所藏之害&#xff0c;若隐伏之暗潮&#xff0c;汹涌而至时&#xff0c;足以覆舟&#xff0c;尤以青年为甚&#xff0c;今且缕析其害&#xff0c;以…...

被催更了,2025元旦源码继续免费送

“时间从来不会停下&#xff0c;它只会匆匆流逝。抓住每一刻&#xff0c;我们才不会辜负自己。” 联系作者免费领&#x1f496;源&#x1f496;码。 三联支持&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;欢迎留言讨论 更多内容敬请期待。如有需要源码可以联系作者免…...

Springboot - Web

Spring Boot 是一个用于简化 Spring 应用程序配置和部署的框架。它提供了一种快速开发的方式&#xff0c;通过默认配置、自动化配置等特性&#xff0c;使得开发者能够更快捷地构建和部署基于 Spring 的应用。 Spring Boot Web 是 Spring Boot 的一个子模块&#xff0c;它专注于…...

Flutter中的网络请求图片存储为缓存,与定制删除本地缓存

Flutter中的网络请求图片存储为缓存&#xff0c;与定制删除本地缓存 1&#xff1a;封装请求图片函数 2&#xff1a;访问的图片都会转为本地缓存&#xff0c;当相同的请求url&#xff0c;会在本地调用图片 3&#xff1a;本地缓存管理【windows与andriod已经测试】【有页面】【有…...

智汇厦门:苏哒智能携其智能化产品亮相文心中国行现场

2025年1月2日&#xff0c;文心中国行再次踏足美丽的鹭岛厦门。 本次的文心中国行活动不仅有来自政府、高校及企业的精英专家将齐聚一堂&#xff0c;分享AI与大模型的最新研究成果&#xff0c;还正式揭牌百度飞桨&#xff08;厦门&#xff09;人工智能产业赋能中心&#xff0c;…...

SQL 分析函数与聚合函数的组合应用

目标&#xff1a;掌握 SQL 中分析函数&#xff08;窗口函数&#xff09;与聚合函数的组合使用&#xff0c;通过实际案例实现复杂业务需求&#xff0c;如同比、环比和趋势分析。 1. 分析函数与聚合函数的区别 聚合函数&#xff08;Aggregate Functions&#xff09;&#xff1a;…...

【Elasticsearch入门到落地】5、安装IK分词器

接上篇《4、Elasticsearch的安装》 上一篇我们进行了Elasticsearch以及Kibana的环境准备及软件安装&#xff0c;本篇我们安装最后一个支持软件IK分词器。 一、IK分词器概念 我们再来回顾一下上一张IK分词器的概念&#xff1a; IK分词器&#xff08;IK Analyzer&#xff09;是…...

8、RAG论文笔记(Retrieval-Augmented Generation检索增强生成)

RAG论文笔记 1、 **研究背景与动机**2、方法概述3、RAG 模型架构3.1总体架构3.2 Generator&#xff08;生成器&#xff09;3.3 检索器&#xff08;Retriever&#xff09;3.4训练&#xff08;Training&#xff09;3.5**解码方法**&#xff08;求近似 &#xff09;3.6微调的参数 …...

【论文笔记】Contrastive Learning for Sign Language Recognition and Translation

&#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&#xff0c;为生民立命&#xff0c;为往圣继绝学&#xff0c;为万世开太平。 基本信息 标题: Contrastive Learning for…...

《C++设计模式》策略模式

文章目录 1、引言1.1 什么是策略模式1.2 策略模式的应用场景1.3 本文结构概览 2、策略模式的基本概念2.1 定义与结构2.2 核心角色解析2.2.1 策略接口&#xff08;Strategy&#xff09;2.2.2 具体策略实现&#xff08;ConcreteStrategy&#xff09;2.2.3 上下文&#xff08;Cont…...

细说STM32F407单片机轮询方式CAN通信

目录 一、项目介绍 二、项目配置 1、时钟、DEBUG、USART6、NVIC、GPIO、CodeGenerator 2、CAN1 &#xff08;1&#xff09;Bit Timings Parameters组&#xff0c;位时序参数 &#xff08;2&#xff09;Basic Parameters组&#xff0c;基本参数 &#xff08;3&#xff09…...

perf:对hutool的BeanUtil工具类做补充

分享一个自定义的BeanUtil&#xff0c;继承的是hutool的工具类&#xff0c;然后自己扩充了几个方法&#xff1b; 1、实现了两个对象覆盖非空属性的功能&#xff08;经常使用&#xff09;&#xff0c;不需要设置CopyOptions&#xff1b; 2、两个对象&#xff0c;对指定前缀的属…...

【数据结构】栈与队列(FIFO)

在阅读该篇文章之前&#xff0c;可以先了解一下堆栈寄存器和栈帧的运作原理&#xff1a;<【操作系统】堆栈寄存器sp详解以及栈帧>。 栈(FILO) 特性: 栈区的存储遵循着先进后出的原则。 例子: 枪的弹夹&#xff0c;最先装进去的子弹最后射出来&#xff0c;最后装入的子弹…...

02.01、移除重复节点

02.01、[简单] 移除重复节点 1、题目描述 编写代码&#xff0c;移除未排序链表中的重复节点。保留最开始出现的节点。 2、解题思路 为了实现这一目标&#xff0c;我们可以使用一个哈希表&#xff08;或集合&#xff09;来记录已经遇到的节点值&#xff0c;逐步遍历链表并删…...

Spring thymeleaf 的快速默认搭建使用

Spring thymeleaf 的快速默认搭建使用 thymeleaf 的搭建Pom 文件 thymeleaf 的使用Controller返回参数String资源文件路径访问端点显示HTML页面 thymeleaf 的搭建 Pom 文件 Pom 文件引入 spring-boot-starter-thymeleaf 依赖 <dependency><groupId>org.springfra…...

unity学习3:如何从github下载开源的unity项目

目录 1 网上别人提供的一些github的unity项目 2 如何下载github上的开源项目呢&#xff1f; 2.1.0 下载工具 2.1.1 下载方法1 2.1.2 下载方法2&#xff08;适合内部项目&#xff09; 2.1.3 第1个项目 和第4项目 的比较 第1个项目 第2个项目 第3个项目 2.1.4 下载方法…...

印象笔记07——试一试PDF标注

印象笔记07——试一试PDF标注 [!CAUTION] 根据第六期&#xff0c;我再次查询了资料&#xff0c;印象笔记还是有一些可圈可点的功能的&#xff08;当然部分有平替&#xff09;&#xff0c;针对会员作用&#xff0c;开发使用场景虽然是逆向的&#xff0c;但我坚信这是一部分人的现…...

Logback的使用

1、基本认识 logback官方文档&#xff1a;http://logback.qos.ch 具体样例&#xff1a;https://www.baeldung.com/logback 从下面依赖关系图可以看见&#xff0c;Springboot的核心启动器spring-boot-stater依赖了spring-boot-starter-looging&#xff0c;而这个就是日志的启动器…...

沙箱模拟支付宝支付3--支付的实现

1 支付流程实现 演示案例 主要参考程序员青戈的视频【支付宝沙箱支付快速集成版】支付宝沙箱支付快速集成版_哔哩哔哩_bilibili 对应的源码在 alipay-demo: 使用支付宝沙箱实现支付功能 - Gitee.com 以下是完整的实现步骤 1.首先导入相关的依赖 <?xml version"1…...

微信小程序滑动解锁、滑动验证

微信小程序简单滑动解锁 效果 通过 movable-view &#xff08;可移动的视图容器&#xff0c;在页面中可以拖拽滑动&#xff09;实现的简单微信小程序滑动验证 movable-view 官方说明&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/component/movable-view.ht…...

Redis的常用命令

Redis中文字典网站 redis 命令手册https://redis.com.cn/commands.html Keys * 查看当前库所有的key exists ke 判断某个key是否存在 type key查看你的key是什么类型 Del key删除执行的key数据 unlink key非阻塞删除&#xff0c;仅仅将keys从keyspace元数据中删除&#xf…...

国内Ubuntu环境Docker部署 ComfyUI

国内Ubuntu环境Docker部署 ComfyUI 趁着这两天用docker部署了 Stable Diffusion&#xff0c;顺手也安排上 ComfyUI。 ComfyUI相比 Stable Diffusion 原生的 WEB UI&#xff0c;更容易让人了解其出图的过程&#xff0c;极其适合学习与研究。拼接其强大的插件节点、不仅能够实现文…...

Meta 的新策略,将 AI 生成的角色整合到其社交媒体平台

一、Meta新年规划及引人注目的举措 多元规划背景&#xff1a;在新的一年&#xff0c;Meta制定了多维度的战略规划&#xff0c;旨在巩固并拓展其在科技领域的影响力。增强现实与元宇宙是其长期布局的重点方向&#xff0c;期望借此塑造未来互联网的交互形态&#xff1b;面对TikTo…...

玩转OCR | 腾讯云智能结构化OCR初次体验

目录 一、什么是OCR&#xff08;需要了解&#xff09; 二、产品概述与核心优势 产品概述 智能结构化能做什么 举例说明&#xff08;选看&#xff09; 1、物流单据识别 2、常见证件识别 3、票据单据识别 4、行业材料识别 三、产品特性 高精度 泛化性 易用性 四、…...

蓝桥杯JAVA--003

需求 2.代码 public class RegularExpressionMatching {public boolean isMatch(String s, String p) {if (p.isEmpty()) {return s.isEmpty();}boolean firstMatch !s.isEmpty() && (s.charAt(0) p.charAt(0) || p.charAt(0) .);if (p.length() > 2 && p…...

STC51和STM32单片机烧录引脚的完整名称

STC51 和 STM32 单片机烧录引脚的完整名称 1. STC51 单片机的烧录引脚 STC51 单片机通过 串口&#xff08;UART&#xff09; 进行程序下载&#xff0c;主要引脚如下&#xff1a; 引脚名称完整英文名称说明TXDTransmit Data串口发送引脚&#xff0c;用于发送数据。RXDReceive…...

阿里云大模型ACP高级工程师认证模拟试题

阿里云大模型ACP高级工程师认证模拟试题 0. 引言1. 模拟试题单选题多选题单选题多选题单选题多选题单选题多选题单选题多选题单选题多选题单选题多选题单选题多选题单选题多选题单选题多选题单选题多选题单选题多选题单选题多选题单选题单选题单选题多选题多选题单选题多选题单…...

深入理解计算机中的补码、反码、原码

问题&#xff1a; 我们每天用的钟表&#xff0c;其实只有1~12这12个数字&#xff0c;但我们日常会说13点、17点之类的。 问&#xff1a;13点在钟表上哪个位置&#xff1f; 答&#xff1a;很简单嘛&#xff0c;1点的位置。 你不觉得奇怪吗&#xff0c;为啥13点会和1点在同一个位…...

调试:用电脑开发移动端网页,然后用手机真机调试

一、背景 电脑开发移动端&#xff0c;然后想真机调试... 二、实现 2.1、电脑和手机链接相同局域网 2.2、pnpm run dev 启动项目 2.3、浏览器访问 localhost:3001/login 2.4、Windowsr 输入cmd&#xff0c;在cmd输入 ipconfig 2.5、浏览器访问 ip地址加/login 2.6、手机端…...

深入浅出:Spring Boot 自定义消息转换器的实现与应用

Spring Boot 作为当前最流行的 Java Web 开发框架之一&#xff0c;广泛应用于微服务架构、企业级应用等多个场景。Spring Boot 提供了灵活且易于扩展的架构&#xff0c;其中消息转换器&#xff08;Message Converter&#xff09;是其重要组成部分。消息转换器在 Spring Boot 中…...

基于AI大模型的医院SOP优化:架构、实践与展望

一、引言 1.1 研究背景与意义 近年来,人工智能(AI)技术取得了迅猛发展,尤其是大模型的出现,为各个领域带来了革命性的变化。在医疗领域,AI 医疗大模型正逐渐崭露头角,展现出巨大的应用潜力。随着医疗数据的海量积累以及计算能力的大幅提升,AI 医疗大模型能够对复杂的…...

Maven项目集成SQL Server的完整教程:从驱动配置到封装优化

前言 在最近的系统对接过程中&#xff0c;由于对方团队不熟悉技术&#xff0c;最终选择直接提供 SQL Server 视图。本文详细记录了使用 Maven 集成 SQL Server 驱动的过程&#xff0c;以及从配置到查询的各个关键步骤&#xff0c;还包括注意事项与常见问题&#xff0c;希望对需…...

Java 21 优雅和安全地处理 null

在 Java 21 中,判断 null 依然是开发中常见的需求。通过使用现代 Java 提供的工具和特性,可以更加优雅和安全地处理 null。 1. 使用 Objects.requireNonNull Objects.requireNonNull 是标准的工具方法,用于快速判断并抛出异常。 示例 import java.util.Objects;public c…...

Java(四十四)file

Java中的file类:代表文件或者文件夹(目录)类,也就是说将文件或者文件夹通过File类来封装成对象。 一:常用的构造方法: 使用file类,需要通过构造方法创建一个file对象。 1:public File(String pathname) public static void main(String[] args) {File fl = new File(&…...