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

Linux虚拟化————KVM

1、安装kvm虚拟化套件

[root@bogon ~]# yum -y install virt*

2、启动服务

[root@bogon ~]# systemctl start libvirtd
[root@bogon ~]# systemctl status libvirtd
● libvirtd.service - Virtualization daemonLoaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; preset: disabled)Active: active (running) since Fri 2024-03-15 18:27:06 CST; 1s ago
......

libvirtd:可以管理虚拟化

3、命令行删除默认的Linux bridge

查看虚拟网桥,这个网桥是在安装虚拟化软件之后会自动创建出来的

[root@bogon ~]# ip a show virbr0 
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:2d:af:d0 brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever

安装管理libvirt-client,可以使用这个来管理提供的网桥

[root@bogon ~]# yum -y install libvirt-client
[root@bogon ~]# virsh net-list --allName      State    Autostart   Persistent
--------------------------------------------default   active   yes         yess

清理网桥

[root@bogon ~]# virsh net-undefine default 
Network default has been undefined[root@bogon ~]# virsh net-list --allName      State    Autostart   Persistent
--------------------------------------------default   active   no          no

4、通过nmcli创建Linux bridge

[root@bogon ~]# nmcli connection add con-name vm-bridge ifname vm-bridge type bridge ipv4.method disabled ipv6.method ignore 

5、关闭selinux和防火墙

[root@bogon ~]# sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 
[root@bogon ~]# setenforce 0
[root@bogon ~]# systemctl disable firewalld.service --now

6、使用cloud镜像

KVM虚拟化创建的虚拟机,虚拟磁盘的后缀名叫做qcow2,当你通过图形创建了一个虚拟机之后,将会生成一个qcow2的虚拟机磁盘文件,里面就有你安装的操作系统,但是作为一个运维人员不可能每次都装系统,一般多多少少都会偷点懒,所以就出现了一个叫做模板化部署虚拟机的方法

无论是ubuntu还是centos还是fedora还是debian这类主流的linux发行版本,官方都会给你qcow2的模板

AlmaLinux:Generic Cloud (Cloud-init) | AlmaLinux Wiki

centos-steam:CentOS Cloud images

rocky:Cloud Images | Rocky Linux

7、下载cloud镜像

[root@bogon ~]# wget https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2

8、创建虚拟机

通过cloud image使用命令行创建虚拟机

下载virt-install

[root@bogon ~]# yum -y install virt-install
[root@bogon ~]# mkdir /opt/image_qcow2 -p
[root@bogon ~]# mv AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2 /opt/image_qcow2/

创建虚拟机

[root@bogon ~]# virt-install --name AlmaLinux-1 --memory 1024 --vcpus 1 --import --os-variant almalinux9 --disk path=/opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2,bus=virtio --network bridge=vm-bridge,model=virtio --noautoconsole
WARNING  KVM acceleration not available, using 'qemu'
WARNING  Requested memory 1024 MiB is less than the recommended 1536 MiB for OS almalinux9Starting install...
Creating domain...                                                                    |         00:00:00     
Domain creation completed.
[root@bogon ~]# virsh listId   Name          State
-----------------------------1    AlmaLinux-1   running
  • --memory:虚拟机内存

  • --vcpus:虚拟机cpu

  • --import:将现有虚拟机导入

  • --os-variant:虚拟机类型

  • --disk:磁盘路径

  • bus=virtio:设置驱动磁盘类型可以识别成为vda,vdb等,如果不加,就会识别成sda,sdb

  • --network:设置网卡

  • model=virtio:设置网卡驱动,使用virtio

  • --noautoconsole:设置命令行启动

进入控制台

[root@bogon ~]# virsh console AlmaLinux-1
Connected to domain 'AlmaLinux-1'
Escape character is ^] (Ctrl + ])

Ctrl + ]可以退出控制台

已经创建了虚拟机,我们也能访问到虚拟机的控制台,但是我们进不去,我们只能在外面蹭蹭,所以呢,究极难受,因为我们不知道root用户的密码

9、删除虚拟机

virsh destroy [name]:关机

virsh undefine [name]:删除

[root@bogon ~]# virsh listId   Name          State
-----------------------------1    AlmaLinux-1   running
[root@bogon ~]# virsh destroy AlmaLinux-1
Domain 'AlmaLinux-1' destroyed
[root@bogon ~]#  virsh undefine AlmaLinux-1
Domain 'AlmaLinux-1' has been undefined
[root@bogon ~]# virsh listId   Name   State
--------------------

