自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(317)
  • 收藏
  • 关注

原创 【计算机网络篇】数据链路层(5)点对点协议PPP

PPP链路的开始和结束状态都是 静止 状态,这时,用户PC和ISP的拨号服务器之间并不存在物理层的连接,当检测到调制器的载波信号并建立物理层连接后,PPP就进入链路的 建立 状态。3.将数据载荷中出现的每一个ASCII码控制字符(即数值小于0x20的字符), 加上0x20(相当于异或0x20,将其转换成非控制字符),然后在其前面插入转义字符0x7D。NCP配置完成后,就进入 打开 状态,只要链路处于打开状态,双方就可以进行数据通信,当出现故障或链路的一端发出终止请求的时候,就进入 终止 状态。

2024-05-16 14:10:52 323 8

原创 【SpringBoot篇】详解Bean的管理(获取bean,bean的作用域,第三方bean)

在项目中,我们自定义一个类,如果我们想把这个类交给ioc容器管理,加上@Component衍生注解即可如果这个类不是我们自己自定义的,是我们引入第三方依赖中的,而且我们还想把这个类交给ioc容器管理,那么我们应该定义一个方法,在这个方法上加上@Bean在技术的道路上,我们不断探索、不断前行,不断面对挑战、不断突破自我。科技的发展改变着世界,而我们作为技术人员,也在这个过程中书写着自己的篇章。让我们携手并进,共同努力,开创美好的未来!愿我们在科技的征途上不断奋进,创造出更加美好、更加智能的明天!

2024-05-13 15:39:10 1466 81

原创 【计算机网络篇】数据链路层(7)CSMA/CD协议的基本原理

假设站点B发送帧的过程中,站点C也要发送帧,站点C进行载波监听,检测到总线空闲,但是实际上总线并不空闲,这是因为站点B发送的信号还没有传播到站点C。发送帧的站点一旦检测到碰撞,除了立即停止发送帧外,还要再继续发送32比特或48比特的人为干扰信号(Jamming Signal),以便有足够多的碰撞信号使所有站点都能检测出碰撞。假设在站点C使用总线发送帧的过程中,站点B也要发送帧,站点B进行载波监听,发现总线忙,于是持续检测总线,一旦发现总线空闲96比特时间,则立即发送帧。边发送帧还要边检测碰撞,这就是。

2024-05-13 15:36:05 958 4

原创 【计算机网络篇】数据链路层(10)在物理层扩展以太网

以太网集线器一般具有8~32个接口,如果要连接的站点数量超过了单个集线器能够提供的接口数量,就需要使用多个集线器,这样就可以连接成覆盖更大范围、连接更多站点的多级星型以太网。当把2个部门各自的10BASE-T以太网通过一台主干机互连起来后,就把原来2个独立的碰撞域合并成了一个更大的碰撞域,即形成了一个覆盖范围更大,站点数量更多的共享式以太网。这个更大碰撞域的最大吞吐量仍然是10Mb/s,其中的每个站点,相较于它们原先所在的独立碰撞域,所遭遇碰撞的可能性会明显增加。这是它们各自出现碰撞的情况。

2024-05-12 14:29:20 499 11

原创 【计算机网络篇】数据链路层(9)使用集线器的共享式以太网

如下图是使用集线器和双绞线电缆互联了4太主机的星型拓扑的以太网,主机中的以太网卡和集线器的各接口使用RJ45插座,它们之间提高双绞线电缆进行连接,在双绞线电缆的两端是RJ45插头(俗称水晶头)例如,若网络中某个站点的网卡出现了故障而不停地发送帧,集线器可以检测到这个问题,在内部断开与出故障网卡的连线,使整个以太网能正常工作。在使用细同轴电缆的共享总线以太网之后,以太网发展出来了一种使用大规模集成电路来替代总线、并且可靠性非常高的设备,叫作。使用集线器的以太网虽然物理拓扑是星型的,但在。

2024-05-12 14:28:03 439 3

