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

Stack(栈)

定义:在Java编程语言中,栈(Stack)是一种非常重要的数据结构,具有后进先出的特性,即最后入栈的元素最先出栈。栈通常用于存储临时性的数据,如方法调用过程中的局部遍历、操作数栈等。

图像理解

我们在这里要理解栈顶和栈底。这里的"顶"和"底"与我们常识中的顶端和底端是相反的。

栈顶(Top):栈顶是栈中最后加入的元素的位置。在栈的操作中,所有入栈(push)和出栈(pop)的操作都是针对栈顶元素进行的

栈底(Bottom):栈底是栈中最早加入的元素的位置(初始为空)。栈底的元素是最后会被出栈的元素,如果栈中没有进行任何出栈操作的话。

语法定义

public class Stack<E> extends Vector<E>

Stack类是java.util包的一部分,且继承自Vector,因此它拥有Vector的所有方法,并增加了一些专门为栈设计的方法。后续会讲解Vector类

主要方法

1.push(E item):将元素压入栈顶。

2.pop():移除并返回栈顶元素。如果栈为空,则抛出EmptyStackException

3.peek():返回栈顶元素,但不移除它。如果栈为空,则抛出EmptyStackException

4.empty():测试堆栈是否为空。如果栈为空,则返回true;否则返回false

5.search(Object o):返回对象在堆栈中的索引。如果对象o在栈中,则返回其从1开始的索引;如果不在栈中,则返回-1。注意,这里的索引是从栈底到栈顶的顺序计算的

此外,Stack类还继承了Vector类的其他方法,如size()、add(E e)、remove(Object o)等,这些方法可以用于获取栈的大小、向栈中添加元素或从栈中移除元素等操作。但需要注意的是,由于Stack类主要是为了实现栈的数据结构,因此一些Vector类的方法在Stack类中的使用可能并不直观或必要

代码示例:

