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

多线程——01

1. 进程/任务

process/task

进程是操作系统对一个正在运行的程序的一种抽象,换言之,可以把进程看做程序的一次运行过程

每个进程想要执行,都需要消耗一定的系统资源(硬件资源)

1)进程在系统中的作用

a.描述——使用类/对象(PCB结构),把被管理的一个对象的各个属性都表示出来

b.组织——使用数据结构(双向链表...),把表示出来的对象串起来(CARD)

2)进程控制块——PCB

系统中专门描述进程属性的结构体(属于操作系统,c/c++编写)

一个进程可以使用一个或多个PCB表示

系统中会使用类似双向链表的数据结构组织多个PCB

创建新的进程——创建PCB,并且把PCB插入到链表中

销毁进程——把PCB从链表上删除并释放空间

展示进程列表——遍历链表的每个节点

 3)PCB的内容

PCB是相当庞大的结构体    Linux中用 task_struct 表示

PCB的内容:

a. Pid ——进程号(进程标识符)

每个进程都有一个Pi的。同一时刻 不同的进程之间的Pid的不同

b. 内存指针 ——一组属性

每个进程在运行时,都会分配一定的内存空间

(具体储存在哪里,分配的内存空间中的哪些部分以及作用)——一组指针

进程的内存空间,有专门的区域存储要执行的指令,以及指令以来的数据,存储一些运行时产生的临时数据

c. 文件描述符 ——类似顺序表的数据结构     

关联哪些文件,操作哪些文件

一个进程若涉及硬件操作,需要按照文件的方式进行操作

d. 进程状态 

就绪状态——进程正在CPU上执行,时刻准备好去CPU上执行

阻塞状态——某个进程的执行条件不具备,导致进程暂时无法参与CPU的调度执行

e.优先级

操作系统在调度多个进程时,有些进程会给更高的优先级,优先调度

f.上下文

进程从CPU离开之前,把当前CPU中各种寄存器的状态,记录到内存中,下次进程回到CPU上执行时,可以把保存的值恢复,进程就会沿着上次执行到的位置继续往后执行

i.记账信息

使用CPU的大小,占内存的大小。会记录当前进程持有的CPU情况

可以作为操作系统调度进程的依据

1. 内存指针——进程持有的内存资源

2. 文件描述符——进程持有的硬件资源

3. 状态,优先级,上下文,记账信息——用来完成“进程调度”(与进程持有的内存资源有关)

4. 进程太多,CPU核心太少,就需要让这些进程轮番在CPU上执行,只要轮转的速度够快,宏观上,这些进程就是在“同时”执行——并发

一个进程想要执行,需要CPU执行指令

一个CPU核心,同一时刻只能执行一个进程的指令              CPU 内核是CPU中间的核心芯片

此时就需要  1)分时复用   2)并发  来实现

如果两个进程同时在两个CPU上,微观上是“同时执行”——并行

一个CPU核心通过快速轮转的方式调度的方式,执行多个进程,宏观上是“同时执行”,微观上有先后——并发

4)寄存器

CPU中有些寄存器属于没有特定含义,只是用来保存运算的中间结果,还有些寄存器有特定的含义和作用

a. 保存当前执行到那个指令(程序计数器)

是一个2字节/4字节/8字节整数——程序下一条要执行的指令所在的位置

.exe里面包含 指令 和 数据

把exe运行起来,操作系统就会把指令和数据加载到内存中(内存地址)

CPU就会从内存中取指令,再执行指令

初始情况下,程序计数器指向进程指令的入口

每取完一条指令,程序计数器的值会自动更新默认情况下直接指向下一条(顺序执行)

若遇到跳转类指令(jmp,jcmp,call...)就会被设置成跳转到的地址

b.维护栈相关的寄存器

通过一组(一般是两个)维护当前程序的“调用栈”

栈,也是一块内存,这个内存里保存了这个程序方法调用过程中,一系列的关系(也包含成员变量和方法参数)

ebp 始终指向栈底                   esp始终指向栈顶

修改esp的值就可以实现“入栈”“出栈”    ——push指令

c.其他的通用寄存器,一般用来存储计算的中间结果

可以把寄存器中的值备份给上下文

一个CPU中的寄存器没多少(不同CPU不一样)

5)虚拟地址空间

操作系统引入“虚拟地址空间”概念。

不是直接分配物理内存,而是分配虚拟内存——对内存的一层抽象

A看到的内存是抽象后的虚拟内存

A操作内存中的某个数据,就需要把操作的虚拟地址告诉系统

