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

Java Web 之 互联网协议 100问

HTTP是什么?

HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最广泛的协议之一,用于在客户端(如浏览器)和服务器之间传输数据。它是 Web 通信的基础,支持浏览器访问网页、提交表单、下载文件等操作。

HTTP 协议属于五层模型中的哪一层?

应用层。

HTTP 的基本特点有哪些?

HTTP 的基本概念

  • 协议类型:HTTP 是一种应用层协议,基于请求-响应模型。
  • 通信方式:客户端发送请求(Request),服务器返回响应(Response)。
  • 无状态协议:HTTP 本身是无状态的,每个请求都是独立的,服务器不会保留客户端的状态信息(除非使用 Cookie 或 Session 等技术)。
  • 基于文本:HTTP 的请求和响应消息是文本格式的,易于阅读和调试。

什么是“无状态协议”?

HTTP 是无状态协议:HTTP 本身是无状态的,每个请求都是独立的,服务器不会保留客户端的状态信息(除非使用 Cookie 或 Session 等技术)。

HTTP 的工作流程是什么?

工作流程:

  1. 建立连接:客户端(如浏览器)通过 TCP/IP 协议与服务器建立连接(默认端口为 80,HTTPS 为 443)。
  2. 发送请求:客户端向服务器发送 HTTP 请求,请求中包含方法(如 GET、POST)、URL、头信息和可选的消息体。
  3. 处理请求:服务器接收请求并处理,可能会访问数据库、调用其他服务等。
  4. 返回响应:服务器向客户端返回 HTTP 响应,响应中包含状态码、头信息和消息体(如 HTML、JSON 等)。
  5. 关闭连接:在 HTTP/1.0 中,每次请求后连接会关闭;在 HTTP/1.1 及更高版本中,默认使用持久连接(Keep-Alive),可以在一次连接中发送多个请求。

HTTP 请求的组成部分有哪些?

HTTP 请求由以下部分组成:

请求行:包含请求方法、URL 和 HTTP 版本。

  • 示例:GET /index.html HTTP/1.1

请求头:包含客户端信息、请求条件等。

  • 示例:
    Host: www.example.com
    User-Agent: Mozilla/5.0
    Accept: text/html
    

请求体:可选部分,通常用于 POST 或 PUT 请求,包含提交的数据。

  • 示例:
    username=admin&password=123456
    

示例

以下是一个简单的 HTTP 请求和响应的示例:

请求:

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html

响应:

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234<html><body><h1>Hello, World!</h1></body>
</html>

常见的请求方法有哪些?

常见的请求方法:

  • GET:请求指定的资源,通常用于获取数据。(数据量一般有大小限制)
  • POST:向服务器提交数据,通常用于表单提交或上传文件。(数据量一般没有大小限制)
  • PUT:更新服务器上的资源。
  • DELETE:删除服务器上的资源。
  • HEAD:类似于 GET,但只返回响应头,不返回响应体。
  • OPTIONS:获取服务器支持的 HTTP 方法。

HTTP 响应的组成部分有哪些?

HTTP 响应由以下部分组成:

状态行:包含 HTTP 版本、状态码和状态描述。

  • 示例:HTTP/1.1 200 OK

响应头:包含服务器信息、响应条件等。

  • 示例:
    Content-Type: text/html
    Content-Length: 1234
    

响应体:包含服务器返回的数据(如 HTML、JSON 等)。

  • 示例:
    <html><body><h1>Hello, World!</h1></body>
    </html>
    

示例

以下是一个简单的 HTTP 请求和响应的示例:

请求:

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html

响应:

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234<html><body><h1>Hello, World!</h1></body>
</html>

常见的状态码都是什么含义?

  • 1xx(信息性状态码):表示请求已被接收,继续处理。
    • 示例:100 Continue
  • 2xx(成功状态码):表示请求已成功处理。
    • 示例:200 OK201 Created
  • 3xx(重定向状态码):表示需要进一步操作以完成请求。
    • 示例:301 Moved Permanently302 Found
  • 4xx(客户端错误状态码):表示客户端请求有误。
    • 示例:400 Bad Request404 Not Found
  • 5xx(服务器错误状态码):表示服务器处理请求时出错。
    • 示例:500 Internal Server Error503 Service Unavailable

