前端-计算机网络篇
一.网络分类
1.按照网络的作用范围进行分类
(1)广域网WAN(Wide Area Network)
广域网的作用范围通常为几十到几千公里,因而有时也称为远程网(long haul network)。广域网是互联网的核心部分,其任务是长距离运送主机所发送的数据。
(2)城域网MAN(Metropolitan Area Network)
城域网的作用范围一般是一个城市,可跨越几个街区甚至整个城市,其作用距离约为5-50km.城域网可以为一个或几个单位所拥有,也可以是一种公共设施,用来将多个局域网进行互连。目前很多城域网采用的是以太网技术。
(3)局域网(Local Area Network)
局域网一般用微型计算机或工作站通过高速通信线路相连,但地理上则局限在较小的范围(如1km左右)
(4)个人区域网PAN(Perisonal Area Network)
个人局域网就是在个人工作的地方把属于个人使用的电子设备用无线技术连接起来的网络,因此也常常称为无线个人局域网WPAN(Wireless PAN),其范围很小,大约在10m左右。
2.按照网络的使用者进行分类
(1)公用网(public network)
这是指电信公司出资建造的大型网络。“公用”就是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络。
(2)专用网络(private network)
这是某个部门为满足单位的特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务。例如 军队,铁路,银行......
二.体系结构
为了使不同体系结构的计算机网络能互连,国际标准化组织ISO于1977提出了各种计算机在世界范围内互联成网的标准框架,即著名的开放系统互连基本参考模型OSI/RM(Open Systems Interconnection Reference Model),简称为OSI。
3.运输层
运输层的任务就是负责向两台主机中的进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。
运输层主要使用以下两种协议:
传输控制协议TCP(Transmisson Control Protocol)
TCP时面向连接(一对一)的运输层协议,提供可靠的数据传输服务和全双工通信其数据传输的单位是报文段
用户数据报协议UDP(User Datagram Protocol)
提供无连接的尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报
①TCP
TCP 提供面向有连接的通信传输,面向有连接是指在传送数据之前必须先建立连接,数据传送完成后要释放连接。无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。
在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。
TCP是全双工模式(互相发送信息),所以需要四次挥手关闭连接。
每一条TCP连接有两个端点.比如在电脑分别用谷歌和火狐浏览器登录B站,B站则需要把内容发给两个不同的应用进程,那么除了IP地址以外还需要端口号才能保证内容不会错发给应用进程,在访问B站的时候浏览器会自动给我添加端口号443(HTTPS),然后电脑中会给不同浏览器分配不同的端口号.这样进行连接就会像"管道"一样特定进行传输.那么IP地址加端口号称为套接字socket
TCP首部格式
在TCP首部格式需要知道几个字段
序号(seq)
占四字节.在一个TCP连接中传送的字节流中的每一个字节都按顺序编号.
确认号(ack)
占四字节 是期望对方收到下一个报文段的一个数据字节的序号.
记住:若确认号为N,则表明N-1为止的所有数据都已正确收到.
紧急URG(URGent):
当URG=1时,表示紧急指针有效.发送应用进程告诉t发送方的tcp有紧急数据要传送.于是发送方TCP就把紧急数据插入本报问段数据的最前面,而在紧急数据后面的数据仍是普通数据.
确认ACK(ACKnowledgment)
仅当ACk=1时确认号字段才有效.当为0时,确认号无效.TCP规定,在连接后所有传送的报文段都必须把ACK置为1
推送PSH(PuSH)
当发送方TCP把PSH置为1,并立即创建一个报文段发送出去.接收方TCP收到PSH=1报文段,就尽快交付接受应用进程,而不再等到整个缓存都填满了后再向上交付.
复位RST(ReSeT)
当RST=1时,表示TCP连接中出现严重差错(如主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接.将RST置为1来拒绝一个非法的报文或者拒绝打开一个连接.RST也称为重建位或重置位.
同步SYN(SYNchronization)
当SYN=1而ACK=0时,表明这是一个连接请求报文段.若对方同意建立连接,则在响应的报文段中使用SYN=1和ACK=1.因此SYN置为1就表示这是一个连接请求或者连接接受报文.
终止FIN(FINish)
当FIN=1时,表明此报文段的发送方数据已发送完毕,并要求释放运输连接.
TCP三次握手
所谓三次握手(Three-way Handshake),是指建立一个 TCP 连接时,需要客户端和服务器总共发送3个报文。
过程如下:
- 第一次握手:客户端给服务端发一个 SYN(同步,连接请求) 报文,并指明客户端的初始化序列号 ISN(c),此时客户端处于 SYN_SENT 状态
- 第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,并且开启ACK(确认),为了确认客户端的 SYN,将客户端的 ISN+1作为ACK的值,此时服务器处于 SYN_RCVD 的状态
- 第三次握手:客户端收到 SYN 报文之后,会发送一个 ACK 报文,值为服务器的ISN+1。此时客户端处于 ESTABLISHED 状态。服务器收到 ACK 报文之后,也处于 ESTABLISHED 状态,此时,双方已建立起了连接
- 第一次握手:客户端发送网络包,服务端收到了 这样服务端就能得出结论:客户端的发送能力、服务端的接收能力是正常的。
- 第二次握手:服务端发包,客户端收到了 这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。不过此时服务器并不能确认客户端的接收能力是否正常
- 第三次握手:客户端发包,服务端收到了。 这样服务端就能得出结论:客户端的接收、发送能力正常,服务器自己的发送、接收能力也正常
TCP四次挥手
客户端和服务端都可以主动发送关闭连接的请求
过程如下:
- 第一次挥手:客户端发送一个 FIN 报文,报文中会指定一个序列号。此时客户端处于 FIN_WAIT1 状态,停止发送数据,等待服务端的确认
- 第二次挥手:服务端收到 FIN 之后,会发送 ACK 报文,且把客户端的序列号值 +1 作为 ACK 报文的序列号值,表明已经收到客户端的报文了,此时服务端处于 CLOSE_WAIT状态
- 第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给 FIN 报文,且指定一个序列号。此时服务端处于
LAST_ACK
的状态 - 第四次挥手:客户端收到 FIN 之后,一样发送一个 ACK 报文作为应答,且把服务端的序列号值 +1 作为自己 ACK 报文的序列号值,此时客户端处于 TIME_WAIT状态。需要过一阵子以确保服务端收到自己的 ACK 报文之后才会进入 CLOSED 状态,服务端收到 ACK 报文之后,就处于关闭连接了,处于 CLOSED 状态
#四次挥手原因
服务端在收到客户端断开连接Fin
报文后,并不会立即关闭连接,而是先发送一个ACK
包先告诉客户端收到关闭连接的请求,只有当服务器的所有报文发送完毕之后,才发送FIN
报文断开连接,因此需要四次挥手
三.HTTP和HTTPS
HTTP(HyperText Transfer Protocol)超文本传输协议
不同点:
①连接方面:
HTTP 和 HTTPS 使用连接方式不同,默认端口也不一样,HTTP是80,HTTPS是443
②加密方面:
HTTP协议运行在TCP之上,所有传输的内容都是明文。HTTPS使用SSL/TLS协议对HTTP报文进行加密,使得敏感数据在网络传输过程中不容易被窃听和篡改。这种加密过程结合了对称加密和非对称加密,确保数据的保密性和完整性。
1.HTTP1.0 HTTP.1.1 HTTP2.0区别
①HTTP1.0
②HTTP1.1
②HTTP2.0
四.Get和Post请求区别
get请求通常用于从服务器获取资源,参数暴露在URL中,存在安全隐患,并且传输长度受URL限制,一般为2k。
情况例举:在地址栏输入url访问;点击a链接;link标签引入css;;img标签引入图片;script标签引入js;video与audio引入多媒体;form标签的method为get;ajax的get请求。
post请求通常用于向服务器提交数据或者创建新的资源。数据放在请求体中,而不是暴露在URL中,理论上来说没有传输长度限制。
情况举例:;form标签的method为post;ajax的post请求。
五.HTTP响应状态码
状态码第一位数字决定了不同的响应状态,有如下:
- 1 表示消息
- 2 表示成功
- 3 表示重定向
- 4 表示请求错误
- 5 表示服务器错误
#1xx
代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束
常见的有:
- 100(客户端继续发送请求,这是临时响应):这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应
- 101:服务器根据客户端的请求切换协议,主要用于websocket或http2升级
#2xx
代表请求已成功被服务器接收、理解、并接受
常见的有:
-
200(成功):请求已成功,请求所希望的响应头或数据体将随此响应返回
-
201(已创建):请求成功并且服务器创建了新的资源
-
202(已创建):服务器已经接收请求,但尚未处理
-
203(非授权信息):服务器已成功处理请求,但返回的信息可能来自另一来源
-
204(无内容):服务器成功处理请求,但没有返回任何内容
-
205(重置内容):服务器成功处理请求,但没有返回任何内容
-
206(部分内容):服务器成功处理了部分请求
#3xx
表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向
常见的有:
-
300(多种选择):针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择
-
301(永久移动):请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置
-
302(临时移动): 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求
-
303(查看其他位置):请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码
-
305 (使用代理): 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理
-
307 (临时重定向): 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求
#4xx
代表了客户端看起来可能发生了错误,妨碍了服务器的处理
常见的有:
- 400(错误请求): 服务器不理解请求的语法
- 401(未授权): 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
- 403(禁止): 服务器拒绝请求
- 404(未找到): 服务器找不到请求的网页
- 405(方法禁用): 禁用请求中指定的方法
- 406(不接受): 无法使用请求的内容特性响应请求的网页
- 407(需要代理授权): 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理
- 408(请求超时): 服务器等候请求时发生超时
#5xx
表示服务器无法完成明显有效的请求。这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生
常见的有:
- 500(服务器内部错误):服务器遇到错误,无法完成请求
- 501(尚未实施):服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码
- 502(错误网关): 服务器作为网关或代理,从上游服务器收到无效响应
- 503(服务不可用): 服务器目前无法使用(由于超载或停机维护)
- 504(网关超时): 服务器作为网关或代理,但是没有及时从上游服务器收到请求
- 505(HTTP 版本不受支持): 服务器不支持请求中所用的 HTTP 协议版本
相关文章:
前端-计算机网络篇
一.网络分类 1.按照网络的作用范围进行分类 (1)广域网WAN(Wide Area Network) 广域网的作用范围通常为几十到几千公里,因而有时也称为远程网(long haul network)。广域网是互联网的核心部分,其任务是长距离运送主机…...
Mybatis-plus
一、简介 MyBatis-Plus(简称MP)是一个MyBatis的增强工具,它在MyBatis的基础上只做增强而不做改变,目的是简化开发、提高效率。MyBatis-Plus提供了许多便捷的功能,如强大的CRUD操作、支持多种主键策略、内置代码生成器…...
跨年烟花C++代码
嘿,朋友们!今天来给大家讲讲一段挺有意思的C代码呀,这段代码主要是用来实现一个烟花效果展示的程序哦,下面咱们一点点来看哈。 效果 1. 开头包含的那些头文件 #include <graphics.h> #include <conio.h> #include &…...
第82期 | GPTSecurity周报
GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…...
关于FPGA中添加FIR IP核(采用了GOWIN EDA)
文章目录 前言一、IP核二、MATLAB文件三、导出系数COE文件1.设计滤波器2.用官方的matlab代码或者直接用文本文件 四、进行模块化设计源文件 前言 FIR滤波器的特点是其输出信号是输入信号的加权和,权值由滤波器的系数决定。每个系数代表了滤波器在特定延迟位置上的“…...
基于机器学习的京东手机商品评论数据可视化分析系统
完整源码项目包获取→点击文章末尾名片!...
jenkins入门13--pipeline
Jenkins-pipeline(1)-基础 为什么要使用pipeline 代码:pipeline 以代码的形式实现,通过被捡入源代码控制, 使团队能够编译,审查和迭代其cd流程 可连续性:jenkins 重启 或者中断后都不会影响pipeline job 停顿&#x…...
Ubuntu24.04.1 LTS+Win11双系统安装记录
Win11相关 1.用DiskGenius删除硬盘分区 2.关闭win11的BitLocker,否则禁用安全启动后开机时需要帐户密钥,很麻烦。 3.在设备管理器中找到独立显卡,右键禁用。等ubuntu装好显卡驱动后,再进入win启用。 Ubuntu相关 1.Ubuntu24.04在…...
【前端开发常用网站汇总-01】
1、仿mac界面代码截图 https://codeimg.io/?utm_sourceappinn.com 2、可视化大屏汇总(在线Demo) https://www.xiongze.net/viewdata/index.html 3、在线Photoshop(实现简单P图) https://ps.gaoding.com/#/ 4、在线生成ico图标(png转icon文件) https://www.bitbug.net/in…...
【Rust自学】10.6. 生命周期 Pt.2:生命周期的语法与例子
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 10.6.1. 生命周期标注语法 生命周期的标注并不会改变引用的生命周期长度。如果某个函数它制定了泛型生命周期参数,那么它就可…...
Three.js教程014:使用tween实现补间动画
补间动画tween 补间动画(Tween Animation)是一种通过平滑过渡的方式,在一段时间内将对象的属性从一个状态变换到另一个状态的动画技术。Three.js 中可以使用 tween.js 来实现补间动画。 【1】导入补间动画库 // 导入tween import * as TWEEN from "three/examples/j…...
Mac软件介绍之录屏软件Filmage Screen
软件介绍 Filmage Screen 是一款专业的视频录制和编辑软件,适用于 Mac 系统 可以选择4k 60fps,可以选择录制电脑屏幕,摄像头录制,可以选择区域录制。同时也支持,简单的视频剪辑。 可以同时录制电脑麦克风声音 标准…...
MySQL使用navicat新增触发器
找到要新增触发器的表,然后点击设计,找到触发器标签。 根据实际需要,填写相关内容,操作完毕,点击保存按钮。 在右侧的预览界面,可以看到新生成的触发器脚本...
深入理解 DOM:构建动态 Web 页面的基石
在 Web 开发的世界里,DOM (Document Object Model) 就像一位无声的英雄,默默地支撑着我们每天浏览的各种动态网页。你可能每天都在和它打交道,却未必真正了解它。那么,DOM 到底是什么?它为什么如此重要?让我…...
如何构建多层决策树
构建一颗多层的决策树时,通过递归选择最佳划分特征(依据 信息增益 或 基尼系数)对数据集进行划分,直到满足停止条件(例如叶节点纯度达到要求或树的深度限制)。以下是基于 信息增益 和 基尼系数 的递推公式和…...
人工智能 前馈神经网络练习题
为了构建一个有两个输入( X 1 X_1 X1、 X 2 X_2 X2)和一个输出的单层感知器,并进行分类,我们需要计算权值 w 1 w_1 w1和 w 2 w_2 w2的更新过程。以下是详细的步骤和计算过程: 初始化参数 初始权值:…...
stable diffusion安装mov2mov
第一步: 下载mov2mov,地址:https://gitcode.com/gh_mirrors/sd/sd-webui-mov2mov 下载包到web-ui的sd-webui-aki-v4.10\extensions文件夹面解压 第二步:在文件夹中调出cmd窗口,执行下列命令, git restore…...
人工智能学习框架概述
1. 引言 随着人工智能(AI)技术的快速发展,各种学习框架应运而生,为研究人员和开发者提供了便利。这些框架不仅简化了复杂的算法实现,还提供了用于构建、训练和评估模型的工具和环境。本文将对目前流行的人工智能学习框…...
(二)WebGL的渲染管线初识
WebGL的渲染管线可以被看作是将一组数据(例如模型、纹理、颜色等)经过一系列处理阶段,最终生成图像并显示在屏幕上的过程。为了帮助你理解这一过程,我将通过一个通俗易懂的移动例子来一步步详细讲解WebGL 的渲染管线及其关键绘制原…...
1. 使用springboot做一个音乐播放器软件项目【前期规划】
背景: 现在大部分音乐软件都是要冲会员才可以无限常听的。对于喜欢听音乐的小伙伴,资金又比较紧张,是那么的不友好。作为程序员的我,也是喜欢听着歌,敲着代码。 最近就想做一个音乐播放器的软件,在内网中使…...
在macOS上安装MySQL
macOS的MySQL有多种不同的形式: 1、本机包安装程序,它使用本机macOS安装程序(DMG)引导您完成MySQL的安装。有关详细信息,请参阅第2.4.2节,“使用本机包在macOS上安装MySQL”。您可以将包安装程序与macOS一…...
使用vue项目中,使用webpack模板和直接用vue.config来配置相关插件 区别是什么,具体有哪些提现呢
在 Vue 项目中,使用 Webpack 模板 和 vue.config.js 来配置相关插件的主要区别在于配置的复杂度、灵活性和易用性。以下是两者的详细对比: 1. Webpack 模板 Webpack 模板是 Vue CLI 早期版本(如 Vue CLI 2.x)中提供的项目初始化模…...
ansible-性能优化
一. 简述: 搞过运维自动化工具的人,肯定会发现很多运维伙伴们经常用saltstack和ansible做比较,单从执行效率上来说,ansible确实比不上saltstack(ansible使用的是ssh,salt使用的是zeromq消息队列[暂没深入了解]),但其实…...
Nginx:认证与授权
认证(Authentication)和授权(Authorization)是确保 Web 应用安全的重要机制。Nginx 提供了多种方式来实现这些功能,以保护资源免受未授权访问。 认证(Authentication):验证用户的身份,确认请求来自合法用户。通常涉及用户名和密码、令牌或其他形式的身份验证。授权(A…...
【项目实战1】五子棋游戏
目录 C语言编程实现五子棋:: game.h game.c 1.打印菜单 2.打印棋盘 3.玩家下棋 4.判断五子连珠 5.判断输赢 6.游戏运行 game.c完整源代码展示 test.c C语言编程实现五子棋:: game.h #pragma once #include<stdio.h> …...
【VUE】a链接下载跨域文件直接打开而非下载(解决办法)
背景:a链接下载跨域文件时,浏览器默认会打开文件,而非直接下载 <a :href"url" :download"fileName">下载</a>data() {return {url: http://xxxxx.mp4,fileName: xxxxx.mp4} }解决方式 服务器设置HTTP请求头…...
消息队列RabbitMQ
目录 为什么需要消息队列? 什么是消息队列? 如何技术选型? WorkQueues模型 Fanout交换机 Direct交换机 Topic交换机 声明队列交换机 消息转换器 消息可靠性问题 1.发送者的可靠性 生产者重连 生产者确认 Spring AMQP生产者消费确认…...
Windows11环境下设置MySQL8字符集utf8mb4_unicode_ci
1.关闭MySQL8的服务CTRLshiftESC,找到MySQL关闭服务即可 2.找到配置文件路径(msi版本默认) C:\ProgramData\MySQL\MySQL Server 8.0 3.使用管理员权限编辑my.ini文件并保存 # Other default tuning values # MySQL Server Instance Config…...
css出现边框
前言 正常情况下,开启 contenteditable 属性后会出现 “黑色边框”。 如下图所示,很影响美观: 您可能想去掉它,就像下面这样: 解决方案 通过选择器,将 focus 聚焦时移除 outline 属性即可。 如下代码所示&a…...
Qt QDockWidget详解以及例程
Qt QDockWidget详解以及例程 引言一、基本用法二、深入了解2.1 窗口功能相关2.2 停靠区域限制2.3 在主窗体布局 引言 QDockWidget类提供了一个可以停靠在QMainWindow内的小窗口 (理论上可以在QMainWindow中任意排列),也可以作为QMainWindow上的顶级窗口浮动 (类似一…...
node.js内置模块之---stream 模块
stream 模块的作用 在 Node.js 中,stream 模块是一个用于处理流(stream)的核心模块。流是一种处理数据的抽象方式,允许程序处理大量数据时不会一次性将所有数据加载到内存中,从而提高性能和内存效率。通过流࿰…...
EdgeX规则引擎eKuiper
EdgeX 规则引擎eKuiper 一、架构设计 LF Edge eKuiper 是物联网数据分析和流式计算引擎。它是一个通用的边缘计算服务或中间件,为资源有限的边缘网关或设备而设计。 eKuiper 采用 Go 语言编写,其架构如下图所示: eKuiper 是 Golang 实现的轻量级物联网边缘分析、流式处理开源…...
SpringBoot | 基于 MyBatis 的分页与模糊查询的开发模板
关注:CodingTechWork 引言 在开发 Web 应用时,常常需要处理复杂的查询需求,尤其是在涉及到用户管理功能时,分页查询和模糊查询是常见的需求之一。 本文将通过一个具体的示例,展示如何使用 MyBatis实现分页和模糊查…...
数据库(3)--针对列的CRUD操作
1.Create 新增 语法: insert into 表名 (列名)values (列)... 创建一个学生表用于演示: create table if not exists student( id bigint comment 编号, name varchar(20) comment 姓名 ); 1.1直接增加…...
利用Java爬取1688商品详情API接口:技术与应用指南
引言 1688作为中国领先的B2B电子商务平台,拥有海量的商品信息。对于商家和市场研究人员来说,能够从1688获取商品详情信息,对于市场分析、竞品研究等具有重要价值。本文将详细介绍如何使用Java编写爬虫程序,以合法、高效的方式获取…...
安装vue脚手架出现的一系列问题
安装vue脚手架出现的一系列问题 前言使用 npm 安装 vue/cli2.权限问题及解决方法一:可以使用管理员权限进行安装。方法二:更改npm全局安装路径 前言 由于已有较长时间未进行 vue 项目开发,今日着手准备开发一个新的 vue 项目时,在…...
git命令收集
强制丢弃所有修改,和仓库代码一致 git reset --hard 更新子模块 git submodule update每个子模块 重置到最新节点 git submodule foreach --recursive git reset --hard清除每个子模块未跟踪的文件 git submodule foreach --recursive git clean -fd清理未跟踪的…...
IDEA中Maven依赖包导入失败报红的潜在原因
在上网试了别人的八个问题总结之后依然没有解决: IDEA中Maven依赖包导入失败报红问题总结最有效8种解决方案_idea导入依赖还是报红-CSDN博客https://blog.csdn.net/qq_43705131/article/details/106165960 江郎才尽之后突然想到一个原因:<dep…...
c/c++ 里的进程间通信 , 管道 pipe 编程举例
(1)以下是一个网上的使用 pipe 编程的范例: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/types.h> #include <sys/wait.h>int main() {int pipefd…...
【Java】JVM内存相关笔记
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。 程序计数器&am…...
[项目实战2]贪吃蛇游戏
目录 贪吃蛇游戏:: 一、游戏效果及功能实现: 1.规则 2.基本功能实现 3.技术要点 …...
PySide6的样式表
PySide6 提供了对 Qt 样式表(Qt Style Sheets,简称 QSS)的支持,这是一种类似于 CSS 的样式表语言,用于自定义 Qt 应用程序的外观。 1. 什么是 Qt 样式表(QSS) Qt 样式表是一种声明性的样式表语…...
计算机网络之---局域网
什么叫局域网 局域网(LAN,Local Area Network) 是指在一个相对较小的区域内,如家庭、办公室、学校、企业等,连接多个计算机和设备的网络。局域网的特点是覆盖范围小、传输速度快、构建成本较低。 局域网的主要特点&…...
使用 uniapp 开发微信小程序遇到的坑
0. 每次修改代码时,都会触发微信开发工具重新编译 终极大坑,暂未找到解决方案 1. input 无法聚焦问题 问题:在小程序开发工具中,input 会突然无法聚焦,重启也不行。但是真机调试可以正常聚焦。 解决办法:…...
基于 GEE Sentinel-1 数据集提取水体
目录 1 水体提取原理 2 完整代码 3 运行结果 1 水体提取原理 水体提取是地理信息和遥感技术的关键应用之一,对于多个领域都具有重要的应用价值。它有助于更好地管理水资源,保护环境,减少灾害风险,促进可持续发展,以…...
2025-01-07 Unity 使用 Tip3 —— 游戏保存数据到 Application.persistentDataPath 不生效解决方案更新
文章目录 1 问题描述2 老版解决方案(测试可行)2.1 创建 js 脚本2.2 添加 js 引用 3 新版解决方案(测试不可行)4 实际问题 WebGL 平台限制了文件访问系统,在 Unity 以前版本中,开发者想要在 WebGL 上保存…...
关于重构一点简单想法
关于重构一点简单想法 当前工作的组内,由于业务开启的时间正好处于集团php-》go技术栈全面迁移的时间点,组内语言技术栈存在:php、go两套。 因此需求开发过程中通常要考虑两套技术栈的逻辑,一些基础的逻辑也没有办法复用。 在这…...
使用 `llama_index` 构建智能问答系统:多种文档切片方法的评估
使用 llama_index 构建智能问答系统:多种文档切片方法的评估 代码优化与解析1. **代码结构优化**2. **日志管理**3. **环境变量管理**4. **模型初始化**5. **提示模板更新**6. **问答函数优化**7. **索引构建与查询引擎**8. **节点解析器测试** 总结 在现代自然语言…...
Vue3 内置组件之KeepAlive
文章目录 Vue3 内置组件之KeepAlive概述用法简单使用include & excludemax Vue3 内置组件之KeepAlive 概述 <KeepAlive> 是一个内置组件,它的功能是在多个组件间动态切换时缓存被移除的组件实例。 组件在加载时会经历初始、挂载、更新、销毁生命周期&a…...
生物医学信号处理--绪论
前言 参考书籍:刘海龙,生物医学信号处理,化学工业出版社 生物医学信号分类 1、由生理过程自发或者诱发产生的电生理信号和非电生理信号 • 电生理信号:ECG/心电、EEG/脑电、EMG/肌电、 EGG/胃电、 EOG/眼电 • 非电生理信号&am…...