系统把虚拟地址翻译成物理地址(有一个类似于hash表这样的映射结构,称为页表),再操作物理地址

操作系统就可以进行检查——看当前这个虚拟地址能否顺利完成翻译

如果给定的虚拟地址是非法的,是一个越界的访问,系统就能及时发现,并且对当前进程进行处理,就不会波及到其他的进程了 

6)进程间的通讯方式

a.文件

b.网络(socket)

2. 线程

1)线程定义

线程 Thread 轻量级进程,java不鼓励使用多进程,而是使用多线程

a. 引入多个进程,是为了实现并发编程(基于多核CPU)

进程太重量,效率不高——创建/销毁/调度一个进程,消耗的时间较多

b. 申请资源——操作系统内部有一定的数据结构把空闲的内存管理好,申请内存时,系统会找到一块大小合适的空闲内存,返回给对应的进程

线程不能独立存在,依赖于进程

一个进程可能包含一个或多个线程

一个进程最开始的时候至少有一个线程(主线程,相当于与进程同时创建),这个线程负责完成执行代码的工作

根据需要,可以创建更多线程——并发编程

每个线程可以独立执行一些代码,每个线程也有状态,优先级...(pid相同,内存指针和文件描述符是公用的)——PCB

一个进程可能有一个或多个PCB

2)线程的特点

a. 每个线程可以独立地在CPU上执行

b. 同一个进程的多个线程之间,共用同一块内存空间和文件资源(硬盘)

创建线程不需要重复申请资源,直接复用之前已经分配给进程的资源

c. 当线程数目多了,可能会产生冲突(线程不安全)——同时访问同一个对象

当线程出现异常,若无妥善处理(catch...),容易使进程崩溃

一个系统中,可以有很对进程,每个进程都有自己的资源

一个进程中,可以有很多线程,每个线程都能独立调度,共享内存和硬盘资源

3)线程和进程的区别

1. 进程包含线程,一个进程可以由一个或多个线程

2. 都是用来实现并发编程,线程比进程更轻量,高效

3. 同一进程的线程之间,共用一份资源(内存+硬盘),省去了申请资源的开销

4. 进程和进程之间具有独立性;同一进程的线程之间可能会相互印象

5. 进程是资源申请的基本单位;线程是调度执行的基本单位

进程中包含线程 ——> 一个进程有多个PCB表示 ——> 每个PCB用来表示一个进程 ——> 每个线程有自己的状态,上下文,优先级,记账信息 ——> 每个线程都就可以独立地在CPU上调度执行 ——> 这些PCB共用了同样的内存指针和文件描述符 ——> 创建线程(PCB)不需要重新申请空间 ——> 创建/销毁的效率更高了

4)) Java 的线程 和 操作系统线程 的关系

线程是操作系统中的概念. 操作系统内核实现了线程这样的机制, 并且对用户层提供了一些 API 供用户使用(例如 Linux 的 pthread 库)

 Java 标准库中 Thread 类可以视为是对操作系统提供的 API 进行了进一步的抽象和封装.

相关文章:

多线程——01

1. 进程/任务 process/task 进程是操作系统对一个正在运行的程序的一种抽象,换言之,可以把进程看做程序的一次运行过程 每个进程想要执行,都需要消耗一定的系统资源(硬件资源) 1)进程在系统中的作用 a…...

Makefile中-D选项定义预编译处理宏

1.简单示例假设我们有一个简单的 C 程序main.c,内容如下: #include <stdio.h> #ifdef DEBUGvoid print_debug_info() {printf("This is debug information.\n");} #elsevoid print_debug_info() {} #endif int main() {print_debug_info();printf("Prog…...

NAPI杂记

NAPI和tasklet区别&#xff1a;NAPI是利用的软中断NET_RX_SOFTIRQ实现&#xff0c; tasklet是利用TASKLET_SOFTIRQ实现 另外文章说NAPI主要是采用轮询&#xff0c;可以减少中断触发次数。do_softirq里面是开中断执行的啊&#xff1f; 中断处理函数关闭中断开始处理。如果此时…...

006 MATLAB编程基础

01 M文件 MATLAB输入命令有两种方法&#xff1a; 一是在MATLAB主窗口逐行输入命令&#xff0c;每个命令之间用分号或逗号分隔&#xff0c;每行可包含多个命令。 二是将命令组织成一个命令语句文集&#xff0c;使用扩展名“.m”&#xff0c;称为M文件。它由一系列的命令和语句…...