HTTP 与 HTTPS 有什么区别?

  • HTTP:明文传输,数据容易被窃听或篡改。
  • HTTPS:在 HTTP 基础上增加了 SSL/TLS 加密层,确保数据传输的安全性。
    • 默认端口为 443。
    • 使用数字证书验证服务器身份。

HTTP和TCP、UDP是什么关系?

HTTP、TCP 和 UDP 是计算机网络中不同层次的协议,它们之间的关系可以通过 OSI 模型TCP/IP 模型 来理解。

HTTP、TCP 和 UDP 的层次关系

  • HTTP:属于 应用层协议,用于定义客户端和服务器之间的通信规则(如请求和响应的格式)。
  • TCPUDP:属于 传输层协议,用于在网络上可靠地或高效地传输数据。

具体关系:

  1. HTTP 依赖于 TCP
    • HTTP 是基于 TCP 协议实现的。TCP 提供可靠的、面向连接的通信服务,确保数据按顺序传输且不丢失。
    • 当客户端通过 HTTP 请求访问网页时,底层是通过 TCP 建立连接并传输数据的。
  2. HTTP 不直接使用 UDP
    • UDP 是无连接的、不可靠的传输协议,适用于对实时性要求高但允许少量数据丢失的场景(如视频流、在线游戏)。
    • HTTP 通常不直接使用 UDP,但某些基于 HTTP 的协议(如 HTTP/3)使用 UDP 作为底层传输协议。

OSI 模型有哪些层?

OSI 模型将网络通信分为 7 层:

  1. 物理层(Physical Layer)
  2. 数据链路层(Data Link Layer)
  3. 网络层(Network Layer)
  4. 传输层(Transport Layer)
  5. 会话层(Session Layer)
  6. 表示层(Presentation Layer)
  7. 应用层(Application Layer)

TCP/IP 模型有哪些层?

TCP/IP 模型将网络通信分为 4 层:

  1. 网络接口层(Network Interface Layer)
  2. 网络层(Internet Layer)
  3. 传输层(Transport Layer)
  4. 应用层(Application Layer)

TCP 和 UDP 的区别是什么?

特性TCP(传输控制协议)UDP(用户数据报协议)
连接方式面向连接(需要三次握手建立连接)无连接(直接发送数据)
可靠性可靠(确保数据不丢失、不重复、按顺序到达)不可靠(可能丢失、重复或乱序)
传输效率较低(需要维护连接状态和确认机制)较高(无需维护连接状态)
适用场景对可靠性要求高的场景(如网页浏览、文件传输)对实时性要求高的场景(如视频流、在线游戏)
头部开销较大(20 字节)较小(8 字节)

HTTP 和 TCP 的组合工作流程是什么?

一、建立 TCP 连接

  • 客户端和服务器通过三次握手建立 TCP 连接。
  • 示例:
    客户端 -> 服务器:SYN
    客户端 <- 服务器:SYN-ACK
    客户端 -> 服务器:ACK
    

二、发送 HTTP 请求

  • 客户端通过 TCP 连接发送 HTTP 请求。
  • 示例:
    GET /index.html HTTP/1.1
    Host: www.example.com
    

三、接收 HTTP 响应

  • 服务器通过 TCP 连接返回 HTTP 响应。
  • 示例:
    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 1234<html>...</html>
    

四、关闭 TCP 连接

  • 客户端和服务器通过四次挥手关闭 TCP 连接。
  • 示例:
    客户端 -> 服务器:FIN
    客户端 <- 服务器:ACK
    客户端 <- 服务器:FIN
    客户端 -> 服务器:ACK
    

OSI 模型和 TCP/IP 模型的主要区别有哪些?