原创 【计算机网络篇】数据链路层(8)共享式以太网的退避算法和信道利用率

帧的发送时延记为T0,在最极端的情况下,源站点在总线的一端,而目的站点在总线的另一端,因此,还要经过一个单程端到端的传播时延T后,总线才能完全进入空闲状态。参数a的值尽量小,T也应该减小,这意味着共享总线以太网端到端的距离不应该太长,而T0值应该尽量大,这意味着帧的长度应该尽量大。在使用CSMA/CD协议的共享总线以太网中,正在发送帧的站点一边发送帧一边检测碰撞,当检测到碰撞的时候就停止发送,如下图所示,横坐标是时间,总线上的某个站点可能产生多次碰撞,并进行多次退避后才能成功发送一个帧。

2024-05-12 14:27:39 493

原创 【SpringBoot篇】基于Redis分布式锁的 误删问题 和 原子性问题

如果属于自己,则不进行锁的删除,假设还是上边的情况,线程1卡顿,锁自动释放,线程2进入到锁的内部执行逻辑,此时线程1反应过来,然后删除锁,但是线程1,一看当前这把锁不是属于自己,于是不进行删除锁逻辑,当线程2走到删除锁逻辑时,如果没有卡过自动释放锁的时间点,则判断当前这把锁是属于自己的,于是删除这把锁。这个时候线程2开始执行,在线程2执行过程中,线程1阻塞结束了,会执行删除锁的操作,相当于判断锁标识并没有起到作用(因为之前一句判断过了),于是就把线程2的锁给删除掉了,又一次发生了误删操作。

2024-05-10 15:36:26 1664 123

原创 K邻算法:在风险传导中的创新应用与实践价值

在当今工业领域,图思维方式与图数据技术的应用日益广泛,成为图数据探索、挖掘与应用的坚实基础。本文旨在分享嬴图团队在算法实践应用中的宝贵经验与深刻思考,不仅促进业界爱好者之间的交流,更期望从技术层面为企业在图数据库选型时提供新的视角与思路。

2024-05-06 14:17:51 2250 102

原创 三大层次学习企业架构框架TOGAF

对于一名架构师来讲,如果说编程语言是知识库层次中的入门石,那么企业架构框架则相当于知识库层次中的金字塔尖。如果想成长为企业级的架构师,企业架构框架是必须要攀登的高塔。目前国内绝大多数企业采用TOGAF标准,因此我们的讨论主要围绕TOGAF展开,涉及主流版本9.1和9.2。在这个过程中,笔者还会广泛运用摩天轮学习法,以便更清晰地呈现相关内容。在本文中,笔者将首先讨论企业架构框架TOGAF的学习方法。目前,关于TOGAF的学习材料主要以官方手册为主,网上的资料大多不成体系。

2024-04-22 14:29:26 2985 115

原创 【PyQt5篇】和子线程进行通信

我们首先使用QtDesigner设计界面。得到代码login.ui。

2024-04-07 21:00:15 1821 20

原创 【PyQt5篇】多线程

这是因为QThread类提供了一个事件循环,可以在后台处理线程的任务,而不会影响到线程的响应性。,当在主线程中执行耗时操作时(例如click_1方法中的for循环),它。我们点击第一个按钮后,不能向文本框里面输入内容。当我们按第二个按钮的时候,能够输入内容。对应的代码btn.ui。

2024-04-06 21:10:20 584 9

原创 【PyQt5篇】使用QtDesigner添加控件和槽

我们首先使用QtDesigner设计界面。

2024-04-06 20:19:19 521

原创 “帮助“Java成长的世界级大师不简单!

是谁?作品一出版就获得著名的Jolt图书大奖,每一版本豆瓣评分均超9.0!连Java之父James Gosling都多次表白他的作品“我很希望我10年前就能拥有这本书。有人可能认为我不需要任何Java方面的书籍,但是我需要这本书”,还在 JavaOne 2001 上直呼“去买这本书吧!他就是《Effective Java》的作者、前Google首席Java架构师、Java集合框架创办人、卡内基梅隆大学(CMU)软件研究所的兼职教授——Joshua Bloch!