使用Alpine镜像作为基础镜像的Dockerfile配置

配置阿里 apk源&#xff1a; /etc/apk/repositories&#xff1a; https://mirrors.aliyun.com/alpine/v3.13/main alpine-v3.13-community安装包下载_开源镜像站-阿里云 或者使用命令 sed -i sdl-cdn.alpinelinux.orgmirrors.aliyun.comg /etc/apk/repositories dockerfil…...

RAG (Retrieval Augmented Generation) 检索增强和生成

1 RAG技术简介 1.1 RAG技术概述 RAG&#xff08;Retrieval Augmented Generation&#xff09; 是一种结合了检索&#xff08;Retrieval&#xff09;和生成&#xff08;Generation&#xff09;的技术&#xff0c;旨在通过利用外部知识库来增强大型语言模型&#xff08;LLMs&am…...

Figma入门-约束与对齐

Figma入门-约束与对齐 前言 在之前的工作中&#xff0c;大家的原型图都是使用 Axure 制作的&#xff0c;印象中 Figma 一直是个专业设计软件。 最近&#xff0c;很多产品朋友告诉我&#xff0c;很多原型图都开始用Figma制作了&#xff0c;并且很多组件都是内置的&#xff0c…...

039集——渐变色之:CAD中画彩虹()(CAD—C#二次开发入门)

&#xff08;来左边儿 跟我一起画个龙&#xff0c;在你右边儿 画一道彩虹 ~~~~~~~~~~~ &#xff09; 效果如下&#xff1a; namespace AcTools {public class Class1{public Wform.Timer timer;//定时器需建在类下面public static DateTime startTime;[CommandM…...

MTK主板_小型联发科安卓主板_行业智能终端主板基于联发科方案

MTK安卓主板是一款小巧而高效的科技产品&#xff0c;其尺寸仅为43.4mm x 57.6mm。采用了先进的联发科12nm制程工艺&#xff0c;这款主板搭载四核或八核64位A53架构的CPU&#xff0c;主频高达2.0GHz&#xff0c;不但保证了出色的计算能力&#xff0c;还实现了超低功耗的特点。系…...

Arrays.copyOfRange(),System.arraycopy() 数组复制,数组扩容

Arrays.copyOfRange() 当需要将数组中的 长度扩容时, 数组复制 使用 需要用到Arrays 类提供的的 参数解析 * param original the array from which a range is to be copied * param from the initial index of the range to be copied, inclusive * param to the final ind…...

Docker for Everyone Plus——No Enough Privilege

直接告诉我们flag在/flag中&#xff0c;访问第一小题&#xff1a; sudo -l查看允许提权执行的命令&#xff1a; 发现有image load命令 题目指明了有rz命令&#xff0c;可以用ZMODEM接收文件&#xff0c;看到一些write up说可以用XShell、MobaXterm、Tabby Terminal等软件连接上…...

ElasticSearch学习笔记把:Springboot整合ES(二)

一、前言 上一篇文章中我们学习了ES中的Term级别的查询&#xff0c;包括 term、terms、terms_set、rang等&#xff0c;今天我们使用Java代码实现一遍上述的查询。 二、项目依赖 POM <?xml version"1.0" encoding"UTF-8"?> <project xmlns&q…...

Linux系统之iotop命令的基本使用

Linux系统之iotop命令的基本使用 一、iotop命令介绍二、iotop命令的使用帮助2.1 安装iotop2.2 iotop命令help帮助信息2.3 iotop命令选项解释 三、 iotop命令的基本使用四、iotop使用注意事项 一、iotop命令介绍 iotop 是一个类似于 top 的命令行工具&#xff0c;但它专注于显示…...

根据合约地址判断合约协议的方法

判断合约协议之前&#xff0c;需要了解一下什么是ERC165协议&#xff1a; ERC165 是以太坊中用于标准化接口检测的协议&#xff0c;由 Fabian Vogelsteller 在 2018 年创建 &#xff0c;其核心内容主要包括以下方面&#xff1a; 接口定义 单一函数接口&#xff1a;ERC165 协议…...

什么是sfp,onu,​为什么PON(​俗称“光猫”​)模块使用SC光纤接口

在现代网络设备中&#xff0c;我们经常会看到SFP或SFP接口的身影&#xff0c;这些接口有时被简称为光口&#xff0c;但这个称呼并不严谨。有些厂商则称之为多功能口或多用途口&#xff0c;然而这对于不了解的人来说可能还是一头雾水。SFP&#xff0c;即Small Form-Factor Plugg…...

链表?->?(以尾插法说明,附头插法)

这篇文章做一些关于初学链表的一些问题的解答。 我知道有些朋友只是需要一份完整的关于链表的代码&#xff0c;我会附在后面&#xff0c;大家直接划到最后就好。 一、创建链表 (1 相信所有搜索过链表创建的朋友都看过这样一行&#xff1a; struct Line* head (struct Line…...

11.29周五F34-Day10打卡

文章目录 1. 问问他能不能来。解析答案:【解析答案分析】【对比分析】【拓展内容】2. 问题是他能不能做。解析答案:【解析答案分析】3. 问题是我们能否联系得上她。(什么关系?动作 or 描述?)解析答案:【解析答案分析】【对比分析】4. 我们在讨论是否要开一个会。解析答案:…...

【项目日记】仿mudou的高并发服务器 --- 实现HTTP服务器

对于生命&#xff0c;你不妨大胆一点&#xff0c; 因为我们始终要失去它。 --- 尼采 --- ✨✨✨项目地址在这里 ✨✨✨ ✨✨✨https://gitee.com/penggli_2_0/TcpServer✨✨✨ 仿mudou的高并发服务器 1 前言2 Util工具类3 HTTP协议3.1 HTTP请求3.2 HTTP应答 4 上下文解析模块…...

【SpringBoot问题】IDEA中用Service窗口展示所有服务及端口的办法

1、调出Service窗口 打开View→Tool Windows→Service&#xff0c;即可显示。 2、正常情况应该已经出现SpringBoot&#xff0c;如下图请继续第三步 3、配置Service窗口的项目启动类型。微服务一般是Springboot类型。所以这里需要选择一下。 点击最后一个号&#xff0c;点击Ru…...

Ubuntu20.04运行LARVIO

文章目录 1.运行 Toyish 示例程序2.运行 ROS Nodelet参考 1.运行 Toyish 示例程序 LARVIO 提供了一个简化的toyish示例程序&#xff0c;适合快速验证和测试。 编译项目 进入 build 文件夹并通过 CMake 编译项目&#xff1a; mkdir build cd build cmake -D CMAKE_BUILD_TYPER…...

数字化转型背景下,高职院校计算机网络应用的革新策略

在当今信息化时代&#xff0c;计算机网络已经成为高职院校教育不可或缺的一部分&#xff0c;它不仅极大地丰富了教育资源&#xff0c;提高了交流的便捷性&#xff0c;还催生了多样化的教学模式。对于高职院校来说&#xff0c;加强计算机网络应用的建设不仅是顺应时代潮流的必然…...

mysql 里面的主表和子表是什么?如何创建主表和子表的关系

在MySQL数据库中&#xff0c;主表和子表的概念是基于表间关系的。它们通常通过外键约束来建立联系&#xff0c;这种关系有助于维护数据的完整性和一致性。以下是对MySQL中主表和子表的详细解释&#xff1a; 主表&#xff08;父表&#xff09; 定义&#xff1a;主表&#xff0c…...

工程企业的成本管理系统软件应该有哪些特点?

工程企业的成本管理系统软件需要兼顾工程项目的复杂性和动态性&#xff0c;其功能特点应服务于成本核算、监控、优化与分析全生命周期管理&#xff0c;以下是关键特点&#xff1a; 一、核心功能特点 1. 全生命周期成本管理 覆盖范围&#xff1a; 从项目立项、投标、预算编制&…...

【前端开发】实战:课表安排(HTML + JavaScript + Vue3 + Vant)

后端开发 主要定义了三个核心部分&#xff1a;每周周期&#xff08;WeekDays&#xff09;、每天节次&#xff08;TimeLessons&#xff09; 和 每天节次详情&#xff08;Details&#xff09; 每周周期&#xff08;WeekDays&#xff09; 存储了每周的七天&#xff08;通常是从周一…...

nodejs建立TCP服务器端和TCP客户端之间的连接

TCP服务器端&#xff0c;看名字也知道是建立在服务器上面的 //获取模块 const net require(net); //创建server服务器 const servernet.createServer(); //与客户端建立连接 server.on(connection,function(socket){console.log(客户端与服务器连接已经建立);//socket是客户端…...

Pytorch使用手册-What is torch.nn really?(专题九)

我们建议将本教程作为 notebook 而不是脚本运行。要下载 notebook(.ipynb)文件,请点击页面顶部的链接。 PyTorch 提供了精心设计的模块和类,如 torch.nn、torch.optim、Dataset 和 DataLoader,帮助你创建和训练神经网络。为了充分利用这些工具的强大功能并根据你的问题进…...

ADAM优化算法与学习率调度器:深度学习中的关键工具

深度学习模型的训练效果离不开优化算法和学习率的选择。ADAM&#xff08;Adaptive Moment Estimation&#xff09;作为深度学习领域中广泛应用的优化算法之一&#xff0c;以其高效性和鲁棒性成为许多任务的默认选择。而学习率调度器则是优化算法的“助推器”&#xff0c;帮助训…...

黑马2024AI+JavaWeb开发入门Day03-Maven-单元测试飞书作业

视频地址&#xff1a;哔哩哔哩 讲义作业飞书地址&#xff1a;飞书 作业比较简单&#xff0c;随便写了写 package org.example;import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.ju…...

TouchGFX设计模式代码实例说明

一)Model - View - Presenter (MVP) 模式在 TouchGFX 中的应用 1)Model&#xff08;模型&#xff09;&#xff1a; 模型代表应用程序的数据和业务逻辑。例如&#xff0c;在一个简单的计数器应用中&#xff0c;模型可以是一个包含计数器当前值的类。 class CounterModel { pri…...