10、自定义cloud image

qcow2文件是可以修改的,但是需要工具,这个工具的名字叫做libguestfs

下载libguestfs

[root@bogon ~]# yum -y install libguestfs libguestfs-tools-c

修改qcow2密码

[root@bogon ~]# virt-customize -a /opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2 --root-password password:000000  --selinux-relabel
[   0.0] Examining the guest ...
[  55.5] Setting a random seed
[  55.6] Setting the machine ID in /etc/machine-id
[  55.6] Setting passwords
[  70.1] SELinux relabelling
[ 183.0] Finishing off

拉起虚拟机

[root@bogon ~]# virt-install --name AlmaLinux-1 --memory 1024 --vcpus 1 --import --os-variant almalinux9 --disk path=/opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2,bus=virtio --network bridge=vm-bridge,model=virtio --noautoconsole
WARNING  KVM acceleration not available, using 'qemu'
WARNING  Requested memory 1024 MiB is less than the recommended 1536 MiB for OS almalinux9Starting install...
Creating domain...                                                                    |         00:00:00     
Domain creation completed.

进入虚拟机

...
localhost login: root
Password: 
[root@localhost ~]#

11、配置网络

配置虚拟机AlmaLinux-1的网络

[root@localhost ~]# nmcli con add con-name static-eth0 type ethernet ipv4.address 172.24.10.20/24 ipv4.method man
[root@localhost ~]# ip a show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 52:54:00:78:34:cc brd ff:ff:ff:ff:ff:ffaltname enp1s0inet 172.24.10.20/24 brd 172.24.10.255 scope global noprefixroute eth0valid_lft forever preferred_lft foreverinet6 fe80::4613:29fd:e79:e20a/64 scope link noprefixroute valid_lft forever preferred_lft forever

配置host的网络

[root@bogon ~]# nmcli connection modify vm-bridge ipv4.address 172.24.10.3/24 ipv4.method manual 
[root@bogon ~]# nmcli connection up vm-bridge 
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)
[root@bogon ~]# ip a show vm-bridge 
3: vm-bridge: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ffinet 172.24.10.3/24 brd 172.24.10.255 scope global noprefixroute vm-bridgevalid_lft forever preferred_lft forever

由于网桥是十分脆弱的,当改了网桥之后,就需要重新桥接上去

简单的方式,重启

[root@bogon ~]# virsh destroy AlmaLinux-1
[root@bogon ~]# virsh start AlmaLinux-1

12、重新拉起虚拟机,配置额外的磁盘空间

创建lv

[root@bogon ~]# pvcreate /dev/sda Physical volume "/dev/sda" successfully created.
[root@bogon ~]# vgcreate data /dev/sda Volume group "data" successfully created
[root@bogon ~]# lvcreate -n data -L 9G dataLogical volume "data" created.

重新拉起虚拟机

[root@bogon ~]# virsh destroy AlmaLinux-1
Domain 'AlmaLinux-1' destroyed
[root@bogon ~]# virsh undefine AlmaLinux-1 
Domain 'AlmaLinux-1' has been undefined
[root@bogon ~]# virt-install --name AlmaLinux-1 --memory 1024 --vcpus 1 --import --os-variant almalinux9 --disk path=/opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2,bus=virtio --disk path=/dev/data/data,bus=virtio --disk path=/dev/sdb,bus=virtio  --network bridge=vm-bridge,model=virtio --noautoconsole
data
[root@bogon ~]# virt-install --name AlmaLinux-1 --memory 1024 --vcpus 1 --import --os-variant almalinux9 --disk path=/opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2,bus=virtio --disk path=/dev/data/data,bus=virtio --disk path=/dev/sdb,bus=virtio  --network bridge=vm-bridge,model=virtio --noautoconsole
data
[root@bogon ~]# virt-install --name AlmaLinux-1 --memory 1024 --vcpus 1 --import --os-variant almalinux9 --disk path=/opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2,bus=virtio --disk path=/dev/data/data,bus=virtio --disk path=/dev/sdb,bus=virtio  --network bridge=vm-bridge,model=virtio --noautoconsole
WARNING  Requested memory 1024 MiB is less than the recommended 1536 MiB for OS almalinux9Starting install...
Creating domain...                                                                    |         00:00:00     
Domain creation completed.

13、将cloud镜像文件的根分区扩大

因为根分区是标准的分区,所以没办法使用逻辑卷的方法进行扩容,所以我们要用到一个工具叫做virtresize

删除虚拟机