2024-04-03 10:36:25 2062 87

原创 【容器源码篇】Map容器(HashTable,HashMap,TreeMap的特点)

首先根据哈希值和表的长度计算出节点在表中的索引位置,然后获取该位置上的节点。如果该节点存在但是下一个节点不为空,则遍历下一个节点,重复上述判断操作,直到找到相等的节点或者遍历结束。在函数内部,首先根据传入的map的大小计算出一个初始容量,并将其和11中的较大值作为Hashtable的容量,并设置加载因子为0.75。首先如果超过了数组的最大容量,那么就直接将阈值设置为整数最大值,然后如果没有超过,那就扩容为原来的2倍,这里要注意是oldThr

2024-03-29 18:52:56 1414 19

原创 【计算机网络篇】数据链路层(4.2)可靠传输的实现机制

到目前为止,已有4个序号未落入接收窗口的数据分组被接收方丢弃了。发送方收到0号确认分组后,将发送窗口向前滑动4个位置,这样,序号4 ~ 7就落入发送窗口内,这样,发送方就可以将序号落入发送窗口内的4 ~ 7号数据分组连续发送出去,而接收方也在等待接收序号落入接收窗口内的4 ~ 7号数据分组。0号数据分组正确到达接收方,接收方正确接收序号落入接收窗口内的0号数据分组,并给发送方发送0号确认分组,接收方现在可以将接收窗口向前滑动4个位置,这样,序号4 ~ 7落入接收窗口内,0号确认分组正确到达发送方。

2024-03-29 09:58:52 1925 67

原创 【容器源码篇】Set容器(HashSet,LinkedHashSet,TreeSet的特点)

比较指定集合的比较器和当前集合的比较器是否相等,如果相等,则使用线性时间版本的添加方式:map.addAllForTreeSet(set, PRESENT)。添加、删除、包含操作的时间复杂度都是O(1):由于HashSet基于哈希表实现,对于添加、删除和包含操作的时间复杂度都是常数级别的,因此具有很高的性能。:HashSet不允许存储重复的元素,如果试图向HashSet中添加一个已经存在的元素,那么添加操作将会失败。:HashSet不保证集合中元素的顺序,即元素在集合中没有特定的顺序。

2024-03-28 22:52:50 1174 4

原创 【计算机网络篇】数据链路层(4.1)可靠传输的相关概念

假设主机H1给H3发送一个分组,当该分组到达传输路径上的路由器R2的时候,由于R2的输入队列快满了,R2根据自身的分组丢弃策略,决定自动丢弃该分组,这就是分组丢失的情况。超时重发的分组到达主机H3,之后,在路由器R5中排队等待了较长时间的原分组也到达了主机H3,这就导致主机H3收到了2个相同的分组,这也属于传输差错的一种情况,即分组重复。假设主机H1给H3发送了一个分组,当该分组到达传输路径的路由器R5时,由于R5比较繁忙,分组在输入队中排队等待了较长的时间,这导致了主机H1对该分组的超时重发。

2024-03-28 21:54:55 561

原创 【容器源码篇】List容器(LinkedList,ArrayList,Vector的特点)

unlinkFirst()方法 和 unlinkLast()方法首先获取第一个节点存储的元素和下一个节点的引用。将当前节点的item和next置为null,帮助垃圾回收。(如果不将其引用设为null,尽管该节点已经从链表结构中移除,但由于可能存在其他地方仍持有对该节点的引用,导致垃圾回收器无法正确判断其是否可回收)更新链表的第一个节点为下一个节点。如果下一个节点为空,则更新最后一个节点为null;否则更新下一个节点的prev(前一个)为null。

2024-03-27 23:18:35 1480 5

原创 【Git篇】复习git