public static void main(String[] args) {// 创建一个栈Stack<Integer> stack = new Stack<>();// 入栈stack.push(10);//栈顶stack.push(20);stack.push(30);//栈底System.out.println("Stack after pushes: " + stack);// 输出: [10, 20, 30]// 查看栈顶元素System.out.println("Top element: " + stack.peek()); // 输出: 30// 出栈System.out.println("Popped element: " + stack.pop()); // 输出: 30System.out.println("Stack after pop: " + stack); // 输出: [10, 20]// 检查是否为空System.out.println("Is stack empty?" + stack.isEmpty()); // 输出: false//查找元素:注意这里索引是从1开始的,而且是从栈底到栈顶的顺序计算的System.out.println("Position of 10: " + stack.search(10)); // 输出: 2}

复杂度分析

栈的基本操作(如入栈、出栈、访问栈顶元素、判断栈是否为空等)的时间复杂度通常为O(1),因为这些操作只需要在栈顶进行,无需遍历整个栈。然而,需要注意的是,这些复杂度分析是基于常规实现方式的情况下给出的,具体实现方式可能会影响复杂度

栈的实现方式

1.基于简单数组的实现

·原理:使用数组作为底层数据结构,通过维护一个栈顶指针来跟踪栈顶元素的位置

·优点:实现简单,访问速度快

·缺点:数组长度固定,需要提前定义栈的最大容量

2.基于动态数组的实现

·原理:使用动态数组(如ArrayList)作为底层数据结构,通过动态调整数组大小来实现栈的功能

·优点:可以动态调整容量,无需提前定义栈的最大容量

·缺点:在扩容和缩容时可能会设计额外的内存分配和复制操作

3.基于链表的实现

·原理:使用链表作为底层数据结构,通过链表的节点来存储栈中的元素

·优点:无需提前定义栈的最大容量,可以动态调整栈的大小

·缺点:访问速度相对较慢,因为需要遍历链表来查找栈顶元素

注意:

我们上述代码中Stack<Integer> stack=new Stack<>();创建的栈Stack底层存储的是一个数组,它会在需要时自动增长。这里说的数组其实就是Vector。在Java中,Stack类继承自Vector类,而Vector类本身是一个动态数组的实现。

尽管Stack提供了线程安全的栈实现,但由于它是基于Vector的,因此可能不是性能最优的选择。在需要高性能栈实现的场景中,可以考虑使用其他线程安全的集合类(如java.util.concurrent包中的类)或自己实现一个基于数组或链表的线程安全栈。同时,对于不需要线程安全的场景,ArrayList或其他非同步集合类可能提供更好的性能。

应用场景

Stack类适用于处理具有递归特性或需要逆序操作的问题。以下是一些常见的应用场景

1.方法调用和返回:在程序执行过程中,方法调用时会使用栈的特性,将方法调用的信息存储在栈帧中,然后依次执行,直到返回

2.表达式求值:计算机编辑器和解释器在求解表达式时会使用栈来保存操作数和运算符。例如:LeetCode的逆波兰表达式求值:150. 逆波兰表达式求值 - 力扣(LeetCode)

3.撤销操作:编辑器和设计软件通常使用栈来实现撤销和重做的功能

4.括号匹配:可以使用栈来验证表达式中的括号是否匹配

5.深度优先搜索(DFS):在实现图的遍历算法时,可以使用栈来保存待访问的节点

注意事项

·线程安全:由于Stack继承自Vector,并且Vector的方法都被synchronized关键字保护,因此Stack类是线程安全的。但在单线程环境下,使用线程安全的Stack类可能会导致性能下降。此时,可以考虑使用性能更高的Deque(如ArrayDeque)来代替Stack。后续会讲解Deque(双端队列)接口。

内存溢出:如果栈使用不当(如无限制地入栈而不出栈),可能会导致内存溢出问题。因此,在使用栈时需要注意栈的大小和元素的出入栈操作

相关文章:

Stack(栈)

定义&#xff1a;在Java编程语言中&#xff0c;栈(Stack)是一种非常重要的数据结构&#xff0c;具有后进先出的特性&#xff0c;即最后入栈的元素最先出栈。栈通常用于存储临时性的数据&#xff0c;如方法调用过程中的局部遍历、操作数栈等。 图像理解&#xff1a; 我们在这里要…...

【Vue3 Computed 与 Watch 维护对比】

让我们从开发体验和维护性的角度深入对比 computed 和 watch&#xff0c;通过具体场景分析它们的差异&#xff1a; 一、维护成本对比 1. 依赖管理差异 // 原始代码 const productFilter computed(() > {return products.value.filter((p) > p.price > minPrice.val…...

在node.js环境中使用web服务器http-server运行html静态文件

http-server http-server是一个超轻量级web服务器&#xff0c;它可以将任何一个文件夹当作服务器的目录供自己使用。 当我们想要在服务器运行一些代码&#xff0c;但是又不会配置服务器的时候&#xff0c;就可以使用http-server就可以搞定了。 使用方法 因为http-server需要…...

详解电子邮箱工作原理|SMTP、POP3、IMAP、SPF、MIME

写在前面 电子邮件&#xff08;Email&#xff09;是一种通过互联网进行异步通信的技术&#xff0c;工作原理涉及多个协议、服务器和客户端协同工作。 接下来我们来介绍一下电子邮箱的工作原理 1. 电子邮件的核心组成部分 邮件客户端&#xff1a;用户直接交互的软件&#xf…...

算法学习笔记之并查集

简介 问题描述&#xff1a;将编号为1-N的N个对象划分为不相交集合&#xff0c;在每个集合中&#xff0c;选择其中的某个元素代表所在集合。 常见两种操作&#xff1a; 1.合并两个集合 2.查找某元素属于哪个集合 实现方法1 用编号最小的元素标记所在集合&#xff1b; 定义…...

【开源项目】ShowDoc适合IT团队的在线API文档、技术文档工具

1. 介绍 通过showdoc&#xff0c;可以方便地使用markdown语法来书写出美观的API文档、数据字典文档、技术文档、在线excel文档等等。还可以利用showdoc的自动化能力&#xff0c;从程序注释中自动生成API文档&#xff0c;或者从搭配的RunApi客户端&#xff08;类似postman的api…...

Tomcat添加到Windows系统服务中,服务名称带空格

要将Tomcat添加到Windows系统服务中&#xff0c;可以通过Tomcat安装目录中“\bin\service.bat”来完成&#xff0c;如果目录中没有service.bat&#xff0c;则需要使用其它方法。 打到CMD命令行窗口&#xff0c;通过cd命令跳转到Tomcat安装目录的“\bin\”目录&#xff0c;然后执…...

SQL最佳实践(笔记)

写在前面&#xff1a; 之前baeldung的Java Weekly &#xfeff;Reviews里面推荐了一篇关于SQL优化的文章&#xff0c;正好最近在学习数据库相关知识&#xff0c;记一些学习笔记 原文地址&#xff1a;SQL Best Practices Every Java Engineer Must Know 1. 使用索引 使用索引…...

历史性突破!DeepSeek双模型GitHub热度超OpenAI,展现中国AI力量

在2025年2月7日&#xff0c;中国AI领域传来了一则振奋人心的消息&#xff1a;DeepSeek旗下的两大开源项目在GitHub平台上实现了历史性突破&#xff0c;其Star数成功超越了OpenAI的明星项目。这一成就不仅标志着DeepSeek在技术研发和市场影响力上的重大飞跃&#xff0c;也为中国…...

deepseek+kimi一键生成PPT

1、deepseek生成大纲内容 访问deepseek官方网站&#xff1a;https://www.deepseek.com/ 将你想要编写的PPT内容输入到对话框&#xff0c;点击【蓝色】发送按钮&#xff0c;让deepseek生成内容大纲&#xff0c;并以markdown形式输出。 等待deepseek生成内容完毕后&#xff0c…...

Java学习

一、赋值 赋值表达式&#xff0c;左边一定是变量&#xff0c;右边是变量或者数值&#xff0c;变量与数值都有类型&#xff0c;(数值里整数默认int,小数默认double) 类型由小转大&#xff0c;存储空间变大&#xff0c;数据不会丢失&#xff0c;是安全的&#xff0c;在需要时编译…...

Shell-基本命令与运算符

1.为什么要进行shell编程? 在Linux系统中&#xff0c;虽然有各种各样的图形化接口工具&#xff0c;但是shell仍然是一个非常灵活的 工具。 Shell不仅仅是命令的收集&#xff0c;而且是一门非常棒的编程语言。 您可以通过使用shell使大量的任务自动化&#xff0c; 因此&#…...

JUnit 5 自定义注解:方法级 JSON 参数注入

JUnit 5 自定义注解&#xff1a;方法级 JSON 参数注入 为了实现 在测试方法上使用注解&#xff0c;并通过注解属性指定参数名称和 JSON 字符串&#xff08;转换为 Java 对象&#xff09;&#xff0c;以下是基于 JUnit 5 正确扩展接口的解决方案&#xff1a; 一、实现步骤 1. …...

anolis os 8.9安装jenkins

一、系统版本 # cat /etc/anolis-release Anolis OS release 8.9 二、安装 # dnf install -y epel-release # wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo # rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.…...

【CXX】0 Rust与C 互操作利器:CXX库介绍与示例

CXX库是一个非常强大的工具&#xff0c;它使得Rust和C之间的互操作性变得既安全又高效。本专栏将展示如何使用CXX库来桥接Rust和C代码&#xff0c;同时保持两者语言的特性和惯用法。 一、关键概念回顾 类型安全&#xff1a;CXX库通过静态分析类型和函数签名来保护Rust和C的不…...

tensorflow环境中已安装库

1. 深度学习课前准备工作 Anaconda3、TensorFlow和keras安装方法 1 下载Anaconda&#xff1a; Anaconda3-5.2.0-Windows-x86_64.exe 双击安装&#xff0c;选定环境变量 2 开始菜单打开Anaconda Prompt&#xff1a;&#xff08;2、3、4有链接科学上网&#xff09; 创建环境&am…...

构建现代微服务安全体系:Spring Security、JWT 与 Spring Cloud Gateway 实践

构建现代微服务安全体系&#xff1a;Spring Security、JWT 与 Spring Cloud Gateway 实践 本文将基于提供的代码示例&#xff0c;详细介绍如何在一个Java微服务项目中使用Spring Security、JWT和Spring Cloud Gateway来构建一个高效且安全的微服务体系&#xff0c;并整合性能优…...

蓝桥杯(B组)-每日一题(求最大公约数最小公倍数)

题目&#xff1a; 代码展现&#xff1a; #include<iostream> using namespace std; int main() {int m,n,x,y;cin>>m>>n;//输入两个整数int b;bm%n;//取余数xm;//赋值yn;while(b)//当余数不为0的时候{xy;//辗转相除求最小公约数yb;bx%y;}cout<<y<&…...

RocketMQ、RabbitMQ、Kafka 的底层实现、功能异同、应用场景及技术选型分析

1️⃣ 引言 在现代分布式系统架构中&#xff0c;&#x1f4e9;消息队列&#xff08;MQ&#xff09;是不可或缺的组件。它在系统&#x1f517;解耦、&#x1f4c9;流量削峰、⏳异步处理等方面发挥着重要作用。目前&#xff0c;主流的消息队列系统包括 &#x1f680;RocketMQ、&…...

CEF132编译指南 MacOS 篇 - 构建 CEF (六)

1. 引言 经过前面一系列的精心准备&#xff0c;我们已经完成了所有必要的环境配置和源码获取工作。本篇作为 CEF132 编译指南系列的第六篇&#xff0c;将详细介绍如何在 macOS 系统上构建 CEF132。通过配置正确的编译命令和参数&#xff0c;我们将完成 CEF 的构建工作&#xf…...

使用stm32控制esp01s

title: 使用stm32控制esp01s date: 2025年2月9日 18:41:20 tags: 单片机模块使用 categories: stm32 description: 使用stm32控制esp01s连接WiFi查看内容等操作 前言 使用stm32f103控制esp01s是步入物联网的第一步&#xff0c;接下来的文章会详细讲解如何使用stm32控制esp01s…...

返回倒数第N个链表节点

力扣题目&#xff1a;LCR 140. 训练计划 II - 力扣&#xff08;LeetCode&#xff09; 给定一个头节点为 head 的链表用于记录一系列核心肌群训练项目编号&#xff0c;请查找并返回倒数第 cnt 个训练项目编号。 示例 1&#xff1a; 输入&#xff1a;head [2,4,7,8], cnt 1 输…...

一、计算机等级考试——标准评分

&#xff08;1&#xff09;选择题 未做选择题 &#xff08;2&#xff09;基本造作 &#xff08;3&#xff09;上网题 &#xff08;4&#xff09;文字题 &#xff08;5&#xff09;表格题 &#xff08;6&#xff09;演示文稿 二、计算机等级考试——题库 &#xff08;1&#x…...

tweenjs动画

目录 ​编辑 安装 HTML中应用 Threejs中应用 安装 npm install tweenjs/tween.js HTML中应用 <script src"https://cdnjs.cloudflare.com/ajax/libs/tween.js/23.1.3/tween.umd.js"></script><div id"box"></div><style…...

IGBT工作原理

IGBT其实可以看成是BJT和MOS管的融合体&#xff0c;IGBT具有BJT的输入特性和mos管的输出特性。与 BJT 或 MOS管相比&#xff0c;绝缘栅双极型晶体管 IGBT 的优势在于它提供了比标准双极型晶体管更大的功率增益&#xff0c;以及更高的工作电压和更低的 MOS 管输入损耗。 IGBT是绝…...

FlashDecoding

Flash Attention是将Q划分到所有SM block上。每个SM block上的Q&#xff0c;负责和所有K和所有V进行计算&#xff0c;得到对应的结果。期间&#xff0c;SM block彼此之间&#xff0c;不需要通信。 在prefill阶段&#xff0c;seqLength*batchSize*Heads足够多&#xff0c;所以每…...

03:Spring之Web

一&#xff1a;Spring整合web环境 1&#xff1a;web的三大组件 Servlet&#xff1a;核心组件&#xff0c;负责处理请求和生成响应。 Filter&#xff1a;用于请求和响应的预处理和后处理&#xff0c;增强功能。 Listener&#xff1a;用于监听 Web 应用中的事件&#xff0c;实…...

OpenWebUI使用DeepSeek R1满血版,DeepSeek R1 API调用

https://www.dong-blog.fun/post/1935 API调用 登录这里&#xff1a; https://console.volcengine.com/ark/region:arkcn-beijing/endpoint?config%7B%7D 注册后&#xff0c;创建DeepSeek R1 API接入点&#xff1a; 接着Python就可以直接调用了&#xff1a; import os fro…...

DeepSeek模型场景应用:基于腾讯云HAI搭建IDEA开发助手

前言 这段时间国产大模型DeepSeek十分火爆&#xff0c;DeepSeek模型凭借其强大的语言理解和生成能力&#xff0c;为开发场景带来了全新的可能性&#xff0c;DeepSeek模型场景应用也是十分广泛&#xff0c;而基于腾讯云HAI搭建IDEA开发助手&#xff0c;更是将这种潜力发挥到了极…...

HttpServletRequest 作用

HttpServletRequest 接口在 Java Servlet API 中扮演着至关重要的角色&#xff0c;它是 Servlet 处理客户端 HTTP 请求的核心对象。 每次客户端&#xff08;例如浏览器&#xff09;向服务器发送一个 HTTP 请求时&#xff0c;Servlet 容器&#xff08;例如 Tomcat&#xff09;都…...

Python----PyQt开发(PyQt高级:手搓一个简单的记事本)

一、效果展示 二、设计PyQt界面 2.1、设置图标 self.setWindowIcon(QIcon(./images/icon/1.png)) # 窗口图标 2.2、设置标题 self.file_name 无标题-新建文本文档 # 默认文件名 self.setWindowTitle(self.file_name) # 窗口标题 2.3、添加菜单栏、工具栏、状态栏 # 创…...

MySQL 索引失效案例:字符集不匹配的隐蔽影响

引言 在 MySQL 数据库世界里&#xff0c;索引失效往往是性能问题的罪魁祸首。你是否曾遇到过这样的情况&#xff1a;明明加了索引&#xff0c;查询却慢如蜗牛&#xff1f;你是否曾以为小表查询就一定高效&#xff1f;本文将揭示一个真实的案例&#xff0c;一个容易被忽视的“隐…...

MySQL中类似PostgreSQL中的string_agg函数--GROUP_CONCAT函数的使用

文章目录 结论&#xff1a;MySQL没有string_agg&#xff0c;但有GROUP_CONCATGROUP_CONCAT函数的基本用法示例注意事项 系统变量 group_concat_max_len 如何查看和设置查看当前的group_concat_max_len值设置group_concat_max_len值 相关源码相关链接 结论&#xff1a;MySQL没有…...

科普:数据血缘理论中:任务血缘、表血缘、字段血缘

在讨论数据血缘时通常我们提到的是数据库血缘、数据表血缘和数据字段血缘&#xff0c;而“任务血缘”这一术语更多是在特定技术场景&#xff08;如实时任务运维&#xff09;中使用。 数据血缘分类 表血缘 表血缘&#xff08;或数据表血缘&#xff09;是指数据在不同数据表之…...

凸性相关问题

内容大致上包括&#xff1a; 四边形不等式&#xff0c;决策单调性闵可夫斯基和优化 d p dp dpslope trick 优化 d p dp dp其他凸性相关问题 决策单调性 1.1 一些约定 对于 n m n\times m nm 的矩阵 A A A&#xff0c;定义&#xff1a; 子矩阵 A [ i 1 , . . . , i p …...

WPS计算机二级•文档的文本样式与编号

听说这是目录哦 标题级别❤️新建文本样式 快速套用格式&#x1fa77;设置标题样式 自定义设置多级编号&#x1f9e1;使用自动编号&#x1f49b;取消自动编号&#x1f49a;设置 页面边框&#x1f499;添加水印&#x1fa75;排版技巧怎么分栏&#x1f49c;添加空白下划线&#x…...

开源堡垒机 JumpServer 社区版实战教程:一步步构建企业安全运维环境

文章目录 开源堡垒机 JumpServer 社区版实战教程&#xff1a;一步步构建企业安全运维环境一、访问JumpServer1.1 登录1.2 功能模块1.3 系统设置1.3.1 基本设置1.3.2 邮件设置 二、用户管理2.1 场景2.2 创建用户2.3 用户登录密码重置 三、资产管理3.1 准备工作3.2 登录控制台3.3…...

二、数据类型、运算符

1. 数据的表示详解 1.1 算术运算符 整数在计算机中的存储原理先从最基本的算术运算符开始学习&#xff0c;算术运算符有 - * / % &#xff0c;其中*表示乘法&#xff0c;/表示除法&#xff0c;%表示取余数 需要我们注意以下几点 /: 两个整数相除&#xff0c;结果也是一个…...

结构形模式---桥接模式

概念 桥接模式是一种结构化模式&#xff0c;是将一个大类或者一系列的紧密相关的类拆分为抽象和现实两个独立部分的层次结构&#xff0c;通过引用独立层次对象的组合实现类。 桥接模式可以将庞杂类拆分为几个类层次结构。 此后&#xff0c; 你可以修改任意一个类层次结构而不…...

计算机网络知识速记:HTTP1.0和HTTP1.1

计算机网络知识速记&#xff1a;HTTP1.0和HTTP1.1 1. 基本概念 1.1 HTTP1.0 HTTP1.0是1996年发布的第一个正式版本&#xff0c;主要用于客户端与服务器之间的简单请求和响应交互。它的设计理念相对简单&#xff0c;适合处理一些基本的网页服务。 1.2 HTTP1.1 HTTP1.1是HTT…...

Windows下查看WIFI密码

目录 命令行查看历史WIFI netsh wlan show profiles 命令行查看某一特定WIFI密码 netsh wlan show profile name “WIFI名” keyclear 打开命令行https://blog.csdn.net/weixin_70822378/article/details/145598560?spm1001.2014.3001.5502 命令行查看历史WIFI nets…...

Android车机DIY开发之软件篇(十二) AOSP12下载编译

Android车机DIY开发之软件篇(十二) AOSP12下载编译 sudo apt-get update sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib gmultilib libc6-dev-i386 lib32ncurses5-dev libx11-dev lib32z-dev ccache libgl1-mesa-…...

Datawhale Ollama教程笔记2

本期学习易错点&#xff1a; 改文件后缀 改了models的存储地址后&#xff0c;把下载和新建的文件存储在什么地方 注册hugging face,找到token. 学习手册&#xff1a;https://datawhalechina.github.io/handy-ollama/#/ 第 3 章 自定义导入模型https://datawhalechina.gith…...

ClickHouse的前世今生

ClickHouse是一款由Yandex开发的高性能列式存储数据库管理系统,专为在线分析处理(OLAP)设计,适用于实时数据分析、大规模数据处理和复杂查询场景。以下是关于ClickHouse的安装、使用及应用场景的详细介绍: 一、ClickHouse的安装 ClickHouse支持多种操作系统,包括Linux、…...

SSH隧道+Nginx:绿色通道详解(SSH Tunnel+nginx: Green Channel Detailed Explanation)

SSH隧道Nginx&#xff1a;内网资源访问的绿色通道 问题背景 模拟生产环境&#xff0c;使用两层Nginx做反向代理&#xff0c;请求公网IP来访问内网服务器的网站。通过ssh隧道反向代理来实现&#xff0c;重点分析一下nginx反代的基础配置。 实验环境 1、启动内网服务器的tomca…...

html文件怎么转换成pdf文件,2025最新教程

将HTML文件转换成PDF文件&#xff0c;可以采取以下几种方法&#xff1a; 一、使用浏览器内置功能 打开HTML文件&#xff1a;在Chrome、Firefox、IE等浏览器中打开需要转换的HTML文件。打印对话框&#xff1a;按下CtrlP&#xff08;Windows&#xff09;或CommandP&#xff08;M…...

大促备战中稳定性建设策略与总结

文章目录 接口流量评估、上下游依赖梳理降级能力建设应急响应预案建设压力测试监控报警建设容灾演练 之前也专门写过日常稳定性建设的一些策略&#xff0c;传送门 -> 日常稳定性建设策略与总结&#xff0c;本文想专门聊聊大促期间做的一些稳定性保障&#xff0c;顺便记录自己…...

vscode/cursor+godot C#中使用socketIO

在 Visual Studio Code(VS Code)中安装 NuGet 包&#xff08;例如SocketIOClient&#xff09;&#xff0c;你可以通过以下几种方法&#xff1a; 方法 1&#xff1a;使用dotnet cli 打开终端&#xff1a;在 VS Code 中按下Ctrl 或者通过菜单View -> Terminal打开终端。 导…...

Uniapp 原生组件层级过高问题及解决方案

文章目录 一、引言&#x1f3c5;二、问题描述&#x1f4cc;三、问题原因❓四、解决方案&#x1f4af;4.1 使用 cover-view 和 cover-image4.2 使用 subNVue 子窗体4.3 动态隐藏原生组件4.4 使用 v-if 或 v-show 控制组件显示4.5 使用 position: fixed 布局 五、总结&#x1f38…...

jQuery介绍(快速、简洁JavaScript库,诞生于2006年,主要目标是简化HTML文档操作、事件处理、动画和Ajax交互)

文章目录 **核心功能 & 亮点**1. **简化 DOM 操作**2. **链式调用**3. **跨浏览器兼容**4. **便捷的事件绑定**5. **Ajax 封装**6. **动画效果** **现状与适用场景**- **传统项目维护**&#xff1a;许多旧系统&#xff08;如 WordPress 插件、老企业网站&#xff09;仍依赖…...