深入解析:【JavaEE】网络原理初识
目录
- 网络通信基础
- IP地址
- 端口号
- 网络协议
- 五元组
- 协议分层
- OSI七层模型和TCP/IP五层(或四层)模型
- 网络设备所在分层
- 协议分层背景下, 数据网络传输的核心流程
- 封装
- 分用
- 传输过程中的封装和分用
网络通信基础
IP地址
- 网络互联的的目的就是为了网络通信, 更具体一点就是网络中不同主机的通信. 那么在组建的网络中, 如何判断是从到底从当前主机到另一台主机的通信呢? 我们必须要找到另一台主机的地址吧. 这个地址就是用IP地址来表示. 就好比我们的快递物流一样, 我们的快递要从哪里开始发送. 最终送到到哪里呢? 都要有一个地址来表示, 比如从成都(发送) 到 重庆(送达), 成都和重庆就是IP地址. 那么得出概念
- 概念:IP地址重要用于标识网络主机、其他网络设备(如路由器)的网络地址。容易说,IP地址用于定位主机的网络地址。
- 4个字节),如:01100100.00000100.00000101.00000110。就是格式: IP地址是⼀个32位的⼆进制数,通常被分割为4个“8位⼆进制数”(也就
通常⽤“点分⼗进制”的⽅式来表⽰,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的⼗进制整数)。如:100.4.5.6。
端口号
- 上面说了我们送快递的起始地址相当于IP地址, 但是我们知道不光要填起始地点, 我们还要填收件人, 比如重庆巴南xx大学的小李, 我们快递员才能分别出这个快递是那个的, 不然整个大学这么多人, 知道这个快递到底是哪个的呢? 其中小李就是收件人. 这里的小李就相当于是我们的端口号. 那么在网络通信中的概念:
- 通过概念:端⼝号能够标识主机中发送数据、接收数据的进程。简单说:端⼝号⽤于定位主机中的进程。(也就是表示网络主机中的那个进程工具)
- 通过格式:端⼝号是0~65535范围的数字,在⽹络通信中,进程能够凭借绑定⼀个端⼝号,来发送及接收⽹络数
据。
问题:
有了IP地址和端口号,可以定位到网络中唯一的一个进程,但还存在一个问题,网络通信是基于二进制0/1资料来传输,如何告诉对方发送的数据是什么样的呢?
网络通信传输的数据类型可能有多种:图片,视频,文本等。同一个类型的数据,格式可能也不同,如发送一个文本字符串“你好!”; 如何标识发送的数据是文本类型,及文本的编码格式呢?
基于网络数据传输,需要使用协议来规定双方的数据格式。
网络协议
- 协议相当于规定了发送方的数据怎么发, 那么接受方的数据就得怎么解析. 这样我们接收方和发送方都遵守同一个协议来保证数据格式, 那么当发送方发送的是文本数据格式的时候, 接收方也必须得以文本数据格式来解析这个网络数据包. 那么拿到的数据一定是文本数据格式的.
- 遵守该灯座接口协议的.就是再举一个例子就是我们生活中通常需要买灯管. 这个时候我们通常是随便找一家电器店买一个大小和原来差不多的灯管. 那么我们就可以直接安装在灯座上. 从这个事情中行看出, 我们并不需要找到灯座指定的灯管 才能安装上去. 因为大部分厂家生成的灯管都遵守这个灯座上的接口协议, 那么大部分厂家生产灯管的时候都按照这个灯座的协议来生产灯管. 这个时候我们就不需要特别在意这个灯座对应的灯管是那个了, 基于大部分厂家都
- 概念: 协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。
- 协议(protocol)最终体现为在⽹络上传输的数据包的格式。
五元组
- 五元组在网络通信中的作用体现
协议分层
- 网络通信是非常复杂的, 如果我们要设计一个协议来完成整个网络通信的话. 那么这个协议一定会非常复杂和庞大. 这个时候我们把一个大的协议拆分成若干个小的协议. 这个时候分出来的小的协议一定会很多. 那么我们又把他整理归类. 把相同类型的协议放在同一层. 这些协议就会分成若干层. 然后规定,只有相邻两层的协议之间可以进行通信. 上层协议能够调度下层协议. 下层协议对上层协议供应服务.
- 该就相当于我们一个大公司. 员工有200个人. 那么我们不可能让老板一个人直接管理全部员工吧. 这个时候老板选20个人当组长, 剩下的180个人每个组长选9个人当组员. 那么老板就只需要管理组长, 而组长则要求管理组员. 这个时候我们就方便管理了. 并且职场中, 如果组员有什么问题应该向组长汇报. 而不是直接向老板汇报.
- 协议分层的好处:
- 封装: 上层协议并不需要 了解下层协议的细节.
- 解耦: 分层之后, 许可直接替换某一层的协议. 对整体工作的过程影响极其小.
- 这里我们语言层并不关心下一层的协议细节. 只需要遵守而我们这一层的协议就行直接通信. 并且我们替换了通信设备层的电话机也并没有对我们语言层的通信造成影响. 我们还是行直接用汉语协议进行通信.
OSI七层模型和TCP/IP五层(或四层)模型
- 这套分层模型在工作中并不实用, 我们详细介绍TCP/IP分层模型
- 下面从低到高介绍TCP/IP五层模型
- 我们快递运输上的公路. 要送快递就要先有公路才能运输)就是物理层: 规定了网络通信中一些硬件设备需要符合的要求. 如常见的网线, wifi, 光纤这三种通信介质. 他们必须符合的一些要求.(这相当于
- 数据链路层: 完毕两个相邻设备之间的通信, 比如通过网线. 把电脑连到路由器/交换机上.(这里是尝试一小步的通信)(比如我们上学时候, 如果自习课或上课和相邻的同桌传纸条)
- 我们在最后一排, 就会拜托前面的同学把纸条传给第一排的女神)就是网络层: 这个则是达成任意两个设备之间的通信, 两个设备之间可以隔着很多的路由器/交换机. (比如上学时候, 我们想要和第一排的女神讲话, 但
- 传输层: 也是任意设备之间的通信, 不考虑中间过程, 只考虑终点和起点. (比如快递中我们商家和只需要考虑从哪里发然后送到哪里. 即填快递单), 不在乎中间是经历那些地方(比如重庆到北京, 可能中间会经历广东, 上海, 这些我们并不关心)
- 通过应用层: 这一层只关心我们拿到数据后该怎么使用. 比如我们买了一个诺基亚手机, 可以用它来打电话, 也能够用它来砸核桃.
总结:
关心诺基亚手机买到后, 如何使用 -> 应用层
卖家只关心发送地点和送达地点 -> 传输层
物理公司关心包裹是走那条路从发送地点到送达地点(比如走那条高速) -> 网络层
快递小哥关心相邻节点怎么送达(先送到相邻那个地点, 再送到相邻那个地点) -> 数据链路层
政府关心如何修路让快递物理可以运输快递 -> 物理层
网络设备所在分层
- 对于一台主机涉及到, 从物理层->应用层, 主机通过应用程序满足网络通信的需求
- 对于一台路由器涉及到, 从物理层->网络层, 路由器组建局域网, 进行网络数据包的转发
- 对路由器接口的扩展, 不需要考虑组网的问题就是对于一台交换机涉及到, 从物理层->数据链路层, 交换机
- 注意我们这里说的是传统意义上的交换机和路由器,也称为二层交换机(工作在TCP/IP五层模型的下两层)、三层路由器(工作在TCP/IP五层模型的下三层)。
传统意义上的交换机和路由器.就是随着现在网络设备技巧的不断发展,也出现了很多3层或4层交换机, 4层路由器。我们以下说的网络设备都
因此现在可能通过wx发送一个资料, 经过某个运用商的路由器, 他就把你发送的内容解析出来了, 那么这个路由器就相当于工作在应用层
协议分层背景下, 数据网络传输的基本流程
封装
- 按照TCP / IP五层网络模型协议有五层:应用层、传输层、网络层、数据链路层、物理层。传输层为应用层提供服务,网络编程主要就是学习传输层和应用层交互
- 下面整个过程叫做封装
- 该时候我们来通过张三用QQ向李四发送hello这个消息的例子来说明。
- 这个时候要大家构造的应用层数据包里面的资料往往是一个结构化数据,类似于C语言中的结构体。但是我们要注意:当发送数据的时候会把结构化数据转换成二进制比特流(序列化)。接受到数据的时候又会把数据构造成结构化数据(反序列化)
- 为什么要这样做? 这是因为我们结构化信息不能直接在网线, 光纤这种传输介质上传输, 网线只能用电信号来表示0和1,光纤则是也只能用光信号来表示0和1, 这个时候我们就要求把结构化素材转换成二进制比特流。 让我们数据能够通过网络介质来传输。 就好比我们网上买一张床一样, 如果商家直接把整张床发过来, 并不方便运输并且容易损坏。 这个时候我们就把床拆成若干个零件。 方便安全运输。当我们收到床的时候, 就会把这些零件拼接成一张完整的床。(反序列化)
- 为啥这里要加一个TCP报头呢? 有什么作用呢? 例如我们生活中商家寄一件毛衣, 他不可能是把毛衣揉成一团直接让快递小哥去运输吧。 通常都会对毛衣进行包装。 包装后交给快递小哥。 包装好后就可以在快递上贴一个快递标签, 标签上涵盖了这次传输所应该的信息。 比如发货地和接受地。 发件人和收件人。而这里的TCP报头就包含了五元组中的源端口和目的端口(作用是知道是那种应用程序发的, 要发给那个应用程序)等信息。
- 这里IP报头中就包含了源IP和目的IP(作用是分用的时候知道是那种主机发的, 然后要发给那个主机), 有人可能会察觉到五元组中的信息已经在这个数据包中出现了4个, 就差一个协议类型了。 这个协议类型也是在哪里存储的呢, 其实协议类型这个数据是在每一层的报头或报尾中的。他们记录了上一层利用的是什么类型的协议。这个时候我们在分用的时候,比如数据链路层把数据包分用给网络层, 这个时候以太网报头中刚好就记录了上一层(网络层)的协议类型,这个时候我们就允许按照约定好的协议来解析数据包。交给网络层了
分用
- 物理层数据信号是利用什么传输介质传输的, 也直接关联了怎么分用解析到数据链路层。 网线/光纤来的数据链路层使用的是以太网协议。 wifl来的数据数据链路层使用的是802.11协议
- 这里也体现了我们协议类型的作用
传输过程中的封装和分用
- 在网络传输中, 我们通常不只是两个主机之间直接进行通信, 而是需要借助多个交换机或者路由器来完成素材的传输。
- 这个时候呢, 我们不同的网络设备在传输的过程中也会进行封装和分用。再进行封装和分用后。才会进行材料转发给下一个设备。
/mark>
相关文章:
深入解析:【JavaEE】网络原理初识
深入解析:【JavaEE】网络原理初识pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; f…...
Office文档投毒技术:SHVE中的会话劫持视觉利用新突破
本文深入解析SHVE工具如何通过Office文档投毒技术,利用XSS漏洞和用户对可信网站的信任,在文档下载过程中自动注入恶意宏,实现隐蔽的攻击载荷交付,揭示了现代网络攻击中技术利用与心理信任结合的新型威胁模式。Office文档投毒在SHVE中的应用 大家好!我们带来了会话劫持视觉…...
爬虫逆向--Day22Day23--核心实战案例【荔枝网】【WASM学习】
案例地址链接:https://gdtv.cn/channels/2 案例爬取链接:https://gdtv-api.gdtv.cn/api/channel/v1/news?beginScore=0&channelId=246&pageSize=11 一、入口定位 首先当我们拿到网站,并且找到我们需要爬取的目标url以后,我们首先复制url到【https://curlconverter…...
简洁美观!一款值得 Star 的 Java 博客项目!
OneBlog —— 一个简洁美观、功能强大并且自适应的 Java 博客。基于 SpringBoot + Bootstrap 开发,支持移动端自适应,配有完备的前台和后台管理功能。大家好,我是 Java陈序员。 今天,给大家介绍一个简洁美观的开源 Java 博客系统。关注微信公众号:【Java陈序员】,获取开源…...
数据结构与算法-33.图-加权有向图最短路径
一、加权有向图 1、加权有向图 边的表示 代码实现 2、加权有向图的实现 二、最短路径 1、定义及性质 2、API设计 3、松弛技术4、Dijkstra算法实现 测试以上仅供参考,如有疑问,留言联系...
白子的情人节礼物
新题崭新出炉题面背景 我永远喜欢砂狼白子! ----MyShiroko 白子最近有点烦恼,因为她敏锐的嗅觉闻到了星野前辈身上有老师的味道。(详见《一日一星野》) 在多次询问星野无果的情况下,她打算直接去夏莱找老师问个清楚。 不过最近情人节快到了,白子决定拿着一些礼物,所以她…...
白子的情人节礼物 题解
咕咕点击查看代码 #include<bits/stdc++.h> #define int long long #define Blue_Archive return 0 #define con putchar( ) #define ent putchar(\n) using namespace std; constexpr int N = 5e5 + 7; constexpr int M = 8e5 + 7; constexpr int INF = 1e18;int n; in…...
Ubuntu上进行Zookeeper集群部署
Ubuntu系统上Zookeeper集群部署安装目录1.zookeeper下载2.zookeeper安装与使用3.zookeeper启动4.zookeeper是什么?为什么要用它?为什么不用Hbase自带的? 1.zookeeper下载 版本无特别要求,一般最新稳定版即可。 这里给出3.8.4的下载链接。(点击即可直接下载) zookeeper官网…...
The Landscape of Agentic Reinforcement Learning综述 - jack
The Landscape of Agentic Reinforcement__Learning for LLMs.pdf https://medium.com/data-science-in-your-pocket/the-landscape-of-agentic-reinforcement-learning-for-llms-a-survey-ed96182d3ed1...
A Survey of Reinforcement Learning for Large Reasoning Models - jack
https://arxiv.org/abs/2509.08827 https://huggingface.co/papers/2509.08827...
r-nacos支持mcp,内置mcp server支持让注册到r-nacos的普通http接口通过r-nacos直接转化成mcp服务对外提供服务。
r-nacos支持mcp,内置mcp server与接口转发;支持让注册到r-nacos的普通http接口通过r-nacos直接转化成mcp服务对外提供服务。r-nacos支持mcp,内置mcp server与接口转发;支持让注册到r-nacos的普通http接口通过r-nacos直接转化成mcp服务对外提供服务。 适用场景 如果你有一个…...
MacOS下微信小程序抓包教程
前言 换mac了,折腾一天抓包,终于成功抓上了。 BurpSuite下载: https://www.52pojie.cn/thread-2005151-1-1.html proifier下载:https://www.proxifier.com/ proifier注册机:https://github.com/y9nhjy/Proxifier-Keygen 一、安装proifier 先正常安装proifier本体,打开注册…...
nvm – nodejs版本管理工具
下载 Releases coreybutler/nvm-windows nvm-setup.exe nvm list available #查看可安装版本 如果报错Could not retrieve https://nodejs.org/dist/index.json: Get "https://nodejs.org/dist/index.json": dial tcp xxx.2x.xx.xxx:xxx: i/o timeoutnvm proxy http…...
财务系统里面,怎么合并使用两个经费本号
财务系统里面,怎么合并使用两个经费本号 把一个经费本号填好之后,正常填写,到提交的那个界面,不要提交。 一直点击 上一步, 到可以填写经费本号的那个界面。再填写第二个经费本号。点击下一步,再填写。最后提交即可。...
【火电机组、风能、储能】高比例风电电力系统储能运行及配置分析(Matlab代码实现) - 详解
【火电机组、风能、储能】高比例风电电力系统储能运行及配置分析(Matlab代码实现) - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&qu…...
新范式-LLaDA-VLA 基于扩散模型 VLA模型 - jack
https://mp.weixin.qq.com/s/fwOGuKy2Wtz_xXx3nCT28w 论文题目:LLaDA-VLA: Vision Language Diffusion Action Models 论文链接:https://arxiv.org/abs/2509.06932 项目主页:https://wenyuqing.github.io/llada-vla/ 论文时间:Sep, 8, 2025 作者单位:中科大,南京大学,原…...
Redis是如何进行内存管理的?缓存中有哪些常见问题?如何实现分布式锁?
Redis内存管理 Redis的内存用完了会怎样? 如果达到设置的上限,Redis的写命令会返回错误信息(但是读命令还可以正常返回)。 也可以配置内存淘汰机制,当Redis达到内存上限时会冲刷掉旧的内容。 Redis如何做内存优化? 可以好好利用Hash,list,sorted set,set等集合类型数据,…...
5 遥感与机器学习第三方库安装 - 详解
5 遥感与机器学习第三方库安装 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important…...
移远OPENCPU笔记
OPENCPU 支持的操作系统:Linux、ThreadX 芯片平台:国产ASRqq:505645074...
2025.9.16——1绿
普及+/提高 P3155 [CQOI2009] 叶子的染色 昨天用贪心写只拿了部分分,wpmx告诉我要用DP,但当时因为要赶作业没时间写。 今天补上了。...
Unity游戏开发:互动小游戏的技术实现与运营盈利之道
在数字化娱乐飞速发展的当下,互动小游戏凭借其独特的趣味性与强交互性,深受广大用户喜爱。从热闹非凡的线下活动,到流量庞大的线上平台,互动小游戏都展现出了强大的影响力与商业价值。在众多游戏开发引擎中,Unity以其卓越的性能和广泛的适用性,成为了互动小游戏开发的首选…...
如何实现主线程捕获子线程异常
一、基础概念...
LGP5688 [CSP-S-JX 2019] 散步 学习笔记
LGP5688 [CSP-S-JX 2019] 散步 学习笔记 Luogu Link 前言 一题多解这一块。 题意简述 \(n\) 个人在公园内散步。公园可以看作一个环形,上有 \(m\) 个出口,按逆时针顺序记作 \(1\) 号口到 \(m\) 号口。 环总长 \(V\) 米。记 \(a_i\) 为 \(i\) 号出口从 \(1\) 号口按逆时针走到…...
少儿练字控笔字帖
握笔和控笔是写好字的基础 准备了一些基本的控笔练习字帖少儿练字控笔字帖下载...
架构师必备:缓存更新模式总结
大家好,我是Java烘焙师。如何更新缓存和DB、做到性能和一致性的取舍,是一个很常见的话题。下面结合笔者的经验和思考,系统性地总结一下缓存更新模式,讲透讲明白。 1、旁路缓存(cache-aside) 实现方案查询:先查缓存,查不到缓存时再查DB,并把DB内容写入缓存、设置合适的…...
为什么不能在try-catch中捕获子线程的异常 ?
一、基础概念...
sensitive-word 敏感词性能提升14倍优化全过程 v0.28.0 - 实践
sensitive-word 敏感词性能提升14倍优化全过程 v0.28.0 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New"…...
2025 PHP 开发者必看得 25 个容易犯的常见错误 90% 的开发者都踩过
2025 PHP 开发者必看得 25 个容易犯的常见错误 90% 的开发者都踩过 前言 PHP 发展到今天,新特性层出不穷,最佳实践也在不断更新。写出干净、高效、好维护的代码,对每个 PHP 开发者来说都很重要。 这篇文章总结了 PHP 开发中最容易踩的坑,以及对应的解决方案。 不管你是刚入…...
一款带有AI功能的markdown工具
大家好,我是晓凡。 写在前面 关注晓凡的同学都知道,晓凡是一名程序员。 平常有空的时候会写写博客,将一些技术干货或者踩过的坑分享给大家。 和我一样写技术博客的小伙伴都知道,平常素材来源太杂:脑子里突然而来的灵感 群里的一张梗图 随手的一张截图 读书看到的一段文字 …...
45万亿!中国智驾的新风口来了
微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087 添加图片注释,不超过 140 字(可选)2025年L4智驾场景化应用加速发展,亿欧汽车研究院认为2035年中国L4级别及以上智能驾驶…...
apache poi 导出繁琐的excel表格
apache poi 导出繁琐的excel表格pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; fon…...
Ubuntu Server SSH 连接
使用 SSH 连接(最推荐的方式) 这是最专业、最稳定的方式,特别适合服务器环境:一、在 Ubuntu Server 中确保 SSH 服务已安装并运行: sudo apt update sudo apt install -y openssh-server sudo systemctl enable ssh sudo systemctl start ssh 二、获取虚拟机的 IP 地址: …...
利用竞态条件轻松上传Web Shell
本文详细介绍了如何通过竞态条件漏洞上传PHP Web Shell,使用普通Burp Intruder工具而非Turbo Intruder,包含完整的攻击步骤、PHP代码分析和实战配置,适合初学者理解文件上传漏洞的利用方式。通过竞态条件上传Web Shell(简易方法) 方法特点 本攻击使用普通Burp Intruder而非…...
我亲眼目睹我上海的家长朋友陷进去了
微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 354695541004908701我发现在网上很多人都在说不要内卷了,不要卷了,因为我们快被自己人卷死了。我这人天生迟钝,后知后觉的,所以总是赶不上时…...
蔚小理的辅助驾驶,谁最拉跨?
微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087汽车诞生以来,从来没试过像现在这样,一台车可以在买回来之后,不花一分钱,表现就能获得提升。而且还不只是那些贵的车型,就…...
C 语言的 printf() 函数
概述 printf() 的作用: Print formatted output to the standard output stream. printf() 的函数原型: int printf( const char *format, argument1, argument2, ... );printf() 函数的基本格式: printf(格式字符串, 待打印项列表);或者写为: printf(格式字符串, 待打印项 1,…...
【GitHub每日速递 250915】3 个宝藏开源项目:超长语音合成、算法学习库、自托管软件导航,开发者速收
原文:【GitHub每日速递 250915】3 个宝藏开源项目:超长语音合成、算法学习库、自托管软件导航,开发者速收 VibeVoice:挑战传统TTS,最长90分钟多角色语音合成神器来袭! VibeVoice 是一个长对话文本转语音模型的开源项目。简单讲,它能将连续的文本内容自然地转换成语音,支…...
C 语言头文件
两种写法: #include <stdio.h> // 编译系统在系统头文件所在目录搜索 #include "stdlib.h" // 编译系统首先在当前的源文件目录中查找 stdlib.h,找不到的话,再转向系统头文件所在目录搜索引用系统头文件时,使用两种形式都可以,但是 #include <> 的…...
AFL++环境搭建
第 1 步:更新软件源并安装基本工具 首先更新软件包列表 sudo apt update 升级现有软件包 sudo apt upgrade -y 安装基本编译工具(包括gcc) sudo apt install -y build-essential 安装Python3和相关工具 sudo apt install -y python3 python3-dev python3-pip 创建python符号…...
晚安
cai~一定是做梦,不然还能是什么,对不对? 总之就是梦到一年前的自己对我说话: 第一句:变菜了 第二句:本来就挺菜 然后开始大笑,前车窗上晃动着一双眼睛,小,但是不瞎。...
读人形机器人12体育领域
读人形机器人12体育领域1. 体育领域 1.1. 在体育竞技这个不断挑战人类极限的领域,人形机器人正以教练和训练助手的身份进入 1.2. 由金属材料、代码和AI技术打造的机器人,正在革新运动员的训练方式、恢复过程和竞技表现 2. 个性化训练计划 2.1. 追求卓越的运动表现既是一门科学…...
【QT】C++基础
前言 目前打算一周内学习QT的基本使用,从此篇"C++基础"文章开始记录分享学习经验。 C++及其各种定义C++是面向对象的,什么是面向对象,什么是面向过程? 举例 计算a+b的值: C语言,直接计算a+b;C++,先将a+b封装,封装到类里面形成一个方法,然后再通过这个类去…...
安全研究者的MCP服务器宝典:BugBounty工具集锦
本资源库汇集了多个专为漏洞赏金、渗透测试和信息安全研究设计的MCP服务器,提供一站式安全工具整合,帮助安全专业人员高效开展授权安全测试和研究工作。BugbountiesMCP 一个专为漏洞赏金、渗透测试和信息安全研究设计的Model Context Protocol (MCP) 服务器综合列表资源库。 …...
Unity的VisualStudio工程链接不同步、显示异常处理方法
前段时间,在某次更新项目工程后,原本好好的VS工程,变得不认Unity_Editor的宏、Using显示不正确了,一般来说,这个在Unity使用中,很常见,通用解决办法是:在Unity的Extrenal Tool里有一个Regenerate的按钮,直接重新生成解决方案。 关了Unity工程,到路径里把sln和proj这些…...
Java 高性能与可维护性实战:从语言特性到工程化全链路
一、设计目标:为什么“快”和“稳”必须同时追 在真实业务里,“快”(吞吐、延迟)与“稳”(可维护、可演进)往往拉扯。高性能带来的复杂度不应成为维护负担,而可维护的抽象也不应牺牲关键路径。可落地的目标是:可预测性能:接口在 SLA 下延迟稳定,P95/P99 可控。渐进式…...
二叉树的递归遍历
前中后序的递归遍历 递归算法的三要素确定递归函数的参数和返回值:要确定哪些参数是递归过程中需要处理的,需要处理的就在递归函数里面加上这个参数;然后确定每次返回的递归值是什么; 确定终止条件:必须写终止条件;如果不写终止条件就会栈溢出; 确定单层递归的逻辑: 确…...
我的大学成长与规划
大家好,我是李思慧,一名计算机科学与技术专业的大二学生。生活里,我是个爱折腾的人,喜欢在文字的世界里遨游,也热衷于用视频和图片记录生活、表达创意。 在信工分团委宣传部当干事到现在的部长,是我成长很快的一段时光。从最开始跟着学长学姐学习写各种活动和通知的推文,…...
【笔记】拉格朗日插值
拉格朗日插值的推导对于一个 \(n\) 次多项式 \(f(x) = \sum_{k = 0}^n a_kx^k\),我们只要知道它在 \(n+1\) 个不同点处的取值,就可以进一步解出它的系数 但使用高斯消元法的时间复杂度是 \({\cal O}(n^3)\) 的,如果我们只是想知道这个多项式在某一点 \(x\) 处的值,希望有复…...
自定义渲染管线(Unity Cocos)
参考链接: 团结引擎 - 手册: 在自定义渲染管线中创建简单渲染循环 可定制渲染管线(Deprecated) | Cocos Creator Custom SRP - Custom Render Pipeline | 三叔的数字花园 自定义渲染管线_Unity SRP从零搭建一套图形渲染管线_UWA学堂(翻译的Catlik,还收费) Unity Custom S…...
这是一个测试
这是一个测试...