主要区别:

  • 层数:OSI 有七层,TCP/IP 有四层。
  • 用途:OSI 是理论模型,TCP/IP 是实际应用模型。
  • 协议:OSI 不绑定特定协议,TCP/IP 与特定协议(如 TCP、IP)紧密相关。

总结:OSI 模型提供理论框架,TCP/IP 模型是互联网的实际基础。

TCP是什么?

TCP(传输控制协议,Transmission Control Protocol)是一种面向连接的、可靠的传输层协议,主要用于在网络上可靠地传输数据。它是 TCP/IP 协议族的核心协议之一,广泛应用于互联网通信中。

TCP 的主要特点有哪些?

  1. 面向连接

    • 在数据传输前,通信双方需要通过“三次握手”建立连接。
    • 数据传输结束后,通过“四次挥手”释放连接。
  2. 可靠性

    • 通过确认机制(ACK)、重传机制和校验和确保数据准确无误地传输。
    • 如果数据丢失或损坏,TCP 会重新发送数据。
  3. 有序性

    • 数据按发送顺序到达接收方,TCP 会对数据包进行排序。
  4. 流量控制

    • 通过滑动窗口机制,防止发送方发送数据过快导致接收方无法处理。
  5. 拥塞控制

    • 通过动态调整发送速率,避免网络拥塞。

TCP 的工作原理是什么?

TCP 的工作有三个阶段:建立连接、传输数据、释放连接:

  1. 建立连接(三次握手)
    • 客户端发送 SYN 报文给服务器,请求建立连接。
    • 服务器回复 SYN-ACK 报文,表示同意建立连接。
    • 客户端发送 ACK 报文,确认连接建立。
  2. 数据传输
    • 数据被分割成 TCP 段,每个段都有序号和确认号。
    • 接收方收到数据后发送 ACK 确认,发送方根据确认决定是否重传。
  3. 释放连接(四次挥手)
    • 客户端发送 FIN 报文,请求关闭连接。
    • 服务器回复 ACK 报文,确认关闭请求。
    • 服务器发送 FIN 报文,请求关闭连接。
    • 客户端回复 ACK 报文,确认关闭连接。

TCP 的优点有哪些?

优点

  • 可靠性高,适合对数据完整性要求高的场景。
  • 支持流量控制和拥塞控制,适应复杂网络环境。

TCP 的缺点有哪些?

缺点

  • 由于建立连接和确认机制,传输效率较低。
  • 不适合实时性要求高的应用(如视频流、在线游戏),这些场景通常使用 UDP。

UDP是什么?

UDP(用户数据报协议,User Datagram Protocol)是一种无连接的、简单的传输层协议,主要用于在网络上快速传输数据。与 TCP 不同,UDP 不提供可靠性保证,但具有低延迟和高效率的特点,适用于对实时性要求较高的应用场景。

UDP 的主要特点有哪些?

  1. 无连接

    • 通信前不需要建立连接,直接发送数据。
    • 数据传输结束后也不需要释放连接。
  2. 不可靠性

    • 不保证数据包的顺序、完整性或可靠性。
    • 如果数据包丢失或损坏,UDP 不会重传。
  3. 高效性

    • 由于没有连接建立、确认和重传机制,UDP 的开销更小,传输速度更快。
  4. 支持广播和多播

    • UDP 可以向多个接收方同时发送数据(广播和多播)。

UDP 的工作原理是什么?

  1. 发送数据

    • 应用程序将数据交给 UDP,UDP 添加头部信息后直接发送。
    • 不等待接收方的确认,也不关心数据是否到达。
  2. 接收数据

    • 接收方从网络中获取 UDP 数据包,交给应用程序处理。
    • 不保证数据包的顺序或完整性。

UDP 的优点有哪些?

优点

  • 传输效率高,延迟低。
  • 实现简单,开销小。
  • 支持广播和多播。

UDP 的缺点有哪些?

缺点

  • 不保证数据可靠性,可能丢失或乱序。
  • 没有流量控制和拥塞控制,可能导致网络拥塞。

