云技术基础知识(二):虚拟化与容器技术
内容预览 ≧∀≦ゞ
- 虚拟化与容器技术
- 虚拟化技术
- 一、虚拟化的核心概念
- 二、虚拟化的主要类型
- 1. 服务器虚拟化
- 2. 操作系统虚拟化(容器化)
- 3. 网络虚拟化
- 4. 存储虚拟化
- 三、虚拟化的实现方法和工具
- 1. 服务器虚拟化实现
- 2. 操作系统虚拟化(容器化)
- 3. 网络虚拟化实现
- 4. 存储虚拟化实现
- 四、虚拟化的典型应用场景
- 1. 数据中心与云计算
- 2. 企业IT环境
- 3. 开发与测试环境
- 五、总结
- 容器化技术
- 一、容器化的核心概念
- 二、容器化技术的代表工具与框架
- 1. Docker
- 2. Kubernetes
- 3. Containerd
- 4. Podman
- 5. rkt(Rocket)
- 6. OpenShift
- 7. Docker Compose
- 三、容器化的优势与技术特性
- 四、容器化的典型应用场景
- 五、总结
- 容器化和虚拟化的区别
- 容器化和虚拟化对云的作用
虚拟化与容器技术
虚拟化和容器化是构建现代云架构的两大关键技术,它们为资源的高效管理和应用的灵活部署提供了技术支持。
虚拟化技术
虚拟化技术是一种通过将物理计算资源(如处理器、内存、存储和网络)抽象为虚拟资源的技术。其主要目标是提高资源利用率、降低硬件成本,并为应用程序提供灵活且可扩展的运行环境。
一、虚拟化的核心概念
虚拟化通过在物理硬件和操作系统之间增加一个虚拟化层(Hypervisor或容器技术),将计算资源划分为多个虚拟实例,使得多任务运行更加高效和安全。主要优点包括:
- 资源隔离:各虚拟实例独立运行,互不干扰。
- 资源利用率提高:实现物理资源共享,减少闲置。
- 灵活性:支持资源动态调整以满足变化的需求。
- 快速部署:复制和部署虚拟实例的速度显著加快。
二、虚拟化的主要类型
根据功能和应用场景,虚拟化技术分为以下几种类型:
1. 服务器虚拟化
- 定义:在一台物理服务器上运行多个虚拟机(VM),每个VM拥有独立的操作系统实例。
- 特点:提高服务器利用率,支持多种工作负载,增强隔离性。
- 示例应用:在同一台服务器上同时运行Linux和Windows。
2. 操作系统虚拟化(容器化)
- 定义:多个隔离的用户空间实例(容器)共享同一个操作系统内核。
- 特点:启动速度快,占用资源少,便于应用分发和管理。
- 示例应用:使用Docker容器运行微服务架构。
3. 网络虚拟化
- 定义:将物理网络设备(交换机、路由器等)虚拟化为软件定义的网络资源。
- 特点:支持虚拟网络的灵活配置和集中管理。
- 示例应用:通过VLAN划分虚拟网络区域。
4. 存储虚拟化
- 定义:将多个物理存储设备抽象为一个虚拟存储池,提供集中式存储管理。
- 特点:简化存储资源的分配与备份过程。
- 示例应用:使用逻辑卷管理器(LVM)创建动态分区。
三、虚拟化的实现方法和工具
1. 服务器虚拟化实现
- 完全虚拟化
使用Hypervisor(如VMware vSphere/ESXi、Microsoft Hyper-V)模拟硬件,支持运行未修改的操作系统。 - 半虚拟化
通过修改操作系统内核与虚拟化层直接交互,提高性能(如Xen)。
2. 操作系统虚拟化(容器化)
- 技术基础:依赖Linux内核中的命名空间和cgroup实现隔离与资源控制。
- 常用工具:Docker、Kubernetes。
3. 网络虚拟化实现
- VLAN(虚拟局域网):在物理网络中划分逻辑隔离的网络段。
- 虚拟交换机:如VMware vSwitch,连接虚拟机与虚拟网络。
- SDN(软件定义网络):通过集中式控制器管理流量。
4. 存储虚拟化实现
- 逻辑卷管理器(LVM):实现动态存储分区管理。
- SAN(存储区域网络):提供高速存储连接。
- NAS(网络附加存储):通过网络共享存储资源。
四、虚拟化的典型应用场景
1. 数据中心与云计算
- 支持大规模虚拟机和容器部署,实现弹性扩展与高效资源利用。
2. 企业IT环境
- 降低硬件成本,提高应用部署速度与灾难恢复能力。
3. 开发与测试环境
- 快速创建隔离的测试环境,提高开发效率。
五、总结
虚拟化技术通过将物理资源抽象化,提升了资源的利用效率和管理灵活性,已经成为现代数据中心和云计算不可或缺的核心技术。根据具体需求,可以选择适合的虚拟化方法(如完全虚拟化或容器化)及工具(如Docker或Hypervisor),以充分发挥虚拟化的优势。
容器化技术
容器化技术是一种将应用程序及其所有依赖项打包在一个独立、轻量级运行环境中的方法。这个运行环境被称为容器。容器化的核心目标是实现应用程序在不同环境中的一致性运行,从而解决传统部署方式中常见的依赖问题、版本冲突以及环境不一致等挑战。
一、容器化的核心概念
容器化是一种将应用程序及其所有依赖项打包到一个独立的运行环境中的技术。这个独立的运行环境被称为容器。容器化的主要目的是实现应用程序在不同的环境中一致性地运行,解决了"在我的机器上能运行"和"在生产环境中能运行"之间的差异问题。
传统上,应用程序在部署时可能会依赖特定的操作系统、库、配置和环境设置。这导致了在不同环境中部署和运行应用程序时可能会遇到依赖问题、版本冲突和配置不一致等挑战。容器化通过将应用程序及其所有依赖项打包到一个独立的容器中,将应用程序与底层操作系统和基础设施进行隔离,从而解决了这些问题。
容器化的核心是容器技术,容器是一种轻量级、独立的执行单元。容器包含了应用程序及其依赖项,如代码、运行时环境、系统工具、库和配置。容器将这些组件封装在一个统一的格式中,使得应用程序可以在任何支持容器技术的环境中运行,无需担心环境差异和依赖问题。
二、容器化技术的代表工具与框架
容器化技术的实现依赖一系列工具和平台,这些工具各具特色,可以满足不同的需求和场景:
1. Docker
- 特点:作为容器化技术的事实标准,Docker提供了一个完整的平台,支持容器的创建、管理、部署和运行。
- 技术基础:依赖Linux内核功能(命名空间、控制组等)实现容器的隔离与资源管理。
- 生态优势:拥有丰富的镜像库和广泛的社区支持。
2. Kubernetes
- 特点:一个强大的容器编排工具,管理容器的部署、扩展和运维。
- 功能亮点:提供自动化调度、自我修复、负载均衡和扩展能力。
- 应用场景:适用于复杂的分布式应用环境。
3. Containerd
- 特点:轻量级、专注于容器运行时的核心组件,作为Docker Engine的重要组成部分。
- 功能:支持容器的创建、启动、暂停、销毁等操作。
4. Podman
- 特点:不依赖Docker守护进程,直接在用户空间中运行容器,更加安全。
- 优势:兼容Docker CLI,可替代Docker使用。
5. rkt(Rocket)
- 特点:CoreOS推出的容器引擎,注重安全性和多格式支持。
- 兼容性:支持与Kubernetes等编排工具集成。
6. OpenShift
- 特点:基于Kubernetes的企业级容器化平台,由Red Hat开发。
- 优势:提供完整的开发、测试、部署和监控工具集。
7. Docker Compose
- 特点:通过YAML文件定义多容器应用的配置,支持一键启动和停止多服务应用。
- 适用场景:开发环境和简单的多容器应用管理。
三、容器化的优势与技术特性
-
轻量化
容器共享主机的操作系统内核,相比虚拟机不需要完整的操作系统,大幅减少资源消耗。 -
快速启动
容器启动速度通常在秒级,支持高效的应用部署和扩展。 -
可移植性
容器可以在本地开发、测试环境或云计算平台中无缝运行,提升应用的跨环境一致性。 -
隔离性
容器之间互不干扰,同时与主机系统隔离,提高了安全性和稳定性。 -
弹性扩展
容器支持动态调整资源分配,便于在高并发场景下扩展或缩减服务。
四、容器化的典型应用场景
-
开发与测试环境
容器化使开发者能够快速搭建一致的测试环境,降低环境配置的时间成本。 -
微服务架构
容器化非常适合微服务的独立部署,支持各模块的独立扩展和更新。 -
持续集成与交付(CI/CD)
容器通过标准化的运行环境,使得代码从开发到生产的交付流程更加顺畅。 -
跨平台部署
无论是本地数据中心还是云平台,容器的移植性确保了应用可以在多种基础设施上运行。 -
多租户环境
容器化在资源隔离和分配上表现优异,非常适合多租户的云服务场景。
五、总结
容器化技术已经成为现代应用开发和部署的核心。无论是轻量化的Docker,还是强大的容器编排工具Kubernetes,它们都为开发者和运维人员提供了高度灵活、高效且可移植的解决方案。通过选择合适的容器工具和技术,企业可以快速应对不同的业务需求,构建敏捷可靠的系统架构。
容器化和虚拟化的区别
容器化和虚拟化是两种不同的技术,它们在实现应用程序的隔离和运行环境方面有一些关键的区别:
- 隔离级别:
- 虚拟化:虚拟化技术通过在物理服务器上运行多个虚拟机,每个虚拟机都运行一个完整的操作系统实例。每个虚拟机都拥有独立的用户空间和内核空间,因此虚拟机之间实现了较高的隔离级别。
- 容器化:容器化技术在单个操作系统内核上运行多个隔离的用户空间实例(容器)。容器共享宿主操作系统的内核,因此容器之间比虚拟机更加轻量和快速启动。容器之间的隔离级别相对较低,但通常足够满足大多数应用程序的需求。
- 资源消耗:
- 虚拟化:由于每个虚拟机都运行一个完整的操作系统,虚拟化需要更多的资源,包括内存和硬盘空间。虚拟化启动时间也较长。
- 容器化:容器共享宿主操作系统的内核,因此容器在资源消耗方面更加高效,占用更少的内存和硬盘空间。容器启动时间较快,通常只需几秒钟。
- 运行环境:
- 虚拟化:虚拟化可以在不同的操作系统上运行虚拟机,例如在一台Windows服务器上同时运行Linux和Windows虚拟机。
- 容器化:容器化通常用于在Linux操作系统上运行容器,因为容器共享宿主操作系统内核。
- 适用场景:
- 虚拟化:虚拟化更适用于运行不同操作系统或需要更高隔离级别的应用程序,尤其是运行传统应用程序和大型应用程序的场景。
- 容器化:容器化更适用于部署和管理大量相似的应用程序,特别是在云计算环境中部署微服务架构和容器编排工具的场景。
总体而言,虚拟化技术更适合传统应用程序和需要较高隔离级别的场景,而容器化技术更适合现代云原生应用程序和大规模部署的场景。容器化技术的快速启动、高效资源利用和灵活性使得它在现代应用开发和部署中越来越受欢迎。虚拟化和容器化技术通常可以结合使用,根据具体需求选择合适的方案。
容器化和虚拟化对云的作用
容器化和虚拟化对云计算的作用非常重要,它们为云计算提供了关键的支持和优势。以下是容器化和虚拟化对云的作用:
- 资源利用率:虚拟化和容器化技术允许在一台物理服务器上运行多个虚拟机或容器,将物理资源划分为多个虚拟化实例。这样可以提高硬件资源的利用率,节约硬件成本,并减少数据中心的能源消耗。
- 弹性扩展:云计算环境需要根据需求进行弹性扩展和缩减,虚拟化和容器化技术使得资源可以根据需求动态分配和调整。在需求高峰期,可以快速创建更多的虚拟机或容器实例以应对流量增加,而在需求低谷期,则可以缩减资源以节约成本。
- 快速部署:虚拟化和容器化技术可以快速创建、启动和停止虚拟机或容器实例,从而加快应用程序的部署和交付速度。这有助于开发人员更快地将应用程序推向市场,同时提供更灵活的测试和开发环境。
- 隔离性:虚拟化和容器化技术提供了隔离的运行环境,每个虚拟机或容器都运行在独立的隔离环境中,不会相互干扰。这确保了应用程序的安全性和稳定性,防止故障和恶意代码的传播。
- 多租户支持:云计算通常服务于多个用户和客户,虚拟化和容器化技术使得可以在同一物理基础设施上实现多租户的隔离,确保不同用户的应用程序和数据相互隔离,不会发生冲突。
- 容器编排:容器编排平台(如Kubernetes)利用容器化技术,帮助用户在集群中管理和编排大规模的容器化应用程序。容器编排实现了自动化部署、自我修复、负载均衡等功能,提高了应用程序的可靠性和可伸缩性。
综上所述,虚拟化和容器化技术为云计算提供了灵活性、高效性和可靠性。它们是云计算基础设施的重要组成部分,使得云计算可以更好地满足不同用户的需求,并支持各种类型的应用程序的部署和运行。
相关文章:
云技术基础知识(二):虚拟化与容器技术
内容预览 ≧∀≦ゞ 虚拟化与容器技术虚拟化技术一、虚拟化的核心概念二、虚拟化的主要类型1. 服务器虚拟化2. 操作系统虚拟化(容器化)3. 网络虚拟化4. 存储虚拟化 三、虚拟化的实现方法和工具1. 服务器虚拟化实现2. 操作系统虚拟化(容器化&am…...
【Java基础面试题033】Java泛型的作用是什么?
Java的基础语法可以看尚硅谷的这个PDF:尚硅谷JavaSE基础/《Java从入门到精通(JDK17版)》_尚硅谷电子书.pdf Autism_Btkrsr/Blog_md_to_pdf - 码云 - 开源中国 (gitee.com) 回答重点 Java泛型的作用是通过在编译时检查类型安全,允许程序员编写更通用和…...
Linux 基本使用和程序部署
1. Linux 环境搭建 1.1 环境搭建方式 主要有 4 种: 直接安装在物理机上。但是Linux桌面使用起来非常不友好,所以不建议。[不推荐]。使用虚拟机软件,将Linux搭建在虚拟机上。但是由于当前的虚拟机软件(如VMWare之类的)存在一些bugÿ…...
react中使用ResizeObserver来观察元素的size变化
在 React 中使用 ResizeObserver 来观察元素的大小变化,可以通过创建一个自定义 Hook 来封装 ResizeObserver 的逻辑,并在组件中使用这个 Hook。以下是一个完整的示例,展示了如何在 React 中使用 ResizeObserver 来观察元素的大小变化。 自定…...
常见数据结构
1.数组 vector 2.链表 list 双向链表,不能通过下标找元素 3.栈 stack 4.队列 queue 优先队列priority_queue. 默认队头为最大值,可以用来任务调度,图算法,霍夫曼树 5.双端队列 deque 6.集合 set multiset s.begin() //返回…...
【服务器】linux服务器管理员查看用户使用内存情况
【服务器】linux服务器管理员查看用户使用硬盘内存情况 1、查看所有硬盘内存使用情况 df -h2、查看硬盘挂载目录下所有用户内存使用情况 du -sh /public/*3、查看某个用户所有文件夹占用硬盘内存情况 du -sh /public/zhangsan/*...
Java-冒泡排序、选择排序、二分查找算法
1. 冒泡排序 (1) 冒泡排序:每次从数组中找出最大值放在数值的后面去 public static void main(String[] args) {//冒泡排序int[] arr {5, 6 ,4, 9, 3, 1};for (int i 0; i < arr.length - 1; i) {for (int j 0; j < arr.length - i - 1; j) {if (arr[j] &…...
leetcode之hot100---240搜索二维矩阵II(C++)
思路一:通过遍历主对角线上元素判断查找方向 主对角线遍历: 遍历主对角线上的每个元素(matrix[i][i]),其中 i 的范围是 [0, min(m, n) - 1]。如果目标值小于当前主对角线元素,说明目标值可能在当前元素的左…...
牛客--求小球落地5次后所经历的路程和第5次反弹的高度,称砝码
求小球落地5次后所经历的路程和第5次反弹的高度 描述 假设有一个小球从 hh 米高度自由落下,我们不考虑真实的物理模型,而是简洁的假定,该小球每次落地后会反弹回原高度的一半;再落下,再反弹;……。 求小球…...
EasyPoi 使用$fe:模板语法生成Word动态行
1 Maven 依赖 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-spring-boot-starter</artifactId><version>4.0.0</version> </dependency> 2 application.yml spring:main:allow-bean-definition-over…...
在 PowerShell 中优雅地显示 Python 虚拟环境
在使用 Python 进行开发时,虚拟环境管理是一个非常重要的部分。无论是使用 venv 还是 conda,我们都希望能够清晰地看到当前所处的虚拟环境。本文将介绍如何在 PowerShell 中配置提示符,使其能够优雅地显示不同类型的 Python 虚拟环境。 问题…...
GUI07-学工具栏,懂MVC
MVC模式,是天底下编写GUI程序最为经典、实效的一种软件架构模式。当一个人学完菜单栏、开始学习工具栏时,就是他的一生中,最适合开始认识 MVC 模式的好时机之一。这节将安排您学习: Model-View-Controller 模式如何创建工具栏以及…...
免费线上签字小程序,开启便捷电子签名
虽如今数字化飞速发展的时代,但线上签名小程序的开发制作却并非易事。需要攻克诸多技术难题,例如确保签名的真实性与唯一性,防止签名被伪造或篡改。 要精准地捕捉用户手写签名的笔迹特征,无论是笔画的粗细、轻重,还是…...
计算机的错误计算(一百八十九)
摘要 用大模型计算 tan(12.345) . 自变量取弧度。结果保留10位有效数字。不同于前面两节的大模型,本节调用了新的两个大模型。然而,很遗憾,它们给出的答案似乎仍然是“匹配”出来的,不是计算出来的。当然,均是错误的。…...
HDR视频技术之十一:HEVCH.265 的 HDR 编码方案
前文我们对 HEVC 的 HDR 编码优化技术做了介绍,侧重编码性能的提升。 本章主要阐述 HEVC 中 HDR/WCG 相关的整体编码方案, 包括不同应用场景下的 HEVC 扩展编码技术。 1 背景 HDR 信号一般意味着使用更多比特,一般的 HDR 信号倾向于使用 10…...
使用 AI 辅助开发一个开源 IP 信息查询工具:一
本文将分享如何借助当下流行的 AI 工具,一步步完成一个开源项目的开发。 写在前面 在写代码时,总是会遇到一些有趣的机缘巧合。前几天,我在翻看自己之前的开源项目时,又看到了 DDNS 相关的讨论。虽然在 2021 年我写过两篇相对详细的教程&am…...
『 Linux 』高级IO (一)
文章目录 内容回顾及铺垫五种IO模型不同类型IO的区别非阻塞IOfcntl( ) 多路转接 - select( )select( ) 的基本使用 - SelectServer服务器 内容回顾及铺垫 在博客『 Linux 』基础IO/文件IO (万字)中介绍了对IO的认识; IO实际上为Input/Output,输入输出; 以网络协议栈的视角来看,…...
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
导读:Cisco WebEx 早期数据平台采用了多系统架构(包括 Trino、Pinot、Iceberg 、 Kyuubi 等),面临架构复杂、数据冗余存储、运维困难、资源利用率低、数据时效性差等问题。因此,引入 Apache Doris 替换了 Trino、Pinot…...
Java - 日志体系_Apache Commons Logging(JCL)日志接口库
文章目录 官网1. 什么是JCL?2. JCL的主要特点3. JCL的核心组件4. JCL的实现机制5. SimpleLog 简介6. CodeExample 1 : 默认日志实现 (JCL 1.3.2版本)Example 2 : JCL (1.2版本) Log4J 【安全风险高,请勿使用】 7. 使用…...
Linux驱动开发 IIC I2C驱动 编写APP访问EEPROM AT24C02
在嵌入式开发中,I2C(Inter-Integrated Circuit)是一种常用的串行通信协议,广泛应用于与外设(如 EEPROM、传感器、显示屏等)进行数据交换。AT24C02 是一种常见的 I2C EEPROM 存储器,它提供 2Kbit…...
盒子模型(外边距的设置)
用于页面中元素的合理布局所有的元素都可以有宽高所有元素都是一个矩形所有元素都可以看成一个盒子盒子包括 外边距边框内边距元素内容 外边距设置 外边距的要素:top、bottom、left、right外边距的尺寸:合法的尺寸单位外边距语法:marign-方…...
买卖股票的最佳时机 IV - 困难
************* C topic:188. 买卖股票的最佳时机 IV - 力扣(LeetCode) ************* Stock angin: Still stocks. Intuitively, it feels hard. For once: class Solution { public:int maxProfit(vector<int>& prices) {in…...
ElasticSearch - 深入解析 Elasticsearch Composite Aggregation 的分页与去重机制
文章目录 Pre概述什么是 composite aggregation?基本结构after 参数的作用问题背景:传统分页的重复问题after 的设计理念响应示例 after 如何确保数据不重复核心机制Example步骤 1: 创建测试数据创建索引插入测试数据 步骤 2: 查询第一页结果查询第一页返…...
HTML5 Web IndexedDB 数据库
IndexedDB 是一种基于浏览器的 NoSQL 数据库,用于在客户端持久化存储大量结构化数据。 IndexedDB 允许通过键值对存储复杂的数据对象(如对象、数组、文件等),并支持事务、索引、版本控制和复杂查询操作。 IndexedDB 是异步的&am…...
苏黎世联邦理工学院与加州大学伯克利分校推出MaxInfoRL:平衡内在与外在探索的全新强化学习框架
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
读书笔记~管理修炼-缄默效应
缄默效应:学会正确批评下属 员工明明犯了错误,却不及时告知你,总是拖到最后一刻无法弥补时才不得不承认出了问题——你遇到过这样的问题吗? 这其实是缄默效应在发挥作用。 在职场中,即使再扁平化的环境&…...
LabVIEW声音信号处理系统
开发了一种基于LabVIEW的声音信号处理系统,通过集成的信号采集与分析一体化解决方案,提升电子信息领域教学与研究的质量。系统利用LabVIEW图形化编程环境和硬件如USB数据采集卡及声音传感器,实现了从声音信号的采集到频谱分析的全过程。 项目…...
2024.12.10——攻防世界Web_php_include
知识点:代码审计 文件包含 伪协议 伪协议知识点补充: 在PHP中,伪协议(Pseudo Protocols)也被称为流包装器,这些伪协议以 php://开头,后面跟着一些参数,用于指定要执行的操作或需要…...
Linux shell脚本用于常见图片png、jpg、jpeg、webp、tiff格式批量转PDF文件
Linux Debian12基于ImageMagick图像处理工具编写shell脚本用于常见图片png、jpg、jpeg、webp、tiff格式批量转PDF文件,”多个图片分开生成多个PDF文件“或者“多个图片合并生成一个PDF文件” 在Linux系统中,使用ImageMagick可以图片格式转换,…...
有没有检测吸烟的软件 ai视频检测分析厂区抽烟报警#Python
在现代厂区管理中,安全与规范是重中之重,而吸烟行为的管控则是其中关键一环。传统的禁烟管理方式往往依赖人工巡逻,效率低且存在监管死角,难以满足当下复杂多变的厂区环境需求。此时,AI视频检测技术应运而生࿰…...
LeetCode 每日一题 2024/12/16-2024/12/22
记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 12/16 1847. 最近的房间12/17 3291. 形成目标字符串需要的最少字符串数 I12/18 3292. 形成目标字符串需要的最少字符串数 II12/19 3285. 找到稳定山的下标12/20 3138. 同位…...
gitlab代码推送
点击这个√ 修改的文件全部选上 填好提交的名称 点击commit 选取提交的 gitlab 库 点击Push...
小红书飞书素材库 | AI改写 | 无水印下载 | 多维表格 | 采集同步 | 影刀RPA
小红书飞书素材库 | AI改写 | 无水印下载 | 多维表格 | 采集同步 | 影刀RPA 模板准备 进入【小红书】素材采集库_荷逸模板,点击使用模板 创建文档应用 在开发者后台 - 飞书开放平台创建 企业自建应用 (需要账号有相应的权限, 如果没有权限向管理员申请) 获取 Ap…...
【计算机视觉基础CV-图像分类】02-入门详解图像分类、经典数据集、比赛与冠军图像模型演进史
前言 图像分类(Image Classification)是计算机视觉(Computer Vision)中一项基础且核心的任务。简单来说,就是让计算机从给定的类别集合中,为一张输入图片分配一个正确的类别标签。这个过程听起来直观&…...
【机器学习】探索机器学习与人工智能:驱动未来创新的关键技术
探索机器学习与人工智能:驱动未来创新的关键技术 前言:人工智能的核心技术深度学习:自然语言处理(NLP):计算机视觉: 机器学习与人工智能的驱动创新医疗健康领域金融行业智能制造与工业互联网智慧…...
DS二叉树--基于数组存储的构建
题目描述 任意二叉树可以根据完全二叉树性质保存在一个数组中。已知二叉树的数组存储,用程序构建该二叉树。 提示:用递归方法或非递归都可以 输入 第一行输入一个整数t,表示有t个测试数据 第二行起输入二叉树的数组存储结果,空…...
入侵他人电脑,实现远程控制(待补充)
待补充 在获取他人无线网网络密码后,进一步的操作是实现入侵他人电脑,这一步需要获取对方的IP地址并需要制作自己的代码工具自动化的开启或者打开对方的远程访问权限。 1、获取IP地址(通过伪造的网页、伪造的Windows窗口、hook,信…...
STM32基于标准库如何查看时钟主频,100%简单
基于原有的工程写入两行代码,见下图 RCC_ClocksTypeDef get_rcc_clock; RCC_GetClocksFreq(&get_rcc_clock); 进入我们的仿真加入断点,然后在watch1观察变量值数据,然后在计算器计算就能得出,如上图。 但是这样看的PAB1上…...
HarmonyOS NEXT 技术实践-基于意图框架服务实现智能分发
在智能设备的交互中,如何准确理解并及时响应用户需求,成为提升用户体验的关键。HarmonyOS Next 的意图框架服务(Intents Kit)为这一目标提供了强大的技术支持。本文将通过一个项目实现的示例,展示如何使用意图框架服务…...
[原创](Modern C++)现代C++的第三方库的导入方式: 例如Visual Studio 2022导入GSL 4.1.0
[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共23年] 职业生涯: 21年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi、XCode、Eclipse…...
【jenkins插件】
1) 2) 3) 4) 5) 6) 参考: 知识库/运维/Jenkins/01-安装/13-插件.md zfoo/java-developer-document - 码云 - 开源中国...
springboot472基于web网上村委会业务办理系统(论文+源码)_kaic
摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本网上村委会业务办理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数…...
七层网络笔记
首先,用户感知到的只是最上面一层应用层,自上而下每层都依赖于下一层,所以我们从最下一层开始切入,比较好理解 每层都运行特定的协议,越往上越靠近用户,越往下越靠近硬件 物理层由来:上面提到&a…...
PostgreSQL编译安装教程
下载安装 1.在家目录创建一个文件夹放下载安装包 mkdir softwarecd software 2.下载文件压缩包 wget https://ftp.postgresql.org/pub/source/v16.0/postgresql-16.0.tar.gz 3.解压 tar -xzvf postgresql-16.0.tar.gz 4.编译 在software/postgresql-16.0下 cd software…...
音视频学习(二十四):hls协议
基本原理 HLS协议通过将视频文件切分成多个小的媒体段(通常是10秒左右的.ts文件),并通过HTTP传输给客户端。视频播放过程中,客户端按顺序请求这些小段文件来逐步播放整个视频流。HLS还支持多种码率,以便适应不同网络条…...
pytorch MoE(专家混合网络)的简单实现。
专家混合(Mixture of Experts, MoE)是一种深度学习模型架构,通常用于处理大规模数据和复杂任务。它通过将输入分配给多个专家网络(即子模型),然后根据门控网络(gating network)的输出…...
代码随想录day24 | leetcode 93.复原IP地址 90.子集 90.子集II
93.复原IP地址 Java class Solution {List<String> result new ArrayList<String>();StringBuilder stringBuilder new StringBuilder();public List<String> restoreIpAddresses(String s) {backtracking(s, 0, 0);return result;}// number表示stringb…...
Scala项目(图书管理系统)
3、service BookService package org.app package serviceimport org.app.dao.{BookDAO, BorrowRecordDAO} import org.app.models.{BookModel, BorrowRecordModel}import java.time.LocalDateTime import scala.collection.mutable.ListBuffer// 图书业务逻辑层 class BookS…...
Deepin/Linux clash TUN模式不起作用,因网关导致的问题的解决方案。
网关导致的问题的解决方案 查看路由 ip route寻找默认路由 默认路由应当为Mihomo default dev Mihomo scope link 如果不是,则 sudo ip route add default dev Mihomo在clash TUN开关状态发生变化时,Mihomo网卡会消失,所以提示找不到网卡…...
【macos java反编译工具Java Decompiler】
mac上能用的反编译工具 https://java-decompiler.github.io/...