Git是一种分布式版本控制系统,它可以追踪文件的变化、协调多人在同一个项目上的工作、恢复文件的旧版本等。

2024-03-27 23:13:53 602

原创 【计算机网络篇】数据链路层(2)封装成帧和透明传输

因为数据链路层会对上层交付的协议数据单元有限制,其内容不能包含帧定界符,很显然,这样子的数据链路层没有什么应用价值。接收方的数据链路层在物理层交付的比特流中提取帧,遇到第一个帧定界符的时候,认为这是帧的开始,当遇到转移字符时就知道了其后面的1个字节的内容,虽然与帧定界符相同,但是它是数据而不是帧定界符。这是发送方的数据链路层封装成的一个帧,然而,在该帧的数据载荷部分,恰好包含有作为帧定界符的特定位串,发送方的数据链路层在将该帧交付给物理层进行发送之前,会扫描帧的时间载荷。帧定界符是一个特殊数值。

2024-03-23 10:30:21 3344 104

原创 【计算机网络篇】数据链路层(3)差错检测

这里的除法是指:二进制模2除法,二进制模2除法既不向上进位,也不比较除数和被除数的对应位数值的大小,只要以相同位数进行相除即可,相当于对应位进行逻辑异或运算。接收方收到数据和冗余码后,通过生成多项式G(X)来计算收到的数据和冗余码是否产生了误码。进行除法,将待发送的数据作为被除数的一部分,后面添加生成多项式最高次个0以构成被除数。作为被除数,生成多项式各项系数构成的比特串作为除数,进行除法,得到商和余数。生成多项式各项系数构成的比特串作为除数,进行除法,得到商和余数。将余数添加到发送数据的后面,一起发送。

2024-03-23 10:29:13 681

原创 【计算机网络篇】数据链路层(1)数据链路层的地位,问题

路由器从该PDU的首部中,取出目的地址,根据目的地址在转发表中,找到相应的下一跳地址后,将该PDU向下逐层封装后,通过物理层发送出去。接收方的数据链路层收到有误码的帧后,就通知发送方进行重传,发送方给接收方重传该帧。显然,这样子的数据链路层没有什么应用价值,如果能够采取措施,使得数据链路层对上层交付的PDU的内容没有任何限制,就好像数据链路层不存在一样,就称其为透明传输。例如:发送方的数据链路层采用某种检错技术,根据帧的内容计算出一个检错码,将检错码填入帧尾部,帧尾部中用来存放检错码的字段称为。

2024-03-23 10:28:12 1205

原创 【计算机网络篇】物理层(4)信道的极限容量,信道复用技术

例如,在一根光缆中放入100根速率为2.5Gb/s的光纤,对每根光纤采用40倍的密集波分复用,则这根光缆的总数据速率为(2.5Gb/s × 40)× 100 = 10000Gb/s = 10Tb/s。尽管奈氏准者限制了最高码元的传输速率,但是只要采用技术更为复杂的信号调制方法,让码元可以携带更多的比特,岂不是可以无限制地提高信息的传输速率呢?因为在实际的信道中会有噪声,噪声是随机产生的,其瞬时值有时很大,这会影响接收端对码元的识别,并且噪声功率相当于信号功率越大,影响就越大。因此,这种复用技术也称为。

2024-03-20 14:01:00 2597 120

原创 【计算机网络篇】物理层(1)接口特性和传输媒体

常见的卫星通信方法,是在地球站之间,利用位于约26000km高空的人造同步地球卫星,作为中继器的一种微波接力通信,同步地球卫星发射出的电磁波,能辐射到地球上的通信覆盖区的跨度,可达18000km,面积约占全球的1/3。光波在光纤中不断发生全反射,光波就可以沿着光纤传输下去,由于入射角大于产生光的全反射现象的临界角度不止一个,因此,可以有入射角大于临界角的多条不同入射角的光波在同一条光纤中传输,这种光纤称为。(3)功能特性:指明某条线上出现的某一电平的电压表示何意,规定接口电缆的各条信号线的作用。