UDP 与 TCP 的区别有哪些?

特性UDPTCP
连接方式无连接面向连接
可靠性不可靠可靠
数据传输效率较低
数据顺序不保证保证
头部开销小(8 字节)大(至少 20 字节)
适用场景实时应用(视频、游戏、语音)可靠传输(网页、文件、邮件)

相关文章:

Java Web 之 互联网协议 100问

HTTP是什么&#xff1f; HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;是互联网上应用最广泛的协议之一&#xff0c;用于在客户端&#xff08;如浏览器&#xff09;和服务器之间传输数据。它是 Web 通信的基础&#xff0c;支持浏览器访…...

【单倍型理解及计算系列之二】单倍型基本概念以及其与遗传定位中Bin的定义区别

问题&#xff1a;如何理解单倍型&#xff0c;与遗传定位中Bin的定义区别&#xff1a; 简而言之&#xff1a;就是单倍型是基于LD&#xff0c;通常为连锁不平衡&#xff08;LD&#xff09;较高的区域形成。但bin是人为划分的&#xff0c;如以固定SNP数量/固定长度设置&#xff0…...

ArcPy Mapping 模块基础

在地理信息系统&#xff08;GIS&#xff09;的应用中&#xff0c;地图制作是一个非常重要的环节。无论是生成用于展示的静态地图&#xff0c;还是动态更新的地图服务&#xff0c;都需要高效且灵活的工具来实现。ArcPy 提供了强大的mapping模块&#xff0c;可以帮助用户自动化地…...

AcWing 11:背包问题求方案数 ← 0-1背包

【题目来源】 https://www.acwing.com/problem/content/11/ 【题目描述】 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi&#xff0c;价值是 wi。 求解将哪些物品装入背包&#xff0c;可使这些物品的总体积不超过背包容量&#xff0c;且总…...

Redis增删改查

### 进入redis控制台 redis-cli --raw #加上raw,防止中文乱码### 增 127.0.0.1:6379> LPUSH list0 "hello" #增加一个list 1 127.0.0.1:6379> LRANGE list0 0 -1 #查看list hello### 删 127.0.0.1:6379> DEL list0 #删除list 1 127.0.0.1:6379> LRANG…...

多道程序和多任务操作系统区别

多道程序 vs. 多道任务&#xff1a;对比分析 ✅ 共同点 方面共同特征核心机制都依赖于进程/任务切换执行需求实现多个程序或任务"并发"执行系统支持都需要操作系统的支持&#xff08;如调度算法、内存管理&#xff09;本质目标提高资源利用率&#xff08;CPU不空转…...

【MySQL】MySQL建立索引不知道注意什么?

基本原则&#xff1a; 1.选择性原则&#xff1a; 选择高选择性的列建立索引(该列有大量不同的值) 2.适度原则&#xff1a;不是越多越好&#xff0c;每个索引都会增加写入开销 列选择注意事项&#xff1a; 1.常用查询条件列&#xff1a;WHERE字句中频繁使用的列 2.连接操作列…...

区块链木材业务服务平台:商贸物流新变革

区块链木材业务服务平台&#xff1a;商贸物流新变革 在全球商贸物流行业不断发展的当下&#xff0c;木材贸易作为其中重要的一环&#xff0c;面临着诸多挑战。区块链木材业务服务平台的出现&#xff0c;为木材商贸物流领域带来了全新的解决方案&#xff0c;正逐步引领行业走向…...

【AI提示词】经济学家

提示说明 经济学家致力于提供深入的经济分析和预测&#xff0c;帮助用户理解经济趋势、政策影响以及市场动态。他们通过专业的经济模型和数据分析&#xff0c;为用户在投资、决策等方面提供指导。 提示词 # 角色 经济学家## 注意 1. 经济学家专家需要具备深入分析经济现象的…...

C++用于保留浮点数的两位小数,使用宏定义方法(可兼容低版本Visual Studio)