Docker扩容操作(docker总是空间不足)

Docker扩容操作(docker总是空间不足) 1、df二连&#xff0c;一共也就70g&#xff0c;总是占满93%以上。所以需要移动到其他目录上 查看docker镜像和容器存储目录的空间大小 du -sh /var/lib/docker/2、停止docker服务 systemctl stop docker3、首先创建目录并迁移 # 首先创…...

ELK Fleet JAVA LOG收集与展示教程

目录 elastic-fleet架构 Elastic Agent的优势 Fleet JAVA日志收集流程 1.注册Fleet Sever 2.创建JAVA代理收集策略Agent Policy 3.添加集成 integration 4.调整Java log输出格式 5.添加Elastic Agent 6.添加Ingest 7.创建数据视图 8.其他Policy nginx-policy syst…...

【Python网络爬虫笔记】2-HTTP协议中网络爬虫需要的请求头和响应头内容

1 HTTP 协议整理 HTTP&#xff08;Hyper Text Transfer Protocol&#xff09;即超文本传输协议&#xff0c;是用于从万维网&#xff08;WWW&#xff09;服务器传输超文本到本地浏览器的传送协议&#xff0c;直白点儿&#xff0c;就是浏览器和服务器之间的数据交互就是通过 HTT…...

TiDB 调度概述

