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

计算机网络第2章(物理层)

计算机网络第2章(物理层)

  • 2.1 物理层的基本概念
  • 2.2 物理层下面的传输媒体
    • 2.2.1 导引型传输媒体
    • 2.2.2 非导引型传输媒体
  • 2.3 传输方式
    • 2.3.1 串行传输和并行传输
    • 2.3.2 同步传输和异步传输
    • 2.3.3 单向通信(单工)、双向交替通信(半双工)和双向同时通信(全双工)
  • 2.4 编码与调制
    • 2.4.1 传输媒体与信道的关系
    • 2.4.2 常用编码
    • 2.4.3 调制
    • 2.4.4 码元
  • 2.5 信道的极限容量
  • 补充:信道复用技术
    • 频分复用、时分复用和统计时分复用
    • 时分复用TDM (Time Division Multiplexing)
    • 波分复用
    • 码分复用

2.1 物理层的基本概念

在这里插入图片描述

2.2 物理层下面的传输媒体

传输媒体也称为传输介质或传输媒介,它就是数据传输系统中在发送器和接收器之间的物理通路。传输媒体课分为两大类,即导引型传输媒体非导引型传输媒体
传输媒体不属于计算机网络体系结构的任何一层。如果非要将它添加到体系结构中,那只能将其放置到物理层之下。

2.2.1 导引型传输媒体

在导引型传输媒体中,电磁波被导引沿着固体媒体传播
(1)同轴电缆
在这里插入图片描述
(2)双绞线
在这里插入图片描述
(3)光纤
在这里插入图片描述
在这里插入图片描述
多模光纤
可以存在多条不同角度入射的光线在一条光纤中传输。这种光纤就称为多模光纤。
单模光纤
若光纤的直径减小到只有一个光的波长,则光纤就像一根波导那样,它可使光线一直向前传播,而不会产生多次反射。这样的光纤称为单模光纤。

(4)电力线
在这里插入图片描述

2.2.2 非导引型传输媒体

非导引型传输媒体是指自由空间
在这里插入图片描述
(1)无线电波
在这里插入图片描述
(2)微波
在这里插入图片描述
(3)红外线
在这里插入图片描述
(4)可见光
在这里插入图片描述

2.3 传输方式

2.3.1 串行传输和并行传输

在这里插入图片描述
串行传输:

  • 数据是一个比特一个比特依次发送的,因此在发送端与接收端之间,只需要一条数据传输线
    路即可

并行传输:

  • 一次发送n个比特,因此,在发送端和接收端之间需要有n条传输线路
  • 并行传输的优点是比串行传输的速度n倍,但成本高
    数据在传输线路上的传输采用是串行传输,计算机内部的数据传输常用并行传输

2.3.2 同步传输和异步传输

在这里插入图片描述
同步传输:

  • 数据块以稳定的比特流的形式传输。字节之间没有间隔
  • 接收端在每个比特信号的中间时刻进行检测,以判别接收到的是比特0还是比特1
  • 由于不同设备的时钟频率存在一定差异,不可能做到完全相同,在传输大量数据的过程中,所产生的判别时刻的累计误差,会导致接收端对比特信号的判别错位

所以要使收发双发时钟保持同步
在这里插入图片描述
异步传输

  • 字节为独立的传输单位,字节之间的时间间隔不是固定
  • 接收端仅在每个字节的起始处对字节内的比特实现同步
  • 通常在每个字节前后分别加上起始位和结束位

2.3.3 单向通信(单工)、双向交替通信(半双工)和双向同时通信(全双工)

在许多情况下,我们要使用“信道(channel)”这一名词。信道和电路并不等同。信道一般都是用来表示向某一个方向传送信息的媒体。因此,一条通信电路往往包含一条发送信道和一条接收信道。
从通信的双方信息交互的方式来看,可以有以下三种基本方式:
(1)单向通信
又称为单工通信,即只能有一个方向的通信而没有反方向的交互。无线电广播或有线电以及电视广播就属于这种类型
在这里插入图片描述
(2)双向交替通信
又称为半双工通信,即通信的双方可以发送信息,但不能双方同时发送(当然也就不能同时接收)。这种通信方式使一方发送另一方接收,过一段时间后可以再反过来
在这里插入图片描述
(3)双向同时通信
又称为全双工通信,即通信的双发可以同时发送和接收信息。
在这里插入图片描述**区别:**单向通信只需要一条信道,而双向交替通信或双向同时通信则需要两条信道(每个方向各一条)双向同时通信的传输效率最高