文章目录 一、 描述二、 样例二、 结果输出 一、 描述 这个宏定义&#xff08;可放入.h头文件里&#xff09;使用基本的数学运算&#xff0c;几乎兼容所有版本的VS&#xff0c;以下可对正数做四舍五入&#xff1a; #define ROUND_TO_TWO(x) ( (floor((x) * 100 0.5) / 100) …...

kimi+deepseek制作PPT

文章目录 KIMI简介一、基本信息二、核心特点三、服务理念 Deepseek简介PPT关键词提示 KIMI简介 KIMI官网&#xff1a;Kimi - 会推理解析&#xff0c;能深度思考的AI助手 一、基本信息 名称 &#xff1a;KIMI开发团队 &#xff1a;月之暗面科技有限公司上线时间 &#xff1a;…...

Linux-进度条小程序

1. 回车和换行的差异 在输出文本时&#xff0c;回车和换行符的作用是非常不同的。了解它们的行为有助于我们控制输出的方式。 回车&#xff08;\r&#xff09;&#xff1a;回车符将光标移到当前行的开头&#xff0c;但并不会自动换行。它的作用是覆盖当前行的内容。 换行&…...

Day2—3:前端项目uniapp壁纸实战

接下来我们做一个专题精选 <view class"theme"><common-title><template #name>专题精选</template><template #custom><navigator url"" class"more">More</navigator></template></common…...

什么是超类实体和派生属性

在数据库设计&#xff08;尤其是实体-关系模型&#xff08;ER模型&#xff09;&#xff09;和面向对象建模中&#xff0c;超类实体和派生属性是两个重要的概念&#xff0c;分别用于描述实体间的继承关系和属性的动态计算特性。以下是它们的详细解释和对比&#xff1a; 一、超类…...

性能比拼: Elixir vs Go(第二轮)

本内容是对知名性能评测博主 Anton Putra Elixir vs Go (Golang) Performance Benchmark (Round 2) 内容的翻译与整理, 有适当删减, 相关指标和结论以原作为准 这是第二轮关于 Elixir 和 Go 的对比测试。我收到了一份来自 Elixir 创作者的 Pull Request &#xff0c;并且我认为…...

微信、抖音、小红书emoji符号大全

1、Emoji 日常符号 &#x1f463;&#x1f440;&#x1f441;️&#x1f444;&#x1f48b;&#x1f442;&#x1f9bb;&#x1f443;&#x1f445;&#x1f9e0;&#x1fac0;&#x1fac1;&#x1f9b7;&#x1f9b4;&#x1f4aa;&#x1f9be;&#x1f9bf;&#x1f9b5;&a…...

【大模型】 LangChain框架 -LangChain实现问答系统

LangChain 介绍与使用方法 1. 什么是 LangChain&#xff1f;2. LangChain 的主要功能3. 如何使用 LangChain&#xff1f;3.1 环境准备3.2 基本使用示例3.2.1 简单的问答系统3.2.2 结合外部工具 3.3 高级用法 4. 常见问题及解决方法4.1 安装问题4.2 运行问题4.3 性能问题 5. 实战…...

k8s安装kubeadm

使用kubeadm安装部署k8s集群 目前生产部署Kubernetes 集群主要有两种方式&#xff1a; kubeadm Kubeadm 是一个K8s 部署工具&#xff0c;提供kubeadm init 和kubeadm join&#xff0c;用于快速部署Kubernetes 集群。 官方地址&#xff1a;https://kubernetes.io/docs/refer…...

五、小白如何用Pygame制作一款跑酷类游戏(主角跳跃和滑行动作的实现)

五、小白如何用Pygame制作一款跑酷类游戏&#xff08;主角跳跃和滑行动作的实现&#xff09; 文章目录 五、小白如何用Pygame制作一款跑酷类游戏&#xff08;主角跳跃和滑行动作的实现&#xff09;前言一、添加主角的跳跃和滑行图片素材二、代码部分1.在走路状态时按下按键发生…...

LLM MCP模型上下文协议快速入门(for Java)