PD 是 TiDB 集群的管理模块&#xff0c;同时也负责集群数据的实时调度。本文档介绍一下 PD 的设计思想和关键概念。 场景描述 TiKV 集群是 TiDB 数据库的分布式 KV 存储引擎&#xff0c;数据以 Region 为单位进行复制和管理&#xff0c;每个 Region 会有多个 Replica&#xf…...

MySQL的Json类型数据操作方法

前言 MySQL在5.7增加了json类型数据&#xff0c;项目中最近有在使用。直接使用JSONObject或者JSONArray类型的时候会报以下的异常。发现需要将Java实体字段设置为String类型&#xff0c;然后需要的时候自己转换为JSONObject或者JSONArray。使用很不方便&#xff0c;经研究发现…...

论文笔记(五十九)A survey of robot manipulation in contact

A survey of robot manipulation in contact 文章概括摘要1. 引言解释柔顺性控制的概念&#xff1a;应用实例&#xff1a; 2. 需要接触操控的任务2.1 环境塑造2.2 工件对齐2.3 关节运动2.4 双臂接触操控 3. 接触操控中的控制3.1 力控制3.2 阻抗控制3.3 顺应控制 4. 接触操控中的…...

基础原型链污染

<aside> &#x1f4a1; 引用类型皆为对象 </aside> 原型和原型链都是来源于对象而服务于对象的概念&#xff0c;所以我们要先明确一点&#xff1a; JavaScript中一切引用类型都是对象&#xff0c;对象就是属性的集合。 Array类型、Function类型、Object类型、…...

nginx 升级http 到 http2

同步发布于我的网站 &#x1f680; 背景介绍准备工作配置过程遇到的问题及解决方法验证升级总结参考资料 背景介绍 HTTP/2 是 HTTP 协议的最新版本&#xff0c;相比 HTTP/1.1&#xff0c;它带来了多项重要的改进&#xff0c;包括多路复用、头部压缩和服务端推送。这些特性可…...

XPath表达式详解及其在Web开发中的应用