2.4 编码与调制

在这里插入图片描述
常用术语

  • 数据 (data) —— 运送消息的实体。
  • 信号 (signal) —— 数据的电气的或电磁的表现。
  • 模拟信号 (analogous signal) —— 代表消息的参数的取值是连续的。
  • 数字信号 (digital signal) —— 代表消息的参数的取值是离散的。
  • 码元 (code) —— 在使用时间域(或简称为时域)的波形表示数字信号时,代表不同离散数值的基本波形。
  • 基带信号(即基本频带信号)—— 来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。
  • 基带信号往往包含有较多的低频成分,甚至有直流成分,而许多信道并不能传输这种低频分量或直流分量。因此必须对基带信号进行调制 (modulation)。

在计算机网络中,常见的是将数字基带信号通过编码调制的方法在相应信道进行传输
在这里插入图片描述

2.4.1 传输媒体与信道的关系

信道的几个基本概念

  • 信道 —— 一般用来表示向某一个方向传送信息的媒体。
  • 单向通信(单工通信)——只能有一个方向的通信而没有反方向的交互。
  • 双向交替通信(半双工通信)——通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。
  • 双向同时通信(全双工通信)——通信的双方可以同时发送和接收信息。

严格来说,传输媒体不能和信道划等号
对于单工传输,传输媒体只包含一个信道,要么是发送信道,要么是接收信道
在这里插入图片描述
对于半双工和全双工,传输媒体中要包含两个信道,一个发送信道,另一个是接收信道
在这里插入图片描述

如果使用信道复用技术,一条传输媒体还可以包含多个信道

2.4.2 常用编码

在这里插入图片描述

  • 正电平表示比特1/0
  • 负电平表示比特0/1
    中间的虚线是零电平,所谓不归零编码,就是指在整个码元时间内,电平不会出现零电平
    实际比特1和比特0的表示要看现实怎么规定
    在这里插入图片描述
    这需要发送方的发送与接收方的接收做到严格的同步
  • 需要额外一根传输线来传输时钟信号,使发送方和接收方同步,接收方按时钟信号的节拍来逐个接收码元
  • 但是对于计算机网络,宁愿利用这根传输线传输数据信号,而不是传输时钟信号
    由于不归零编码存在同步问题,因此计算机网络中的数据传输不采用这类编码!
    在这里插入图片描述
  • 每个码元传输结束后信号都要“归零”,所以接收方只要在信号归零后进行采样即可,不需要单独的时钟信号。
  • 实际上,归零编码相当于把时钟信号用“归零”方式编码在了数据之内,这称为“自同步”信号。
  • 但是,归零编码中大部分的数据带宽,都用来传输“归零”而浪费掉了。

归零编码虽然自同步,但编码效率低
在这里插入图片描述
在每个码元时间的中间时刻,信号都会发生跳变

  • 负跳变表示比特1/0
  • 正跳变表示比特0/1
  • 码元中间时刻的跳变即表示时钟,又表示数据

实际比特1和比特0的表示要看现实怎么规定
传统以太网使用的就是曼切斯特编码
在这里插入图片描述
在每个码元时间的中间时刻,信号都会发送跳变,但与曼彻斯特不同

  • 跳变仅表示时钟
  • 码元开始处电平是否变换表示数据
    (1)变化表示比特1/0
    (2)不变化表示比特0/1

实际比特1和比特0的表示要看现实怎么规定
比曼彻斯特编码变化少,更适合较高的传输速率

总结
在这里插入图片描述

2.4.3 调制

数字信号转换为模拟信号,在模拟信道中传输,例如WiFi,采用补码键控CCK/直接序列扩频DSSS/正交频分复用OFDM等调制方式。
模拟信号转换为另一种模拟信号,在模拟信道中传输,例如,语音数据加载到模拟的载波信号中传输。
频分复用FDM技术,充分利用带宽资源。
基本调制方法
在这里插入图片描述

  • 调幅AM:所调制的信号由两种不同振幅的基本波形构成。每个基本波形只能表示1比特信息量。
  • 调频FM:所调制的信号由两种不同频率的基本波形构成。每个基本波形只能表示1比特信息量。
  • 调相PM:所调制的信号由两种不同初相位的基本波形构成。每个基本波形只能表示1比特信息量。