什么是MCP Model Control Protocol&#xff08;MCP&#xff09;是由AI研究机构Anthropic在2023年第二季度首次提出的新型协议规范&#xff0c;旨在解决大语言模型LLM应用中的上下文管理难题。作为LLM交互领域的创新标准&#xff0c;MCP协议在发布后短短一年内已进行了多次更新…...

CTF--秋名山车神

一、原网页&#xff1a; 二、步骤&#xff1a; 1.尝试用计算器计算&#xff1a; 计算器溢出&#xff0c;无法正常计算 2.使用python计算&#xff1a; 得出计算结果为&#xff1a;1864710043732437134701060769 3.多次刷新页面&#xff1a; 发现变量为value&#xff0c;要用pos…...

Windows桌面图标变白的解决方案

一、问题原因 桌面图标变白通常是由于系统图标缓存文件&#xff08;IconCache.db&#xff09;损坏或系统图表示现异常导致。图标缓存是Windows用于存储应用程序和文件夹图标图像的临时文件&#xff0c;当该文件损坏或系统未正确更新缓存时&#xff0c;图标会因无法加载原始图像…...

Linux学习——信号量

1.头文件-semaphore.h 2.信号量类型 sem_t sem; 加强版的互斥锁&#xff0c;是并行的 3.主要函数 初始化信号量 sem_init(sem_t *sem,int pshared,unsigned int value); 第一个参数 信号量类型 第二个参数 0-线程同步 1-进程同步 …...

蓝桥杯 蜗牛 动态规划

16.蜗牛 - 蓝桥云课https://www.lanqiao.cn/problems/4985/learning/?page1&first_category_id1&second_category_id3&sortdifficulty&asc1&tags%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92,%E9%80%92%E6%8E%A8,01%E8%83%8C%E5%8C%85,%E5%8C%BA%E9%97%B4DP,%E6…...

FiftyOne 管理数据

FiftyOne 管理数据 下载安装FiftyOne https://docs.voxel51.com/ 下载 coco-2017 使用 FiftyOne 查看 import fiftyone as fo import fiftyone.zoo as foz# 自定义路径 - 修改这些变量以匹配你的环境 image_path /media/wmx/ws3/AI/data/coco2017/train2017 annotations_…...

解决echarts饼图label显示不全的问题

解决办法 添加如下配置&#xff1a; labelLayout: {hideOverlap: false},...

2000-2017年各省城市天然气供气总量数据

2000-2017年各省城市天然气供气总量数据 1、时间&#xff1a;2000-2017年 2、来源&#xff1a;国家统计局、能源年鉴 3、指标&#xff1a;行政区划代码、城市、年份、城市天然气供气总量 4、范围&#xff1a;31省 5、指标说明&#xff1a;城市天然气供气总量是指在一定时间…...

Linux教程-常用命令系列二

文章目录 1. 系统管理常用命令1. useradd - 创建用户账户功能基本用法常用选项示例 2. passwd - 管理用户密码功能基本用法常用选项示例 3. kill - 终止进程功能基本用法常用信号示例 4. date - 显示和设置系统时间功能基本用法常用选项时间格式示例 5. bc - 高精度计算器功能基…...

苍穹外卖(菜品管理)

菜品管理 公共字段自动填充 实现思路 代码开发 自定义注解 AutoFill 自定义切面 AutoFillAspect 完善自定义切面 AutoFillAspect 的 autoFill 方法 在Mapper接口的方法上加入 AutoFill 注解 将业务层为公共字段赋值的代码注释掉 功能测试 新增菜品 需求分析和…...

Cril 截取字段-生成hostname

有些event 是不规则,需要用regular express 来加工一下, 下面说一下sample 数据: 2021-10-26 17:00:12 PDT sample log data from host eagle1 2021-10-26 17:00:12 PDT sample log data from host eagle2 2021-10-26 17:00:12 PDT sample log data from host eagle3 2021…...

免费将AI生成图像放大4倍的方法

