【小兔鲜】day01 项目、Vue3介绍、组合式API、小案例
【小兔鲜】day01 项目、Vue3介绍、组合式API、小案例
- 0. 市场上Vue前端工程师用到的技术
- 1. Vue3小兔鲜先导课
- 1.1 技术栈
- 1.2 项目规模
- 1.3 项目亮点
- 1.4 课程安排
- 2. 认识Vue3
- 2.1 Vue3组合式API体验
- 3. create-vue创建Vue3项目
- 3.1 新建项目结构
- 3.2 小节
- 3.3 补充说明`npm init vue@latest`
- 3.3.1 npm init
- 3.3.2 vue@latest
- 3.3.3 执行流程
- 3.3.4 与 vue-cli 的区别
- 3.3.5 使用 create-vue 指定 Vue 版本(Vue 3)
- 4. 组合式API - setup选项
0. 市场上Vue前端工程师用到的技术
Vue3 + TS + Element Plus + Vite + CSS3
Node的版本 16~18
Element Plus https://cn.element-plus.org/zh-CN/
1. Vue3小兔鲜先导课
1.1 技术栈
1.2 项目规模
1.3 项目亮点
1.4 课程安排
2. 认识Vue3
2.1 Vue3组合式API体验
通过一个Counter案例体验Vue3新引入的组合式API
首先是Vue2的书写方式
<template><button @click="addCount">{{ count }}</button>
</template><script>
// Vue2的代码规范
export default {data() {return {count: 0}},methods: {addCount() {this.count++}}}</script><style lang="less"></style>
Vue3的书写方式
<template><button @click="addCount">{{ count }}</button>
</template><script setup>
// vue3组合式api实现
import {ref} from 'vue'const count = ref(0)
const addCount = () => count.value++
</script><style lang="less"></style>
Vue3更多的优势
3. create-vue创建Vue3项目
create-vue
是Vue官方新的脚手架工具,底层切换到了vite
(下一代前端工具链),为开发提供极速响应。
(base) ➜ ~ nvm list
-> v12.22.12v14.21.3v18.20.3system
default -> 12 (-> v12.22.12)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.20.3) (default)
stable -> 18.20 (-> v18.20.3) (default)
lts/* -> lts/iron (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12
lts/fermium -> v14.21.3
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.20.3
lts/iron -> v20.14.0 (-> N/A)
(base) ➜ ~ nvm use v18.20.3Now using node v18.20.3 (npm v10.8.3)
(base) ➜ ~ node -v
v18.20.3
使用create-vue创建项目
- node的版本要求是16.0或者更高
npm init vue@latest
这个命令会安装并执行crate-vue
(base) ➜ ~ npm init vue@latest
Need to install the following packages:
create-vue@3.15.1
Ok to proceed? (y) y> npx
> create-vue┌ Vue.js - The Progressive JavaScript Framework
│
◇ 请输入项目名称:
│ vue-project
│
◇ 请选择要包含的功能: (↑/↓ 切换,空格选择,a 全选,回车确认)
│ none正在初始化项目 /Users/fanzhen/vue-project...
│
└ 项目初始化完成,可执行以下命令:cd vue-projectnpm installnpm run dev| 可选:使用以下命令在项目目录中初始化 Git:git init && git add -A && git commit -m "initial commit"npm notice
npm notice New major version of npm available! 10.8.3 -> 11.2.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.2.0
npm notice To update run: npm install -g npm@11.2.0
npm notice(base) ➜ vue-project npm run dev> vue-project@0.0.0 dev
> viteVITE v6.2.3 ready in 699 ms➜ Local: http://localhost:5173/➜ Network: use --host to expose➜ Vue DevTools: Open http://localhost:5173/__devtools__/ as a separate window➜ Vue DevTools: Press Option(⌥)+Shift(⇧)+D in App to toggle the Vue DevTools➜ press h + enter to show help
3.1 新建项目结构
package.json{"name": "vue-project","version": "0.0.0","private": true,"type": "module","scripts": {"dev": "vite","build": "vite build","preview": "vite preview"},"dependencies": {"vue": "^3.5.13"},"devDependencies": {"@vitejs/plugin-vue": "^5.2.1","vite": "^6.2.1","vite-plugin-vue-devtools": "^7.7.2"}
}
main.jsimport './assets/main.css'import { createApp } from 'vue'
import App from './App.vue'createApp(App).mount('#app')
app.vue
// setup就是一个开关,容许在script中写组合式API
<script setup>
import HelloWorld from './components/HelloWorld.vue'
import TheWelcome from './components/TheWelcome.vue'
</script><template><header><img alt="Vue logo" class="logo" src="./assets/logo.svg" width="125" height="125" /><div class="wrapper"><HelloWorld msg="You did it!" /></div></header><main><TheWelcome /></main>
</template><style scoped>
header {line-height: 1.5;
}.logo {display: block;margin: 0 auto 2rem;
}@media (min-width: 1024px) {header {display: flex;place-items: center;padding-right: calc(var(--section-gap) / 2);}.logo {margin: 0 2rem 0 0;}header .wrapper {display: flex;place-items: flex-start;flex-wrap: wrap;}
}
</style>
vite.config.jsimport { fileURLToPath, URL } from 'node:url'import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'// https://vite.dev/config/
export default defineConfig({plugins: [vue(),vueDevTools(),],resolve: {alias: {'@': fileURLToPath(new URL('./src', import.meta.url))},},
})
3.2 小节
3.3 补充说明npm init vue@latest
npm init vue@latest
是一个用于创建 Vue.js 项目的命令行指令,它使用 npm(Node Package Manager) 来初始化一个基于 Vue 3 的最新版本的项目。下面详细解释这个命令的各个部分:
3.3.1 npm init
- 作用:npm init 是 npm 的一个命令,用于初始化一个新的 Node.js 项目(生成 package.json 文件)。
- 通常用法:npm init 会交互式地询问项目信息(如名称、版本等),但结合 vue@latest 后,它会直接调用 Vue 的脚手架工具来创建项目。
3.3.2 vue@latest
- 含义:vue 是 Vue.js 的官方脚手架工具(create-vue),@latest 表示使用最新版本。
- 作用:这个包会提供一个交互式命令行界面(CLI),引导你配置 Vue 项目的基本选项(如是否支持 TypeScript、Pinia、Router 等)。
- 替代写法:你也可以用 npm create vue@latest(npm create 是 npm init 的别名)。
3.3.3 执行流程
- 检查环境:npm 会检查本地是否安装了 create-vue,如果没有,会自动下载最新版本。
- 启动向导:运行后,会进入交互式配置界面,询问:
- 项目名称(默认 vue-project)
- 是否支持 TypeScript?
- 是否启用 JSX?
- 是否安装 Vue Router(路由)?
- 是否安装 Pinia(状态管理)?
- 是否添加 Vitest 或 Cypress 测试工具?
- 是否启用 ESLint(代码规范检查)?
3. 生成项目:根据你的选择,生成项目结构并安装依赖。
3.3.4 与 vue-cli 的区别
- Vue 2 时代:旧版使用 vue-cli(全局安装 npm install -g @vue/cli,然后运行 vue create my-app)。
- Vue 3 推荐:现在官方推荐使用 create-vue(即 npm init vue@latest),它基于 Vite(更快、更轻量),而不是 Webpack。
3.3.5 使用 create-vue 指定 Vue 版本(Vue 3)
npm init vue@latest
默认使用最新的 Vue 3 版本,但你可以通过以下方式间接控制 Vue 的版本:
npm init vue@latest my-vue-appcd my-vue-appnpm install vue@3.2.47 # 安装指定版本的 Vue 3
4. 组合式API - setup选项
Day01 P05
相关文章:
【小兔鲜】day01 项目、Vue3介绍、组合式API、小案例
【小兔鲜】day01 项目、Vue3介绍、组合式API、小案例 0. 市场上Vue前端工程师用到的技术1. Vue3小兔鲜先导课1.1 技术栈1.2 项目规模1.3 项目亮点1.4 课程安排 2. 认识Vue32.1 Vue3组合式API体验 3. create-vue创建Vue3项目3.1 新建项目结构3.2 小节3.3 补充说明npm init vuela…...
【Pandas DataFrame】
以下是 Pandas DataFrame 的核心知识点总结,用结构化分类帮你高效记忆关键操作和概念: 1. 基础操作 创建DataFrame 方法代码示例说明从字典创建df pd.DataFrame({A: [1,2], B: [3,4]})字典键为列名,值为数据从列表创建df pd.DataFrame([[…...
华为OD机试2025A卷 - 生成回文素数(Java Python JS C++ C )
最新华为OD机试 真题目录:点击查看目录 华为OD面试真题精选:点击立即查看 题目描述 求出大于或等于 N 的最小回文素数。 如果一个数大于 1,且其因数只有 1 和它自身,那么这个数是素数。 例如,2,3,5,7,11 以及 13 是素数。 如果一个数从左往右读与从右往左读是一…...
Jenkins教程(自动化部署)
Jenkins教程(自动化部署) 1. Jenkins是什么? Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行&…...
C#里使用libxl的对齐/边框/颜色
一份好的EXCEL文件,通道会有不同的颜色和边框来表示。 以便表示一些重要的信息,这样才能让人们一眼就看到需要关注的信息。 如下面所示: 要显示上面的内容,需要使用下面的例子: private void button12_Click(object sender, EventArgs e){var book = new ExcelBook();if…...
虚拟pinctrl驱动
之前呢,我们讲解了在内核中pinctrl子系统是怎么实现的,今天我们来尝试一下自己去写一个pinctrl子系统: 首先呢,我们来看看一个pinctrl子系统需要做的事情: 上面的话,我们看了一个pinctrl子系统需要的三大功能以及在驱…...
pycharm虚拟环境项目转移后配置解释器
添加解析器提示:无效的 Python SDK 解决方法 在到电脑安装python解析器,复制:python.exe和pythonw.exe 项目虚拟环境venv/Scripts Python解释器添加 项目现有虚拟环境,就可以正常使用...
蓝桥杯嵌入式学习笔记
用博客来记录一下参加蓝桥杯嵌入式第十六届省赛的学习经历 工具环境准备cubemx配置外部高速时钟使能设置串口时钟配置项目配置 keil配置烧录方式注意代码规范头文件配置 模块ledcubemx配置keil代码实现点亮一只灯实现具体操作的灯,以及点亮还是熄灭 按键cubemx配置k…...
0201-jsx语法基础-jsx-仿低代码平台项目
文章目录 1.jsx标签2.jsx属性3.jsx 事件3.1 声明事件3.2 使用事件(对象) 4. typescript类型基础4.1 类型声明4.2 事件函数传递自定义参数 5.插入js变量6. 条件判断7. 循环结语 1.jsx标签 jsx标签与html标签区别: 首字母大小写 大写是自定义组…...
在MCU工程中优化CPU工作效率的几种方法
在嵌入式系统开发中,优化 CPU 工作效率对于提升系统性能、降低功耗、提高实时性至关重要。Keil 作为主流的嵌入式开发工具,提供了多种优化策略,包括 关键字使用、内存管理、字节对齐、算法优化 等。本文将从多个方面介绍如何在 Keil 工程中优…...
Elasticsearch 的搜索功能
Elasticsearch 的搜索功能 建议阅读顺序: Elasticsearch 入门Elasticsearch 搜索(本文)Elasticsearch 搜索高级Elasticsearch 高级 1. 介绍 使用 Elasticsearch 最终目的是为了实现搜索功能,现在先将文档添加到索引中,…...
【鸿蒙5.0】向用户申请麦克风授权
#效果图 步骤 在 config.json 里声明权限:在项目的 config.json 文件中添加麦克风权限的声明,告知系统应用需要使用该权限。检查权限状态:在代码里检查应用是否已经获得了麦克风权限。请求权限:若应用未获得麦克风权限࿰…...
数据结构与算法分析:树与哈希表(一)
遇到的问题,都有解决方案,希望我的博客能为你提供一点帮助。 一、概述 背景:链表处理大量数据时,线性访问耗时多。二叉查找树多数操作平均运行时间为 O (log N),相对于链表树更加高效。 1.预备知识 1.1. 树的定义与…...
VBA第三十四期 VBA中怎么用OnKey事件
我们在VBA设计中经常需要使用到OnKey方法,特别是在窗口设计中比如我们想用到翻页按键,则就可以来建立一个OnKey事件。Setup_OnKey过程运行以后,就会达到最终效果,按PgDn键会将指针下移一行,按PgUp键会将指针上移一行。…...
HarmonyOS NEXT开发进阶(十五):日志打印 hilog 与 console.log 的区别
文章目录 一、前言二、两者区别对比三、HiLog 详解四、拓展阅读 一、前言 在日常开发阶段,日志打印是调试程序非常常用的操作,在鸿蒙的官方文档中介绍了hilog这种方式,前端转过来的开发者发现console.log也可以进行日志打印,而且…...
Skynet 框架中 gateserver、gate、watchdog 的关系
一、概述 在 Skynet 框架的网络通信架构中,gateserver、gate、watchdog 是三个核心组件,共同实现客户端连接的监听、管理和业务逻辑的分发。其设计目标是通过分层解耦,提升网络层的稳定性与业务逻辑的灵活性。 二、组件职责 1. gateserve…...
第11章:优化I/O_《C++性能优化指南》_notes
第十一章核心知识点详解 11.1 读取文件的优化技巧 重点:减少内存分配、使用大缓冲区、优化函数调用链。 难点:理解系统调用开销与缓冲区大小的权衡。 代码示例与详解 示例1:使用高效函数签名和减少内存分配 #include <fstream> #inc…...
【C++初阶】--- 内存管理
1.C/C内存分布 我们一般说的32位机器和64位机器指的是虚拟空间的大小,也就是进程地址空间的大小,32位机器下,进程地址空间的大小是232个字节,也就是4G,64位机器下,进程地址空间的大小是264个字节,大概160亿…...
使用 Ansys Discovery 可视化液体池中的水流
了解 ANSYS Discovery:设计领域的变革者 ANSYS Discovery 是一款功能强大的软件工具,能够彻底改变设计流程。借助其先进的仿真功能,工程师现在可以在设计投入生产之前更深入地了解其设计。通过使用 ANSYS Discovery,设计师可以快…...
网络安全-网络安全基础
一、网络安全概述 TCP/IP协议定义了一个对等的开放性网络,使得连接到这个网络中的所有用户都可能面临来自网络中的恶意的破坏和攻击。这些攻击通过网络通信协议、网络应用协议甚至物理传输链路来实现。主要针对于软件和硬件进行攻击。那在互联网上如何保证自己的安…...
YOLOv8+ Deepsort+Pyqt5车速检测系统
该系统通过YOLOv8进行高效的目标检测与分割,结合DeepSORT算法完成目标的实时跟踪,并利用GPU加速技术提升处理速度。系统支持模块化设计,可导入其他权重文件以适应不同场景需求,同时提供自定义配置选项,如显示标签和保存…...
QML中的附加属性和附加信号处理程序
QML中的附加属性和附加信号处理程序 在QML中,附加属性(Attached Properties)和附加信号处理程序(Attached Signal Handlers)是特殊类型的属性和信号,它们由附加类型(Attached Types)提供,而不是由对象本身直接提供。 什么是附加的(Attached…...
爱普生FC-135晶振5G手机的极端温度性能守护者
在5G时代,智能手机不仅需要高速率与低延迟,更需在严寒、酷暑、振动等复杂环境中保持稳定运行。作为 5G 手机的核心时钟源,爱普生32.768kHz晶振FC-135凭借其宽温适应性、高精度稳定性与微型化设计,成为5G手机核心时钟源的理想选择&…...
GPT Workspace体验
GPT Workspace是一款将强大的自然语言处理模型(如 ChatGPT 和 Gemini)集成到 Google Workspace 应用(如 Google Docs, Sheets, Slides, Gmail 和 Drive)中的工具或插件。它的目标是提升用户在日常办公中的效率和创造力。 以下是对…...
Teleport 和 Set Actor location的区别
Teleport 和 Set Actor Location 都可以用于移动一个 Actor 的位置,但它们在底层逻辑和适用场景上有显著区别. 1. Set Actor Location 功能: 直接设置 Actor 的位置,不重置物理状态(如速度、动量)。 行为特点…...
“GPU 挤不动了?”——聊聊基于 GPU 的计算资源管理
“GPU 挤不动了?”——聊聊基于 GPU 的计算资源管理 作者:Echo_Wish “老板:为什么 GPU 服务器卡得跟 PPT 一样?” “运维:我们任务队列爆炸了,得优化资源管理!” 在 AI 训练、深度学习、科学计算的场景下,GPU 计算资源已经成为香饽饽。但 GPU 服务器贵得离谱,一台 A…...
解决前端项目中无法识别 .node 文件的依赖安装问题
解决前端项目中无法识别 .node 文件的依赖安装问题 问题描述 在 macOS 系统(M1 Pro 芯片),使用 Node.js 版本 20.9.0 和 Vue 3 的环境下,项目启动过程中遇到了以下错误: [ERROR] No loader is configured for "…...
Gateway实战入门(四)、断言-请求头以及请求权重分流等
spring cloud-Gateway:断言-请求头以及请求权重分流等 一、断言Header信息要求项目前置环境要求案例一、断言-请求头信息-匹配X-Request-Id1、配置文件及代码2、测试 案例二、断言-请求头信息-匹配API版本场景主要配置信息 案例三、断言-请求头信息:匹配…...
YOLOv11模型的常见处理
一.数据准备: 1.数据集格式: 目录结构示例: datasets/├── images/│ ├── train/ # 训练图片│ └── val/ # 验证图片└── labels/├── train/ # 训练标签└── val/ # 验证标签 每张图片对应一个 .txt 标注文件…...
conda 清除 tarballs 减少磁盘占用 、 conda rename 重命名环境、conda create -n qwen --clone 当前环境
🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ 文章目录 conda clean --tarballsconda rename 重命名环境conda create -n qwen --clone …...
无线局域网
1.5G支持中低频和高频频段, 2.网络切片是指从应该网络中选取特定的特性和功能 3.WLAN广义指无线电波,激光,红外线等无线信号代替有线局域网中的部分或者全部传输介质所构成的网络。 4.802.11运行在2.4GHz ISM 频段,采用扩频通信…...
百人会上的蔚小理与「来的刚刚好」的雷军
这就是2025百人会上的蔚小理,努力的李斌、宣扬飞行汽车的何小鹏与大讲开源的李想。那么小米汽车的模式是什么呢?站在蔚小理的肩上。 这就是2025百人会上的蔚小理,努力的李斌、宣扬飞行汽车的何小鹏与大讲开源的李想。那么小米汽车的模式是什么…...
现代优雅杂志海报徽标设计手写英文字体安装包 Attomes – Brush Handwritten Font
Attomes 简介 – Brush 手写字体 此字体是一种精致、优雅、流畅的手写字体。它有一个美丽而独特的连字混合字母,因此作者用一个小漩涡嵌入来撰写它,从而形成现代字体,并准备好通过为您的下一个设计项目添加优雅和独特的风格来发表声明。将其…...
Java进阶——静态代理与动态代理
代理模式是一种常用的设计模式,为其他对象提供一种代理以控制对这个对象的访问。代理模式就像是一个中间人,客户端通过代理来间接访问目标对象,可以在不修改目标对象的基础上,对目标对象的功能进行增强或扩展。代理模式主要分为静…...
【多线程】进阶
目录 一、CAS 什么是 CAS CAS 伪代码 CAS 有哪些应用 实现原子类 CAS 是怎么实现的 如何通过 CAS 实现的原子类 CAS 的 ABA 问题 什么是 ABA 问题 ABA 问题引来的 BUG 正常的过程 异常的过程 解决方案 📝相关面试题 二、JUC(java.util.concurrent)的…...
MFC中字符串string类型和CString类型互转方法
文章目录 一、CString 转 std::string1. Unicode项目(_UNICODE 已定义)2. 多字节项目(_MBCS 已定义) 二、std::string 转 CString1. Unicode项目(_UNICODE 已定义)2. 多字节项目(_MBCS 已定义&a…...
工作记录 2017-03-13
工作记录 2017-03-13 序号 工作 相关人员 1 修改邮件上的问题。 开始处理操作日志部分。 测试了C#和MySql的连接。 更新RD服务器。 郝 更新的问题 1、 修改了CMS1500的打印,NDC的内容用了小的字体。 2、在Cliams List中可以查看Job的Notes。 3、Payment Po…...
Linux 配置NFS服务器
1. 开放/nfs/shared目录,供所有用户查阅资料 服务端 (1)安装nfs服务,nfs-utils包中包含rpcbind(rpc守护进程) [rootnode1-server ~]# yum install -y nfs-utils # nfs-utils包中包含rpcbind [rootnode…...
Linux《进程概念(上)》
在之前的Linux学习当中我们已经了解了基本的Linux指令以及基础的开发工具的使用,那么接下来我们就要开始Linux当中一个非常重要的部分的学习——进程,在此进程是我们之后Linux学习的基础,并且通过进程的学习会让我们了解更多的操作系统的相关…...
游戏开发中的贝塞尔曲线:感受丝滑的数学之美
这是一篇vip文章,如果你还不是vip,可以移步https://www.ilikexff.cn/articles/165免费阅读。 介绍 贝塞尔曲线是计算机图形学中最重要的概念之一,以其在表示曲线时的灵活性和精确性而闻名。广泛应用于计算机图形学、动画、路径规划等领域的数学曲线。 贝塞尔曲线的数学原理基…...
Java【多线程】(6)定时器
目录 1.前言 2.正文 2.1库中定时器 2.2手搓定时器 3.小结 1.前言 哈喽大家好呀,今天继续给大家分享Java中定时器的学习,正文包括定时器的三种实现方式,正文如下。 2.正文 在 Java 中,定时器(Timer)…...
Epub转PDF软件Calibre电子书管理软件
Epub转PDF软件:Calibre电子书管理软件 一款好用的电子书管理软件,可快速导入电脑里的电子书并进行管理,支持多种格式,阅读起来非常方便。同时也有电子书格式转换功能。 第一步:添加电子书 将需要转换的电子书添加到…...
使用FastExcel时的单个和批量插入的问题
在我们用excel表进行插入导出的时候,通常使用easyexcel或者FastExcel,而fastexcel是easy的升级版本,今天我们就对使用FastExcel时往数据库插入数据的业务场景做出一个详细的剖析 场景1 现在我们数据库有一张组织表,组织表的字段…...
nginx https配置
一.https配置 HTTPS 协议是由HTTP 加上TLS/SSL 协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。 1.生成证书 openssl genrsa -des3 -out server.key 20…...
git --- cherry pick
git --- cherry pick cherry pick cherry pick Cherry Pick 是 Git 中的一个操作,它允许你选择某个分支的某次(或多次)提交,并将其应用到当前分支,而不会合并整个分支的所有更改。 cherry pick 的作用 只提取某个特定的…...
虚拟机安装linux系统无法上网的解决方法
在虚拟环境中运行Linux系统时,有时会遇到网络连接问题,特别是在使用虚拟机软件如VMware或VirtualBox时。本文将详细介绍一种针对“虚拟机安装Linux系统无法上网”问题的解决方案,以CentOS 6.5为例,适用于其他基于NAT模式的虚拟机环…...
北大人工智能研究院朱松纯:“中国的AI叙事” 存在认知偏差
3月29日,在2025中关村论坛通用人工智能论坛上,北京通用人工智能学院院长,北京大学人工智能研究院、智能学院院长朱松纯表示,目前,行业对AI的讨论几乎被大模型能力所占据,而基础学科、原始创新与智能本质的研…...
Java高频面试之集合-20
hello啊,各位观众姥爷们!!!本baby今天来报道了!哈哈哈哈哈嗝🐶 面试官:讲讲 HashSet 的底层实现? HashSet 是 Java 集合框架中用于存储唯一元素的高效数据结构,其底层实…...
使用Qemu模拟32位ARM系统
一、环境 实验环境如下: 主机:x86_64 操作系统:Ubuntu 20.04.6 LTS Qemu版本:QEMU emulator version 4.2.1 Linux内核版本:linux-4.4.240 Busybox版本:busybox-1.35.0二、前置准备 下载 linux-4.4.240 源…...
【初阶数据结构】栈
文章目录 一、概念与结构 二、栈的实现 栈的定义 1.初始化 2.入栈 3.判断栈是否为空 4.出栈 5.取栈顶元素 6.获取栈中有效元素个数 2.销毁 三、完整码源 总结 一、概念与结构 栈: 一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据…...