但是使用基本调制方法,1个码元只能包含1个比特信息

混合调制
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上图码元所对应的4个比特是错误的,码元不能随便对应4个比特
加粗样式

2.4.4 码元

在使用时间域的波形表示数字信号时,代表不同离散数值的基本波形。

2.5 信道的极限容量

  • 任何实际的信道都不是理想的,在传输信号时会产生各种失真以及带来多种干扰。
  • 码元传输的速率越高,或信号传输的距离越远,或传输媒体质量越差,在信道的输出端的波形的失真就越严重

在这里插入图片描述
失真的原因:

  • 码元传输的速率越高
  • 信号传输的距离越远
  • 噪声干扰越大
  • 传输媒体质量越差

在这里插入图片描述
在这里插入图片描述
奈氏准则和香农公式对比:
在这里插入图片描述

补充:信道复用技术

频分复用、时分复用和统计时分复用

复用 (multiplexing) 是通信技术中的基本概念。
它允许用户使用一个共享信道进行通信,降低成本,提高利用率。

在这里插入图片描述
频分复用 FDM (Frequency Division Multiplexing)

  • 将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
  • 频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。
    在这里插入图片描述

时分复用TDM (Time Division Multiplexing)

  • 时分复用则是将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM 帧中占用固定序号的时隙。
  • 每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)的。
  • TDM 信号也称为等时 (isochronous) 信号。
  • 时分复用的所有用户在不同的时间占用同样的频带宽度。
    -在这里插入图片描述
  • 时分复用可能会造成线路资源的浪费
    (1)使用时分复用系统传送计算机数据时,由于计算机数据的突发性质,用户对分配到的子信道的
    利用率一般是不高的。
    在这里插入图片描述
    统计时分复用 STDM (Statistic TDM)
    在这里插入图片描述

波分复用