有些人不需要任何高级工具和花哨的技巧;他们只需要一种简单的方法来提升图像分辨率而不损失任何质量 — 今天,我们将学习如何做到这一点。 生成AI图像最大的问题之一是什么?最终结果通常分辨率非常低。 这会导致很多不同的问题,特别是对于那些想要在内容或项目中使用这些…...

Map和Set相关练习

目录 1、只出现一次的数字 2、宝石与石头 3、坏键盘打字 4、复制带随机指针的链表 5、大量数据去重 6、大量数据重复次数 7、前K个高频单词 1、只出现一次的数字 oj&#xff1a;136. 只出现一次的数字 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 1. 使用…...

移动自动化测试-appium

app自动化介绍 工具说明 主流工具 app自动化执行原理 app类型&#xff08;技术&#xff09; 环境搭建 所需环境 JDKandroid-sdkappium模拟器 1、JDK安装 说明&#xff1a;为什么要安装JDK&#xff1f; 安卓应用或开发工具是使用JAVA语言开发&#xff0c;必须使用jdk。…...

一个项目中多个Composer的使用方法

composer是依赖管理工具。 有时我们会在一个项目中使用到多个composer&#xff0c;且每个版本不同。 前提&#xff1a;例如项目xyz根目录vendor中存在阿里云的对应代码。我现在需要再composer腾讯云短信发送的SDK。 1、随便找个位置新建文件夹&#xff0c;存储腾讯云短信发送…...

Qt项目实现对西门子PLC的读写操作(snap7)——C++

实际项目中需要用到对西门子PLC进行通讯&#xff0c;故进行记录&#xff0c;方便后续回顾复习 实现功能&#xff1a; ①PLC连接与断开 ②往PLC指定位置读写操作&#xff08;bit、real、string&#xff09; PLC中的real相当于C中的float&#xff0c;4字节&#xff0c;32bit 1&…...

Python字典深度解析:高效键值对数据管理指南

一、字典核心概念解析 1. 字典定义与特征 字典&#xff08;Dictionary&#xff09;是Python中​​基于哈希表实现​​的无序可变容器&#xff0c;通过键值对存储数据&#xff0c;具有以下核心特性&#xff1a; ​​键值对结构​​&#xff1a;{key: value}形式存储数据​​快…...

Java虚拟机面试题:垃圾收集(下)

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…...

9 C 语言变量详解:声明与定于、初始化与赋值、printf 输出与 scanf 输入、关键字、标识符命名规范

1 初识变量 1.1 变量的意义 在程序设计中&#xff0c;变量是程序中不可或缺的组成单位&#xff0c;最基本的存储单元。它如同现实生活中的容器&#xff0c;用于临时或长期保存各种类型的数据&#xff0c;为程序提供灵活的数据操作能力。 以选购手机为例&#xff0c;手机的各项…...

释放 Mac 存储空间:Ollama 模型迁移到外接 NVMe 磁盘

目录 背景一、准备工作1. 确认外接 NVMe 已挂载2. 创建模型目录 二、迁移已有模型数据&#xff08;可选&#xff09;三、配置模型目录1. 设置环境变量2. 使用软链接&#xff08;强烈推荐&#xff09; 四、测试是否成功 背景 在本地运行 Ollama 时&#xff0c;模型数据默认保存…...

spring-batch批处理框架(1)

学习链接 SpringBatch高效批处理框架详解及实战演练 spring-batch批处理框架(1) spring-batch批处理框架(2) spring batch官方文档 spring batch官方示例代码 - github 文章目录 学习链接一、课程目标课程目标课程内容前置知识适合人群 二、Spring Batch简介2.1 何为批处理…...

MCP系列:权限管理与隐私保护

前言 随着模型上下文协议(MCP)的广泛应用,安全性问题也逐步突显。在前几篇文章中,我们已经探讨了MCP的基本概念、技术架构、实践应用以及工具调用机制。本篇文章将聚焦于MCP的安全性考量,包括权限管理、隐私保护以及风险缓解策略。 对于企业和开发者而言,了解如何保障M…...