XPath&#xff08;XML Path Language&#xff09;是一种强大的查询语言&#xff0c;用于在XML文档中选择节点。由于HTML可以被视为一种特殊的XML&#xff0c;因此XPath同样适用于HTML文档。XPath允许开发者通过元素的层级结构和属性来选择节点或节点集合&#xff0c;这使得它成…...

云服务器进行安全防护的必要性

在当今这个数字化时代&#xff0c;云计算已成为企业运营不可或缺的一部分&#xff0c;而云服务器作为云计算的核心基础设施&#xff0c;承载着数据存储、应用部署、业务运行等多重关键任务。随着企业数字化转型的深入&#xff0c;云服务器上的数据量激增&#xff0c;业务逻辑日…...

win10系统安装docker-desktop

1、开启Hyper-v ———————————————— Hyper-V 是微软提供的一种虚拟化技术&#xff0c;它允许你在同一台物理计算机上运行多个独立的操作系统实例。这种技术主要用于开发、测试、以及服务器虚拟化等领域。 —————————————————————— &#…...

video.js 禁用单击暂停

video.js 默认效果是单击播放区域暂停/播放 需求&#xff1a;要实现单击播放区禁止暂停/播放功能 有其他的点击效果需要实现 会导致俩功能有冲突 作者给出答案:如下 .vjs-tech {pointer-events: none; } 确实管用,想了很多阻止的办法,都没这个来的快...

【二维动态规划:交错字符串】

介绍 编程语言&#xff1a;Java 本篇介绍一道比较经典的二维动态规划题。 交错字符串 主要说明几点&#xff1a; 为什么双指针解不了&#xff1f;为什么是二维动态规划&#xff1f;根据题意分析处转移方程。严格位置依赖和空间压缩优化。 题目介绍 题意有点抽象&#xff0c…...

如何在CentOS 7上安全地设置Apache网站目录权限

一、概述 在CentOS 7上运行Apache Web服务器时&#xff0c;正确设置文件和目录的权限对于确保网站的安全性和正常运行至关重要。本文将介绍如何为Apache网站目录&#xff08;例如/var/www/html/&#xff09;设置合适的权限&#xff0c;以平衡安全性和功能性需求。 二、所有权 …...

Makefile 入门指南:构建自动化编译流程

个人主页&#xff1a;chian-ocean 文章专栏 前言 make 和 Makefile 是编译和构建软件项目时非常常用的工具和文件&#xff0c;它们通常配合使用来自动化项目的编译过程。 make 定义&#xff1a;make 是一个构建自动化工具&#xff0c;用于根据项目文件的依赖关系自动完成编译…...

TransVG 代码配置及一些小细节

TransVG代码配置 File “/home/wyq/TransVG/utils/misc.py”, line 22, in <module> from torchvision.ops import _new_empty_tensor ImportError: cannot import name ‘_new_empty_tensor’ if float(torchvision.__version__[:3]) < 0.7: # torchvision.__version…...

DIY-Tomcat part 3 实现对动态资源的请求

实现ServletRequest package connector;import javax.servlet.RequestDispatcher; import javax.servlet.ServletInputStream; import javax.servlet.ServletRequest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i…...

在鲲鹏麒麟服务器上部署MySQL主从集群

因项目需求需要部署主从MySQL集群&#xff0c;继续采用上次的部署的MySQL镜像arm64v8/mysql:latest&#xff0c;版本信息为v8.1.0。计划部署服务器192.168.31.100和192.168.31.101 部署MySQL主节点 在192.168.31.100上先创建好/data/docker/mysql/data和/data/docker/mysql/l…...

K8S版本和istio版本的对照关系

版本对照关系 下载地址1 下载地址2...

省级新质生产力数据(蔡湘杰版本)2012-2022年

测算方式&#xff1a;参考《当代经济管理》蔡湘杰&#xff08;2024&#xff09;老师研究的做法&#xff0c;本文以劳动者、劳动对象和劳动资料为准则层&#xff0c;从新质生产力“量的积累、质的提升、新的拓展”三维目标出发&#xff0c;构建新质生产力综合评价指标体系&#…...

速盾:介绍一下高防cdn的缓存响应事什么功能?

高防CDN&#xff08;Content Delivery Network&#xff09;是一种基于分布式缓存技术的网络加速服务&#xff0c;能够提供强大的缓存响应功能。它的缓存响应功能主要包括缓存加速和智能缓存两个方面。 首先&#xff0c;高防CDN的缓存加速功能是指通过在全球范围内部署大量的缓…...