2024-03-20 14:00:43 1114

原创 【Python爬虫】详解BeautifulSoup()及其方法

使用 BeautifulSoup,你可以将 HTML 或 XML 文档加载到解析树中,并使用类似于 DOM(文档对象模型)的方式来遍历和搜索文档的结构。然后,你可以使用各种方法和属性来定位、提取和操作文档中的元素和数据。总的来说,BeautifulSoup 是一个功能强大且易于使用的工具,用于解析和处理 HTML、XML 等文档,并从中提取所需的数据。由于link标签里面的链接中有a字母,所以link标签也被选出来了。我们查找a标签,head标签里面有a这个 字母,所以被选出来了。

2024-03-19 20:34:59 1625 14

原创 【Maven入门篇】(3)依赖配置,依赖传递,依赖范围,生命周期

依赖配置,依赖传递,依赖范围,生命周期

2024-03-19 20:33:37 1191

原创 【计算机网络篇】物理层(3)编码与调制

我们人类比较熟悉的是十进制数据,而计算机只能处理二进制数据,也就是比特0和比特1,计算机中的网卡将比特0和比特1变换成相应的信号发送到传输媒体,因此,可将信号看作数据的电磁表现。基带信号往往包含较多的低频成分,甚至包含直流成分,而许多信道并不能传输这种低频分量或直流分量,因此,需要对基带信号进行调制后,才能在信道上进行传输。由信源发出的原始信号称为基带信号,也就是基本频带信号,例如:由计算机输出的表示各种文字,图像,音频或视频文件的数字信号,都属于基带信号。使用基本调整方法,一个码元只能包含一个比特信息。

2024-03-18 12:46:55 634 2

原创 【计算机网络篇】物理层(2)传输方式

接收端在每个比特信号的中间时刻进行采样,以判别接收的是比特0还是比特1,这就要求收发双方对表示比特的信号的时间长度达成一致,即所谓的同步。然而,在不采取任何其他措施的情况下,收发双方的时钟频率无法达到严格同步,在数据传输的过程中,必然会产生接收方对信号采样时刻的误差积累。计算机中的网卡同时具有串行传输和并行传输2种方式,当计算机通过其内部的网卡,将数据发送到传输线路上的时候,网卡起到的其中一个非常重要的作用就是并 / 串转换,当计算机通过其内部的网卡从传输线路上接收数据的时候,网卡需要进行串 / 并转换。

2024-03-18 12:43:59 618

原创 【Maven入门篇】(2)IDEA集成Maven环境的具体操作

IntelliJ IDEA 中集成 Maven 环境

2024-03-17 15:41:30 1089 10

原创 使用三种方式读取文本文件

在技术的道路上,我们不断探索、不断前行,不断面对挑战、不断突破自我。总的来说,这三种方式都是通过逐个字符、字符数组或者整行文本来进行读写操作,其中第三种方式使用了缓冲字符流,可以进一步提高效率。不过这次使用一个字符数组作为缓冲区,通过循环读取一定长度的字符数组,然后将整个数组写入目标文件。这种方式更高效,因为它可以一次性读取和写入整行文本,减少了IO操作的次数。这种方式虽然简单,但由于是逐个字符读写,可能会比较慢,特别是对于大文件。使用一个循环来逐个读取源文件中的字符,然后逐个将其写入目标文件。

2024-03-17 15:32:30 767

原创 【计算机网络篇】计算机网络的性能指标

计算机网络的性能指标被用来从不同方面速率是指,也称为数据率或比特率

2024-03-16 10:59:18 1995 104

原创 【Docker篇】自定义Dockerfile的操作

Dockerfile是用于构建Docker镜像的文本文件。它包含了一系列指令和参数,描述了如何构建一个容器镜像。通过编写Dockerfile,可以自动化地构建和部署Docker容器,以及规范化不同环境下的应用程序部署。Dockerfile中的指令可以包括从基础镜像中构建、安装软件包、复制文件、设置环境变量等操作,最终生成一个完整的可运行的Docker镜像。