[root@bogon ~]# virsh destroy AlmaLinux-1 
Domain 'AlmaLinux-1' destroyed[root@bogon ~]#  virsh undefine AlmaLinux-1
Domain 'AlmaLinux-1' has been undefined

查看qcow2的磁盘情况

[root@bogon ~]# virt-filesystems --long -h --all -a /opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2 
Name       Type        VFS      Label  MBR  Size  Parent
/dev/sda1  filesystem  unknown  -      -    1.0M  -
/dev/sda2  filesystem  vfat     -      -    200M  -
/dev/sda3  filesystem  xfs      -      -    448M  -
/dev/sda4  filesystem  xfs      -      -    9.2G  -
/dev/sda1  partition   -        -      -    1.0M  /dev/sda
/dev/sda2  partition   -        -      -    200M  /dev/sda
/dev/sda3  partition   -        -      -    512M  /dev/sda
/dev/sda4  partition   -        -      -    9.3G  /dev/sda
/dev/sda   device      -        -      -    10G   -

创建一个19G的qcow2文件,用来“夺舍”

[root@bogon ~]# qemu-img create -f qcow2 /opt/os_qcow2/os.qocow2 19G
Formatting '/opt/os_qcow2/os.qocow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=20401094656 lazy_refcounts=off refcount_bits=16

查看创建的这个qcow2文件

[root@bogon ~]# qemu-img info /opt/os_qcow2/os.qcow2 
image: /opt/os_qcow2/os.qcow2
file format: qcow2
virtual size: 19 GiB (20401094656 bytes)
disk size: 196 KiB
cluster_size: 65536
Format specific information:compat: 1.1compression type: zliblazy refcounts: falserefcount bits: 16corrupt: falseextended l2: false
Child node '/file':filename: /opt/os_qcow2/os.qcow2protocol type: filefile length: 192 KiB (197120 bytes)disk size: 196 KiBFormat specific information:extent size hint: 1048576

使用新创建的9G的qcow2文件来替换原来的qcow2文件,这里的磁盘是指qcow2里的磁盘

[root@bogon ~]# virt-resize --expand /dev/sda1 /opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2  /opt/os_qcow2/os.qcow2 
[   0.0] Examining /opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
**********Summary of changes:virt-resize: /dev/sda1: This partition will be resized from 1.0M to 9.0G.virt-resize: /dev/sda2: This partition will be left alone.virt-resize: /dev/sda3: This partition will be left alone.virt-resize: /dev/sda4: This partition will be left alone.**********
[  21.2] Setting up initial partition table on /opt/os_qcow2/os.qcow2
[  35.6] Copying /dev/sda1
[  35.6] Copying /dev/sda2
[  36.8] Copying /dev/sda3100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
[  40.7] Copying /dev/sda4100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00virt-resize: Resize operation completed with no errors.  Before deleting 
the old disk, carefully check that the resized disk boots and works 
correctly.

查看新的文件,可以看到虚拟磁盘变大了

[root@bogon ~]# virt-filesystems --long -h --all -a /opt/os_qcow2/os.qcow2 
Name       Type        VFS      Label  MBR  Size  Parent
/dev/sda1  filesystem  unknown  -      -    9.0G  -
/dev/sda2  filesystem  vfat     -      -    200M  -
/dev/sda3  filesystem  xfs      -      -    448M  -
/dev/sda4  filesystem  xfs      -      -    9.2G  -
/dev/sda1  partition   -        -      -    9.0G  /dev/sda
/dev/sda2  partition   -        -      -    200M  /dev/sda
/dev/sda3  partition   -        -      -    512M  /dev/sda
/dev/sda4  partition   -        -      -    9.3G  /dev/sda
/dev/sda   device      -        -      -    19G   -

使用新的qcow2拉起虚拟机

[root@bogon ~]# virt-install --name AlmaLinux-1 --memory 1024 --vcpus 1 --import --os-variant almalinux9 --disk path=/opt/os_qcow2/os.qcow2,bus=virtio --disk path=/dev/data/kvm,bus=virtio   --network bridge=vm-bridge,model=virtio --noautoconsole
WARNING  Requested memory 1024 MiB is less than the recommended 1536 MiB for OS almalinux9Starting install...
Creating domain...                                                                    |         00:00:00     
Domain creation completed.

14、XML文件

[root@bogon ~]# ll /etc/libvirt/qemu/AlmaLinux-1.xml 
-rw------- 1 root root 7110 Apr 11 08:26 /etc/libvirt/qemu/AlmaLinux-1.xml