【25软考网工笔记】第二章(7)多路复用技术

目录 一、多路复用技术 1. 频分复用FDM 1&#xff09;频分复用的基本概念 2&#xff09;频分复用与相关技术 3&#xff09;注意事项与扩展 2. 时分复用 1&#xff09;同步时分复用 2&#xff09;统计时分复用 3&#xff09;同步时分复用与统计时分复用的对比 4&#…...

任意文字+即梦3.0的海报设计Prompt

即梦3.0版本发布后&#xff0c;对文字的呈现能力得到了极大的提升&#xff0c;网上也出现了各种文章教大家怎么写提示词。 但是你有没有发现一个问题&#xff0c;好的提示词是需要艺术细胞的&#xff0c;只有那些浸淫设计领域的专家总结的提示词才算上乘。 就像是给你一个主题…...

自动化测试相关协议深度剖析及A2A、MCP协议自动化测试应用展望

一、不同协议底层逻辑关联分析 1. OPENAPI协议 OPENAPI 协议核心在于定义 API 的规范结构&#xff0c;它使用 YAML 或 JSON 格式来描述 API 的端点、请求参数、响应格式等信息。其底层逻辑是构建一个清晰、标准化的 API 描述文档&#xff0c;方便不同的客户端和服务端进行对接…...

零基础上手Python数据分析 (18):Matplotlib 基础绘图 - 让数据“开口说话”

写在前面 —— 告别枯燥数字,拥抱可视化力量,掌握 Matplotlib 绘图基础 欢迎来到 “高效数据分析实战指南:Python零基础入门” 专栏! 经过前面 Pandas 模块的学习和实战演练,我们已经掌握了使用 Python 和 Pandas 进行数据处理、清洗、整合、分析的核心技能。 我们能够从…...

[特殊字符] AI 大模型的 Prompt Engineering 原理:从基础到源码实践

&#x1f31f; 引言&#xff1a;Prompt Engineering - AI 大模型的"魔法咒语" 在 AI 大模型蓬勃发展的当下&#xff0c;它们展现出令人惊叹的语言处理能力&#xff0c;从文本生成到智能问答&#xff0c;从机器翻译到代码编写&#xff0c;几乎涵盖了自然语言处理的各…...

C++ 基于多设计模式下的同步异步⽇志系统-1准备工作

一.项目介绍 项⽬介绍 本项⽬主要实现⼀个⽇志系统&#xff0c; 其主要⽀持以下功能: • ⽀持多级别⽇志消息 • ⽀持同步⽇志和异步⽇志 • ⽀持可靠写⼊⽇志到控制台、⽂件以及滚动⽂件中 • ⽀持多线程程序并发写⽇志 • ⽀持扩展不同的⽇志落地⽬标地 二.日志系统的三种实现…...

c# MES生产进度看板,报警看板 热流道行业可用实时看生产进度

MES生产进度看板&#xff0c;报警看板 热流道行业可用实时看生产进度 背景 本软件是给宁波热流道行业客户开发的生产电子看板软件系统 功能 1.录入工艺流程图&#xff08;途程图&#xff09;由多个站别组成。可以手动设置每个工艺站点完成百分比。 2.可以看生成到哪个工…...

C语言学习之预处理指令

目录 预定义符号 #define的应用 #define定义常量 #define定义宏 带有副作用的宏参数 宏替换的规则 函数和宏定义的区别 #和## #运算符 ##运算符 命名约定 #undef ​编辑 命令行定义 条件编译 头文件包含 头文件被包含的方式 1.本地头文件包含 2.库文件包含 …...

腾讯wxg企业微信 后端开发一面

UDP安全吗&#xff0c;怎么修改让其安全&#xff1f; packet header QUIC FrameHeader TCP的三个窗口 滑动 发送 拥塞&#xff0c; 怎么用UDP使用类似的功能 怎么确认消息是否收到? TCP的拥塞控制是怎么样的 HTTPS的握手流程 MySQL为什么用B树 红黑树等结构也能在叶子节点实现…...