波分复用 WDM(Wavelength Division Multiplexing
在这里插入图片描述

码分复用

码分复用 CDM (Code Division Multiplexing)

  • 常用的名词是码分多址 CDMA (Code Division Multiple Access)。
  • 各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。
  • 这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。

相关文章:

计算机网络第2章(物理层)

计算机网络第2章(物理层) 2.1 物理层的基本概念2.2 物理层下面的传输媒体2.2.1 导引型传输媒体2.2.2 非导引型传输媒体 2.3 传输方式2.3.1 串行传输和并行传输2.3.2 同步传输和异步传输2.3.3 单向通信(单工)、双向交替通信&#x…...

windows钩子保护自身进程不被破坏

代码来自于《windows核心编程》作者&#xff1a; APIHOOK.h头文件&#xff1a; #pragma once #include <Windows.h> class CAPIHOOK { public: CAPIHOOK(LPTSTR lpszModName, LPSTR pszFuncName, PROC pfnHook, BOOL bExcludeAPIHookMod TRUE); ~CAPIHOOK(void); p…...

Linux系统查看文件系统类型C代码

系统&#xff1a;VM Ubuntu 实现Linux系统下通过输入指定路径查看文件系统类型,MSDOS_SUPER_MAGIC&#xff0c;NTFS_SUPER_MAGIC和EXT4_SUPER_MAGIC这些宏定义并不是在sys/mount.h中定义的&#xff0c;它们实际上是在linux/magic.h头文件中定义的。不同系统下宏定义可能不一样&…...

Python中的正则表达式

大家好&#xff0c;今天我们将通过详细的解释和代码示例&#xff0c;探讨如何在Python中使用正则表达式。 介绍 正则表达式&#xff08;regex&#xff09;是一种用于操作文本和数据的强大工具&#xff0c;它们提供了一种简洁灵活的方式来“匹配”&#xff08;指定和识别&…...

第六章,创作文章

6.1添加创作页面 <template><div class="blog-container"><div class="blog-pages"><div class="col-md-12 panel"><div class="panel-body"><h2 class="text-center">创作文章&l…...

Win10c盘满了怎么清理?快速清理,5个方法!

“快救救孩子吧&#xff01;我的电脑是win10系统的&#xff0c;现在c盘满了&#xff0c;根本没法继续使用电脑了。怎么才能快速的释放内存呢&#xff1f;非常着急&#xff01;感谢大家&#xff01;” C盘是Windows系统中重要的分区&#xff0c;当其存储空间满了&#xff0c;可能…...

回归预测 | MATLAB实现GWO-BP灰狼算法优化BP神经网络多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现GWO-BP灰狼算法优化BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现GWO-BP灰狼算法优化BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基本介绍程序…...

docker 06(docker compose)

一、服务编排 二、docker compose...

非阻塞重试与 Spring Kafka 的集成测试

如何为启用重试和死信发布的消费者的 Spring Kafka 实现编写集成测试。 Kafka 非阻塞重试 Kafka 中的非阻塞重试是通过为主主题配置重试主题来完成的。如果需要&#xff0c;还可以配置其他死信主题。如果所有重试均已用尽&#xff0c;事件将转发至 DLT。公共领域提供了大量资…...

基于 Debian 12 的MX Linux 23 正式发布!

导读MX Linux 是基于 Debian 稳定分支的面向桌面的 Linux 发行&#xff0c;它是 antiX 及早先的 MEPIS Linux 社区合作的产物。它采用 Xfce 作为默认桌面环境&#xff0c;是一份中量级操作系统&#xff0c;并被设计为优雅而高效的桌面与如下特性的结合&#xff1a;配置简单、高…...

Nginx代理功能与负载均衡详解

序言 Nginx的代理功能与负载均衡功能是最常被用到的&#xff0c;关于nginx的基本语法常识与配置已在上篇文章中有说明&#xff0c;这篇就开门见山&#xff0c;先描述一些关于代理功能的配置&#xff0c;再说明负载均衡详细。 Nginx代理服务的配置说明 1、上一篇中我们在http…...

部署问题集合(特辑)虚拟机常用命令

基础 查看ip&#xff1a;ip addr或ipconfig压缩&#xff1a;tar -zcvf redis-3.2.8.tar.gz redis-3.2.8/ 注意&#xff1a;-zcvf对应gz&#xff0c;-vcf对应tar 解压&#xff1a;tar -zxvf redis-3.2.8.tar.gz压缩zip&#xff1a;zip nginx.zip nginx.txt nginx2.txt解压zip&a…...

【Git】如何将本地文件进行Git仓库归档

Git 全局设置 git config --global user.name "mcihael" git config --global user.email "michael520.com"创建新版本库 git clone gitcode.xxxxxx.git cd branch-name touch README.md git add README.md git commit -m "add README" git pu…...

uniapp 使用腾讯视频 的 坑

1. 版本号的问题 注意 1.X.X不维护了 &#xff0c; 需要升级要 2.X.X 2. 官网的 组件事件 调用需要去掉bind 才能调用 官网地址&#xff1a;腾讯视频 | 小程序插件 | 微信公众平台...

LinkedList

LinkedList的模拟实现&#xff08;底层是一个双向链表&#xff09;LinkedList使用 LinkedList的模拟实现&#xff08;底层是一个双向链表&#xff09; 无头双向链表&#xff1a;有两个指针&#xff1b;一个指向前一个节点的地址&#xff1b;一个指向后一个节点的地址。 节点定…...

创作新纪元:知乎、阅文加码AI大模型,撬动创作者经济

输入几个关键词就能生成一篇文章、一篇新闻、一篇小说&#xff0c;ChatGPT自诞生以来文本生成能力一直备受赞誉&#xff0c;ChatGPT要替代记者、编辑、作家的言论愈演愈烈&#xff0c;甚至有一些互联网企业宣布砍掉记者、编辑、文案等岗位全面拥抱AIGC。 目前ChatGPT是否会全面…...

PAT(Advanced Level) Practice(with python)——1067 Sort with Swap(0, i)

Code # 输入有毒&#xff0c;需避坑 # N int(input()) L list(map(int,input().split())) N L[0] L L[1:] res 0 for i in range(1,N):while L[0]!0:# 把所有不在正常位置下的数换到正常t L[0]L[0],L[t] L[t],L[0]res1if L[i]!i:# 换完全后如果对应位置下的数不是目标…...

Python爬取斗罗大陆全集

打开网址http://www.luoxu.cc/dmplay/C888H-1-265.html F12打开Fetch/XHR&#xff0c;看到m3u8&#xff0c;ts&#xff0c;一眼顶真&#xff0c;打开index.m3u8 由第一个包含第二个index.m3u8的地址&#xff0c;ctrlf在源代码中一查index&#xff0c;果然有&#xff0c;不过/…...

前馈神经网络解密:深入理解人工智能的基石

目录 一、前馈神经网络概述什么是前馈神经网络前馈神经网络的工作原理应用场景及优缺点 二、前馈神经网络的基本结构输入层、隐藏层和输出层激活函数的选择与作用网络权重和偏置 三、前馈神经网络的训练方法损失函数与优化算法反向传播算法详解避免过拟合的策略 四、使用Python…...

顺序栈Sequential-stack

0、节点结构体定义 typedef struct SqStack{int *base;int *top; } SqStack; 1、初始化 bool InitStack(SqStack &S) {S.base new int[Maxsize]; //eg. #define Maxsize 100if(!S.base){return false;}S.top S.base;return true; } 2、入栈 bool Push(SqStack &…...

关于工牌(必须5-10个字)

今天蹲坑&#xff0c;低头看了下工牌觉得挺有意思&#xff1a;我从啥时候起也不排斥将工牌挂在脖子上了&#xff1f; 工牌&#xff0c;一个标识。不仅标识了你&#xff0c;也标识了你所在的群体。如果你认可这个群体&#xff0c;佩戴它那是一种荣誉、荣耀&#xff1b;如果你不…...

PHP混淆加密以及常用的一些加密工具

PHP混淆加密是一种将源代码转换为难以理解和阅读的方式&#xff0c;以保护代码的安全性。以下是一些常见的PHP混淆加密方法&#xff1a; 代码压缩&#xff1a;使用代码压缩工具&#xff08;如UglifyJS&#xff09;将PHP代码压缩为一行&#xff0c;去除空格、换行符等可读性的字…...

无涯教程-PHP - ereg()函数

ereg() - 语法 int ereg(string pattern, string originalstring, [array regs]); ereg()函数在string指定的字符串中搜索pattern指定的字符串&#xff0c;如果找到pattern&#xff0c;则返回true&#xff0c;否则返回false。搜索对于字母字符区分大小写。 可选的输入参数re…...

【Ubuntu】简洁高效企业级日志平台后起之秀Graylog

简介 Graylog 是一个用于集中式日志管理的开源平台。在现代数据驱动的环境中&#xff0c;我们需要处理来自各种设备、应用程序和操作系统的大量数据。Graylog提供了一种方法来聚合、组织和理解所有这些数据。它的核心功能包括流式标记、实时搜索、仪表板可视化、告警触发、内容…...

TCP特点UDP编程

目录 1、tcp协议和udp协议 2、多线程并发和多进程并发&#xff1a; &#xff08;1&#xff09;多进程并发服务端 &#xff08;2&#xff09;多进程并发客户端&#xff1a; 3、tcp: 4、粘包 5、UDP协议编程流程 (1)服务器端&#xff1a; (2)客户端&#xff1a; 6、tcp状…...

超级计算机

超级计算机是一种高性能计算机&#xff0c;它能够以极高的速度执行大规模的计算任务。超级计算机通常由数千个甚至数百万个处理器组成&#xff0c;这些处理器能够同时处理大量的数据&#xff0c;从而实现高效的计算。超级计算机广泛应用于科学、工程、金融、天气预报等领域&…...

LeetCode863. 二叉树中所有距离为 K 的结点(相关话题:深度遍历,广度遍历)

题目描述 给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 k 。 返回到目标结点 target 距离为 k 的所有结点的值的列表。 答案可以以 任何顺序 返回。 示例 1: 输入:root = [3,5,1,6,2,0,8,null,null,7,4], target = 5, k = 2 输出:[7,4,1] 解释…...

Kotlin 基础学习

NULL检查机制 Kotlin的空安全设计对于声明可为空的参数&#xff0c;在使用是进行空判断处理&#xff0c;有两种处理方式&#xff0c;字段后加 !! 像 java 一样抛出空异常&#xff0c;另外字段后面加 ? 可不做处理返回值为 null 或者配合 ?: 做空判断处理。 //类型后面加 ? 表…...

CW6B-90A-RCW6B-100A-RCW6B-110A-RCW6B-115A-R三相三线式滤波器

CW4B-10A-S CW4B-20A-S CW4B-30A-S三相三线式滤波器 CW6B-50A-S CW6B-60A-S CW6B-70A-S CW6B-80A-S CW6B-90A-S CW6B-100A-S CW6B-250A-S三相三线式滤波器 CW12B-3A-S(005) CW12B-6A-S(005) CW12B-10A-S(005) CW12B-20A-S(005 CW12B-30A-S(005) CW12B-40A-S(005)三…...

DP读书:鲲鹏处理器 架构与编程(九)鲲鹏920处理器片上系统

鲲鹏920片上系统 鲲鹏920处理器片上系统的组织与管理鲲鹏920片上系统的配置鲲鹏处理器多芯片系统鲲鹏2P多芯片系统鲲鹏4P多芯片系统鲲鹏920处理器片上系统和I/O桥组成的多芯片系统 鲲鹏920处理器的管理和安全架构鲲鹏920片上系统的PMU 鲲鹏920处理器片上系统的输入与输出鲲鹏92…...

【HBZ分享】java中的BitSet 与 Redis中的BitMap 与 布隆过滤器

BitMap的存储原理 bitMap他会标识出某个整数是否存在&#xff0c;存在即为1&#xff0c;不存在对应位即为0bitMap是存储int类型的&#xff0c;int 4byte&#xff0c; 1byte 8bit&#xff0c;因此bitMap数组中的每个下标可以标识出32个数字是否存在bitMap相当于一个个小格子&…...

《Linux从练气到飞升》No.16 Linux 进程地址空间

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的…...

【算法题】7004. 判别首字母缩略词

题目&#xff1a; 给你一个字符串数组 words 和一个字符串 s &#xff0c;请你判断 s 是不是 words 的 首字母缩略词 。 如果可以按顺序串联 words 中每个字符串的第一个字符形成字符串 s &#xff0c;则认为 s 是 words 的首字母缩略词。例如&#xff0c;“ab” 可以由 [“a…...

ClickHouse(二十一):Clickhouse SQL DDL操作-临时表及视图

进入正文前&#xff0c;感谢宝子们订阅专题、点赞、评论、收藏&#xff01;关注IT贫道&#xff0c;获取高质量博客内容&#xff01; &#x1f3e1;个人主页&#xff1a;含各种IT体系技术&#xff0c;IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 &…...

redis乐观锁+启用事务解决超卖

乐观锁用于监视库存&#xff08;watch&#xff09;&#xff0c;然后接下来就启用事务。 启用事务&#xff0c;将减库存、下单这两个步骤&#xff0c;放到一个事务当中即可解决秒杀问题、防止超卖。 但是&#xff01;&#xff01;&#xff01;乐观锁&#xff0c;会带来" …...

智能画笔:如何利用AI绘画API打造独特的创作风格

在当今数字化时代&#xff0c;人工智能的迅猛发展正深刻地影响着各个领域&#xff0c;艺术创作也不例外。AI绘画 API 作为一种创新的工具&#xff0c;为艺术家提供了独特的机会&#xff0c;使他们能够在创作过程中借助人工智能技术&#xff0c;打造出独具个性的创作风格。本文将…...

ElasticSearchConfig

1. 添加配置 <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId></dependency>2. es 配置信息 import org.apache.http.HttpHost; import org.apache.http.auth.Au…...

解决vant组件 van-dialog造成的页面闪动问题

解决方案&#xff1a;该问题是因为van-dialog默认是scale&#xff0c;将这个属性改为fade即可...

SpringBoot内嵌Tomcat连接池分析

文章目录 1 Tomcat连接池1.1 简介1.2 架构图1.2.1 JDK线程池架构图1.2.2 Tomcat线程架构 1.3 核心参数1.3.1 AcceptCount1.3.2 MaxConnections1.3.3 MinSpareThread/MaxThread1.3.4 MaxKeepAliveRequests1.3.5 ConnectionTimeout1.3.6 KeepAliveTimeout 1.4 核心内部线程1.4.1 …...

分布式协调服务中的几个常见算法

分布式协调服务中的几个常见算法包括: 1. 选主算法 用于从多个节点中选举出一个节点作为主节点或者领导者,常见的算法有Bully算法、Ring算法等。 2. 原子广播算法 用于向分布式系统中的所有节点广播消息,保证所有节点都可以收到消息,典型的两阶段提交协议实现了原子广播。…...

易服客工作室:Houzez主题 - 超级房地产WordPress主题/网站

Houzez主题是全球流行的房地产经纪人和公司的WordPress主题。 Houzez Theme是专业设计师创造一流设计的超级灵活起点。它具有您的客户&#xff08;房地产经纪人或公司&#xff09;甚至可能做梦也想不到的功能。 网址&#xff1a;Houzez主题 - 超级房地产WordPress主题/网站 - …...

mysql通过binlog日志恢复误删数据

1、先查看binlog功能是否开启 show variables like %log_bin%;log_bin为ON说明可以使用binlog恢复&#xff0c;如果为OFF说明没有开启binlog。 2、删除部分数据做测试 3、查找binlog文件位置 show variables like %datadir%;cd /var/lib/mysqlls -l删除数据时间是在文件154与…...

Istio入门体验系列——基于Istio的灰度发布实践

导言&#xff1a;灰度发布是指在项目迭代的过程中用平滑过渡的方式进行发布。灰度发布可以保证整体系统的稳定性&#xff0c;在初始发布的时候就可以发现、调整问题&#xff0c;以保证其影响度。作为Istio体验系列的第一站&#xff0c;本文基于Istio的流量治理机制&#xff0c;…...

CSS行内,内部,外部以及优先级

1.内联样式表&#xff1a; 将样式编写到style标签里 <style>.context {color: red;} </style> 2. 行内样式&#xff1a; 在 HTML 标签中使用 style 属性设置 CSS 样式 <div style"font-size: 18px;">行内样式</div> 3.外联样式&#xff1…...

LCA——最近公共祖先

LCA问题是指在一棵树中找到两个节点的最近公共祖先。最近公共祖先是指两个节点在树中的最近的共同祖先节点。例如&#xff0c;在下面这棵树中&#xff0c;节点 6 6 6和节点7的最近公共祖先是节点 3 3 3。 1/ \2 3/ \ / \4 5 6 7解决LCA问题的方法有很多种&#xff…...

游戏开发与硬件结合,开启全新游戏体验!

游戏与硬件的结合可以通过多种方式实现&#xff0c;从改善游戏体验到创造全新的游戏玩法。以下是一些常见的游戏与硬件结合的方式&#xff1a; 虚拟现实&#xff08;VR&#xff09;和增强现实&#xff08;AR&#xff09;技术&#xff1a;VR和AR技术使玩家能够沉浸式地体验游戏…...

测试框架pytest教程(4)运行测试

运行测试文件 $ pytest -q test_example.py 会运行该文件内test_开头的测试方法 该-q/--quiet标志使输出保持简短 测试类 pytest的测试用例可以不写在类中&#xff0c;但如果写在类中&#xff0c;类名需要是Test开头&#xff0c;非Test开头的类下的test_方法不会被搜集为用…...

Linux 上 离线部署GeoScene Server Py3 运行时环境

默认安装ArcGIS Pro的时候&#xff0c;会自动部署上Python3环境&#xff0c;所以在windows上不需要考虑这个问题&#xff0c;但是linux默认并不部署Py3&#xff0c;因此需要单独部署&#xff0c;具体部署可以参考Linux 上 ArcGIS Server 的 Python 3 运行时—ArcGIS Server | A…...

Python+request+unittest实现接口测试框架集成实例

这篇文章主要介绍了Pythonrequestunittest实现接口测试框架集成实例&#xff0c;小编觉得挺不错的&#xff0c;现在分享给大家&#xff0c;也给大家做个参考。一起跟随小编过来看看吧 1、为什么要写代码实现接口自动化 大家知道很多接口测试工具可以实现对接口的测试&#xf…...

django/flask+python+vue汽车租赁管理系统_1ma2x

开发语言&#xff1a;Python 框架&#xff1a;django/flask Python版本&#xff1a;python3.7.7 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;PyCharm . 课题主要分为三大模块&#xff1a;即管理员模块、用户模块和普通管理员模块&#xff0…...