2024-03-16 10:54:56 605

原创 【Docker篇】数据卷相关操作

在前面文章的nginx案例中,修改nginx的html页面时,需要进入nginx内部。并且因为没有编辑器,修改文件也很麻烦。这就是因为容器与数据(容器内文件)耦合带来的后果。我们可以使用数据卷来解决这个问题。

2024-03-16 10:54:16 1099

原创 【JVM篇】类的生命周期

Java类的生命周期包括加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Usage)和卸载(Unloading)等阶段。加载(Loading):将类的字节码文件加载到内存中。加载:根据类的全限定名找到对应的字节码文件,并读取到内存中。验证:验证字节码的合法性、安全性等,确保符合Java虚拟机规范。准备:为类的静态变量分配内存空间,并设置默认初始值。

2024-03-15 13:39:30 1289 11

原创 【JVM篇】什么是运行时数据区

运行时数据区指的是jvm所管理的内存区域,其中分为两大类线程共享:方法区,堆线程不共享:程序计数器,栈(本地方法栈,虚拟机栈)方法区:存放每一个加载的类的基础信息,运行时常量池,字符串常量池堆:存放创建出来的对象本地方法栈和虚拟机栈都存放了线程中执行方法时需要使用的基础数据。程序计数器存放了当前线程执行的字节码指令在内存中的地址。直接内存主要是NIO使用,有操作系统直接管理,不属于JVM内存。

2024-03-15 13:38:41 928 1

原创 【TypeScript篇】详解TypeScript常用数据类型

TypeScript是一种由微软开发的开源编程语言,它是JavaScript的一个超集,意味着它包含了所有JavaScript的语法和特性,并且可以运行在任何支持JavaScript的浏览器或者操作系统上。TypeScript的目标是通过引入静态类型、类、模块等面向对象编程的概念来增加JavaScript的可维护性和可扩展性,从而提高大型应用程序的开发效率。就是在js基础上加上了类型支持。

2024-03-15 13:37:27 906

原创 【计算机网络篇】计算机网络的定义和分类

计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。

2024-03-14 11:09:17 1626 109

原创 【SpringBoot篇】再战 登录注册操作

总结了一下登录注册的操作,担心忘了。就记录一下,方便以后复习使用。本篇文章仅仅作为我自己复习使用,可能会有问题,请谅解!

2024-03-13 20:59:41 1275 3

原创 【JVM篇】什么是运行时数据区

运行时数据区指的是jvm所管理的内存区域,其中分为两大类线程共享:方法区,堆线程不共享:程序计数器,栈(本地方法栈,虚拟机栈)方法区:存放每一个加载的类的基础信息,运行时常量池,字符串常量池堆:存放创建出来的对象本地方法栈和虚拟机栈都存放了线程中执行方法时需要使用的基础数据。程序计数器存放了当前线程执行的字节码指令在内存中的地址。直接内存主要是NIO使用,有操作系统直接管理,不属于JVM内存。

2024-02-19 10:19:31 1222 26

原创 【JVM篇】有哪些垃圾回收算法

在技术的道路上,我们不断探索、不断前行,不断面对挑战、不断突破自我。科技的发展改变着世界,而我们作为技术人员,也在这个过程中书写着自己的篇章。让我们携手并进,共同努力,开创美好的未来!愿我们在科技的征途上不断奋进,创造出更加美好、更加智能的明天!优点:实现简单,只需要在第一阶段给每个对象维护标志位,第二阶段删除对象即可。也叫标记压缩算法,是对标记清理算法中容易产生垃圾碎片问题的一种解决方法。,这样子,新创建的对象就能分到Eden区了。主要分为下面2个阶段。

2024-02-19 10:19:05 897

CentOS7.6系统安装与使用 .pdf

详细讲解CentOS7.6系统安装与使用,超详细步骤,包你学会。

2023-06-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除