如果virsh destory之后再virsh undefine虚拟机,这个文件就会消失。

如果你的xml文件做过高度定制化修改,那么一定要备份,下次拉起虚拟机就应该是用virsh define/path/xxx.xml,因为有一些xml文件支持的高级部分并不被virt-install的所有参数所支持。

相关文章:

Linux虚拟化————KVM

1、安装kvm虚拟化套件 [rootbogon ~]# yum -y install virt* 2、启动服务 [rootbogon ~]# systemctl start libvirtd [rootbogon ~]# systemctl status libvirtd ● libvirtd.service - Virtualization daemonLoaded: loaded (/usr/lib/systemd/system/libvirtd.service; di…...

【b站李同学的Lee】Part 2 模块化开发 NodeJS+Gulp基础入门+实战

课程地址&#xff1a;【NodeJSGulp基础入门实战】 https://www.bilibili.com/video/BV1aE411n737/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 4 Node.js模块化开发 4.1 JavaScript开发弊端 4.1.1 文件依赖 4.1.2 命名冲突 4.2 生活中的…...

AI大模型日报#0415:贾佳亚团队新作王炸、马斯克首款多模态大模型、ChatGPT to B

导读&#xff1a; 欢迎阅读《AI大模型日报》&#xff0c;内容基于Python爬虫和LLM自动生成。目前采用“文心一言”生成了每条资讯的摘要。标题: 融合ChatGPTDALLE3&#xff0c;贾佳亚团队新作开源&#xff1a;识图推理生图一站解决 摘要: 贾佳亚团队推出了多模态模型Mini-Gem…...

基于GRU实现评论文本情感分析

一、问题建模 在线评论的细粒度情感分析对于深刻理解商家和用户、挖掘用户情感等方面有至关重要的价值&#xff0c;并且在互联网行业有极其广泛的应用&#xff0c;主要用于个性化推荐、智能搜索、产品反馈、业务安全等。此博文&#xff0c;共包含6大类20个细粒度要素的情感倾…...

【C 数据结构】线性表

文章目录 【 1. 线性表 】【 2. 顺序存储结构、链式存储结构 】【 3. 前驱、后继 】 【 1. 线性表 】 线性表&#xff0c;全名为线性存储结构&#xff0c;线性表结构存储的数据往往是可以依次排列的&#xff08;不考虑数值大小顺序&#xff09;。 例如&#xff0c;存储类似 {1…...

C++初级----list(STL)

1、 list介绍 1.1、 list介绍 1.list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。 1. list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向 其前一…...

web安全学习笔记(9)

记一下第十三课的内容。 准备工作&#xff1a;在根目录下创建template目录&#xff0c;将login.html放入其中&#xff0c;在该目录下新建一个reg.html。在根目录下创建一个function.php 一、函数声明与传参 PHP中的函数定义和其他语言基本上是相同的。我们编辑function.php …...

【Python-基础】字符串合集

字符串格式化 f # 例如: # f{train_path}/{f}: 将train_path字符串和f字符串结合 # f{root}.csv:将root字符串和.csv字符串结合判断字符串是否以…结尾 root.endswith(".csv") # True未待完续…...

Scala之List

列表 不可变列表(List) 在Scala中&#xff0c;通过List来定义不可变列表&#xff0c;需要注意的是&#xff0c;List本身是一个抽象类&#xff0c;所以并不能直接使用List来构建对象&#xff0c;需要使用它的伴生对象来构建 package com.fesco.listimport scala.::object ListD…...

Springboot+Vue项目-基于Java+MySQL的在线视频教育平台系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…...

Java IO流-字节流

简介 IO流的输入与输出&#xff0c;都在站在内存的角度来看的&#xff0c;因为毕竟是和内促你打交道的嘛&#xff01; 分类 IO流是可以根据方向&#xff0c;或者最小单位进行划分的 上述两两结合一下&#xff0c;就得到四种大的分类 IO流的继承体系 字节输入流InputStream 创建…...

第十五届蓝桥杯复盘python大学A组——试题B 召唤数学精灵

按照正常思路解决&#xff0c;由于累乘消耗大量时间&#xff0c;因此这不是一个明智的解决方案。 这段代码执行速度非常慢的原因在于它试图计算非常大的数的阶乘&#xff08;累乘&#xff09;&#xff0c;并且对于每一个i的值都执行这个计算。阶乘的增长是极其迅速的&#xff…...

网络通信——常见结构及强联网游戏和弱联网游戏区别

声明&#xff1a;本文为个人笔记&#xff0c;用于学习研究使用非商用&#xff0c;内容为个人研究及综合整理所得&#xff0c;若有违规&#xff0c;请联系&#xff0c;违规必改。 网络通信——常见结构及强联网游戏和弱联网游戏区别 文章目录 网络通信——常见结构及强联网游戏和…...

如何安装PyFluent

0.什么是PyFluent? 官方介绍如下&#xff1a; PyFluent 是 PyAnsys 生态系统的一部分&#xff0c; 允许您在所选的 Python 环境中结合使用 Fluent 与其他 PyAnsys 库和外部 Python 库一起使用。 PyFluent 实现了客户端-服务器体系结构。它使用谷歌遥控器 过程调用或 gRPC 接…...

Qt 2 QMapQHashQVector类实例

1. QMap // 1:QMap的使用// 创建一个QMap 实例 key 为 QString value 为 intQMap<QString,int> Grade;// 插入方式有两种插入方式// 1.map[key] valueGrade["语文"] 90;Grade["数学"] 120;// 2.map.insert(key,value);Grade.insert("英语&qu…...

使用Git将文件夹上传到Github以及使用Git LFS上传大文件

使用Git将文件夹上传到Github以及使用Git LFS上传大文件...

1.SCI各模块

1.学会“抄” 写论文&#xff0c;一定要学会“抄”&#xff01;这样才能事半功倍&#xff0c;尤其是对于初次写作的新手&#xff0c;否则写作过程一定会让你痛不欲生&#xff0c;而且写出来的东西就是一坨shi&#xff0c;不仅折磨自己&#xff0c;也折磨导师。 写论文与建大楼…...

记录shell编程中$1,$@等符号的含义

笔者最近老是遇到shell中的$相关的题目&#xff0c;于是打算写篇文章记录一下。考虑到并没有特别多需要解释的内容&#xff0c;所以并不会进行介绍&#xff0c;上图上表上代码&#xff0c;让机器说话&#xff0c;machine always right test.sh #/bin/bash echo $# $# echo …...

单链表的应用

文章目录 目录1. 单链表经典算法OJ题目1.1 [移除链表元素](https://leetcode.cn/problems/remove-linked-list-elements/description/)1.2 [链表的中间节点](https://leetcode.cn/problems/middle-of-the-linked-list/description/)1.3 [反转链表](https://leetcode.cn/problem…...

手机副业赚钱秘籍:让你的手机变成赚钱利器

当今社会&#xff0c;智能手机已然成为我们生活不可或缺的一部分。随着技术的飞速进步&#xff0c;手机不再仅仅是通讯工具&#xff0c;而是化身为生活伴侣与工作助手。在这个信息爆炸的时代&#xff0c;我们时常会被一种焦虑感所困扰&#xff1a;如何能让手机超越消磨时光的定…...

(二十七)Flask之数据库连接池DBUtils库

目录: 每篇前言:DBUtils库模式一(底层使用threading.local实现):模式二:Flask中使用方式一:直接将DBUtils初始化放到settings.py文件中方式二:从utils文件夹中导入脚本使用DBUtils代码demo:每篇前言: 🏆🏆作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心…...

FewShotPromptTemplate和SemanticSimilarityExampleSelector的学习

FewShotPromptTemplate 和 SemanticSimilarityExampleSelector 是在少样本学习&#xff08;FewShot Learning&#xff09;场景中常用的两种技术&#xff0c;它们在提高模型泛化能力和减少对大量标注数据的依赖方面扮演着重要角色。 下面我会解释它们之间的关系&#xff1a; F…...

【保姆级】2024年OnlyFans订阅指南

OnlyFans是一个独特的社交媒体平台&#xff0c;它为创作者和粉丝提供了一个互动交流的空间。通过这个平台&#xff0c;创作者可以分享他们的独家内容&#xff0c;而粉丝则可以通过订阅来支持和享受这些内容。如果你对OnlyFans感兴趣&#xff0c;并希望成为其中的一员&#xff0…...

深入理解JVM中的G1垃圾收集器原理、过程和参数配置

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;垃圾收集&#xff08;GC&#xff09;是一个自动管理内存的过程&#xff…...

VUE3 + Elementui-Plus 之 树形组件el-tree 一键展开(收起);一键全选(不全选)

需求&#xff1a; 产品要求权限树形结构添加外部复选框进行全部展开或收起&#xff1b;全选或不全选。 实现步骤&#xff1a; tree组件部分&#xff1a; <div class"role-handle"><div>权限选择(可多选)</div><div><el-checkbox v-mode…...

【Godot4自学手册】第三十七节钥匙控制开门

有些日子没有更新了&#xff0c;实在是琐事缠身啊&#xff0c;今天继续开始自学Godot4&#xff0c;继续完善地宫相关功能&#xff0c;在地宫中安装第二道门&#xff0c;只有主人公拿到钥匙才能开启这扇门&#xff0c;所以我们在合适位置放置一个宝箱&#xff0c;主人公开启宝箱…...

GitHub repository - Pulse - Contributors - Network

GitHub repository - Pulse - Contributors - Network 1. Pulse2. Contributors3. NetworkReferences 1. Pulse 显示该仓库最近的活动信息。该仓库中的软件是无人问津&#xff0c;还是在火热地开发之中&#xff0c;从这里可以一目了然。 2. Contributors 显示对该仓库进行过…...

RocketMQ 10 面试题FAQ

RocketMQ 面试FAQ 说说你们公司线上生产环境用的是什么消息中间件? 为什么要使用MQ&#xff1f; 因为项目比较大&#xff0c;做了分布式系统&#xff0c;所有远程服务调用请求都是同步执行经常出问题&#xff0c;所以引入了mq 解耦 系统耦合度降低&#xff0c;没有强依赖…...

【Spring进阶系列丨第十篇】基于注解的面向切面编程(AOP)详解

文章目录 一、基于注解的AOP1、配置Spring环境2、在beans.xml文件中定义AOP约束3、定义记录日志的类【切面】4、定义Bean5、在主配置文件中配置扫描的包6、在主配置文件中去开启AOP的注解支持7、测试8、优化改进9、总结 一、基于注解的AOP 1、配置Spring环境 <dependencie…...

Leetcode 152. 乘积最大子数组和Leetcode 162. 寻找峰值

文章目录 Leetcode 152. 乘积最大子数组题目描述C语言题解和思路解题思路 Leetcode 162. 寻找峰值题目描述C语言题解和思路解题思路 Leetcode 152. 乘积最大子数组 题目描述 给你一个整数数组 nums &#xff0c;请你找出数组中乘积最大的非空连续子数组&#xff08;该子数组中…...

wordpress日志文件/沧州网站seo公司

本文是i春秋论坛作家「flag0」表哥原创的一篇技术文章&#xff0c;关于定位MFC中SDK创建窗口API位置的相关内容&#xff0c;感兴趣的小伙伴快来学习吧。SDK中用于创建窗口的API在SDK中创建窗口的过程&#xff0c;我们可以将其称为为创建窗口6要素。其分别为&#xff1a;1、设计…...

b2b网站排名前十/优化网站打开速度

我在一个项目中为一些实用程序类设置单元测试,其中一个类(包含许可信息)有一个方法可以根据当前时间做一些确定.即许可证包含到期日期,许可证字符串验证该日期,但是查看许可证是否过期的实际逻辑是基于当前时间.public boolean isValid(){return isLicenseStringValid() &&…...

广州h5设计网站公司/百度平台商家

它定义了算法家族,分别封装起来,让他们之间可互相替换,此模式让算法的变化,不会影响到使用算法的客户. UML 示例代码: abstract class Strategy {protected $money;public function __construct($money){$this->money $money;}abstract public function calcMoney();public…...

做诱导网站/关键词统计工具有哪些

第1关:建单向链表 任务描述 本关需要你建立一个带头结点的单向链表。 相关知识 什么是链表?链表和二叉树是C语言数据结构的基础和核心。 链表有多种形式,它可以是单链接的或者双链接的,可以是已排序的或未排序的,可以是循环的或非循环的。 本关让我们来学习单链表。 …...

备案中又需要建设网站/百度竞价推广登陆

原标题&#xff1a;英伟达宣布光追版《我的世界》即将上线 支持玩家转移自己的建筑物英伟达光追效果的强大相信各位玩家早就已经领略过了。近日&#xff0c;英伟达宣布玩家期待已久的《我的世界》光追版即将在Win10平台与玩家们见面&#xff0c;一起来了解下吧。英伟达表示&…...

做网站前端网址可以自己写吗/新闻投稿

无论是在论文排版中也好&#xff0c;在编写书籍也好&#xff0c;我们都需要在Word文档中每一页的底部插入该页面的数目&#xff0c;用于统计书籍的面熟&#xff0c;这样可以更好的方便用户阅读&#xff0c;和查阅。当然插入页码的方式有很多种&#xff0c;在不同的情况下我们需…...