OSPF ROUTER-ID-新版(15)
目录
整体拓扑
操作步骤
1.INT 验证Router-ID选举规则
1.1 查看路由器Router-ID
1.2 配置R1地址
1.3 查看R1接口信息
1.4 查看R1Router-ID
1.5 删除接口IP并查看Router-ID
1.6 手工配置Router-ID
2.基本配置
2.1 配置R1的IP
2.2 配置R2的IP
2.3 配置R3的IP
2.4 配置R4的IP
2.5 配置PC-1的IP地址
2.6 配置PC-2的IP地址
2.7 配置PC-3的IP地址
2.8 检测R1与PC1连通性
2.9 检测R3与PC2连通性
2.10 检测R4与PC3连通性
3.理解OSPF的Router-ID
3.1 配置R1的OSPF
3.2 配置R2的OSPF
3.3 配置R3的OPSF
3.4 配置R4的OSPF
3.5 测试PC-1和PC-2的连通性
3.6 测试PC-1和PC-3的连通性
3.7 修改R2的Router-ID
3.8 再次查看R2 的OSPF邻居信息
3.9 测试PC-1与PC-2的连通性
3.10 还原R2之前配置
3.11 修改R4的Router-ID
3.12 查看R2的OSPF邻居状态
3.13 查看R2的路由表
3.14 测试PC-1与PC-3的连通性
4.保存数据
4.1保存R1数据
4.2保存R2数据
4.3保存R3数据
4.4保存R4数据
本实验模拟企业网络环境,R1为部门A的网关设备,R3为部门B的网关设备,R4为部门C的网关设备,R2为企业核心路由器。现网络中运行OSPF协议实现全网互通,所有路由器运行在区域0内。网络管理员需要正确配置Router-ID以避免产生不必要的问题。
整体拓扑

操作步骤
1.INT 验证Router-ID选举规则

1.1 查看路由器Router-ID
在进行基本配置之前,在R1上使用命令display route id来查看当前设备上的Router-ID。
<Huawei>system-view
[Huawei]sysname R1
[R1]display router id
Router-ID:0.0.0.0
可以观察到,在设备没有配置任何接口时,Router-ID为0.0.0.0。
system-view
sysname R1
display router id
1.2 配置R1地址
根据实验编址表,在R1的GE 0/0/1接口上配置IP地址10.0.12.1,GE 0/0/0接口配置IP地址10.0.1.254,配置环回接口0的地址1.1.1.1。
[R1]interface gigabitethernet 0/0/1
[R1-GigabitEthernet0/0/1]ip addres 10.0.12.1 24
[R1-GigabitEthernet0/0/1]interface gigabitethernet 0/0/0
[R1-GigabitEthernet0/0/0]ip addres 10.0.1.254 24
[R1-GigabitEthernet0/0/0]interface loopback 0
[R1-LoopBack0]ip addres 1.1.1.1 32
[R1-LoopBack0]quit
interface gigabitethernet 0/0/1
ip addres 10.0.12.1 24
interface gigabitethernet 0/0/0
ip addres 10.0.1.254 24
interface loopback 0
ip addres 1.1.1.1 32
quit
1.3 查看R1接口信息
配置完成后,在R1上查看所有接口信息。
<R1>display ip interface brief
可以观察到,目前所配置的接口及IP地址信息。

display ip interface brief
1.4 查看R1Router-ID
查看当前设备上的Router-ID。
[R1]display router id
可以观察到当前设备上的全局Router-ID为10.0.12.1,而不是环回接口地址1.1.1.1,这是为什么?
原因是接口配置顺序会影响Router-ID的选举,因为设备上第一次配置的是物理接口的地址,该动作便会触发Router-ID的选举。而此刻,设备上也有且仅有该物理地址,所以该地址便会被Router-ID所使用,后续即使再配置了环回接口地址也不会使用。同理,如果第一次配置的是其他物理接口的地址,或者是环回接口的地址,都会被Router-ID所使用。
display router id
1.5 删除接口IP并查看Router-ID
在R1上删除接口GE 0/0/1的IP地址,并再次查看此时设备的Router-ID。
[R1]interface gigabitethernet 0/0/1
[R1-GigabitEthernet0/0/1]undo ip address
UNDO
[R1]display router id
Router-ID:1.1.1.1
可以观察到,当删除当前Router-ID所使用的IP地址时,便会触发重新选举,按照环回接口优先的规则选择使用1.1.1.1作为Router-ID。
interface gigabitethernet 0/0/1
undo ip address
display router id
1.6 手工配置Router-ID
可以采用手动配置的方式强制指定R1的Router-ID为1.1.1.1。这样配置的优点是,即使该地址现在已经不是R1的任何接口的地址,也可以修改成为Router-ID(删除该环回接口也不会触发重新选举)。
<R1>system-view
[R1]router id 1.1.1.1
配置完成后,马上弹出以下信息。
Info: Router-ID has been modified, please reset the relative protocols manually to update the Router-ID.
该信息表示Router-ID已经被修改,请重启相应的路由协议进行更新。即当前全局配置的Router-ID已经被更新,如果目前设备上已经运行了OSPF协议,需要重置OSPF协议进程或者重启整台路由器才可以使得OSPF协议中的Router-ID也同步更新使用该新的全局Router-ID。需要使用命令reset ospf process来重置OSPF协议进程
return
system-view
router id 1.1.1.1
2.基本配置
根据实验编址表进行完成剩余基本配置。
2.1 配置R1的IP
再次在R1的GE 0/0/1接口上配置IP地址10.0.12.1
[R1]interface gigabitethernet 0/0/1
[R1-GigabitEthernet0/0/1]ip addres 10.0.12.1 24
interface gigabitethernet 0/0/1
ip addres 10.0.12.1 24
2.2 配置R2的IP
根据实验编址表配置路由器R2的接口IP地址。
<Huawei>system-view
[Huawei]sysname R2
[R2]interface Loopback 0
[R2-loopback0]ip address 2.2.2.2 32
[R2-loopback0]quit
[R2]interface GigabitEthernet0/0/0
[R2-GigabitEthernet0/0/0]ip address 10.0.12.2 24
[R2-GigabitEthernet0/0/0]quit
[R2]interface GigabitEthernet0/0/1
[R2-GigabitEthernet0/0/1]ip address 10.0.23.2 24
[R2-GigabitEthernet0/0/1]quit
[R2]interface GigabitEthernet0/0/2
[R2-GigabitEthernet0/0/2]ip address 10.0.24.2 24
[R2-GigabitEthernet0/0/2]quit
system-view
sysname R2
interface Loopback 0
ip address 2.2.2.2 32
quit
interface GigabitEthernet0/0/0
ip address 10.0.12.2 24
quit
interface GigabitEthernet0/0/1
ip address 10.0.23.2 24
quit
interface GigabitEthernet0/0/2
ip address 10.0.24.2 24
quit
2.3 配置R3的IP
根据实验编址表配置路由器R3的接口IP地址。
<Huawei>system-view
[Huawei]sysname R3
[R3]interface Loopback 0
[R3-loopback0]ip address 3.3.3.3 32
[R3-loopback0]quit
[R3]interface GigabitEthernet0/0/0
[R3-GigabitEthernet0/0/0]ip address 10.0.23.3 24
[R3-GigabitEthernet0/0/0]quit
[R3]interface GigabitEthernet0/0/1
[R3-GigabitEthernet0/0/1]ip address 10.0.2.254 24
[R3-GigabitEthernet0/0/1]quit
system-view
sysname R3
interface Loopback 0
ip address 3.3.3.3 32
quit
interface GigabitEthernet0/0/0
ip address 10.0.23.3 24
quit
interface GigabitEthernet0/0/1
ip address 10.0.2.254 24
quit
2.4 配置R4的IP
根据实验编址表配置路由器R4的接口IP地址,掩码长度为24。
<Huawei>system-view
[Huawei]sysname R4
[R4]interface Loopback 0
[R4-loopback0]ip address 4.4.4.4 32
[R4-loopback0]quit
[R4]interface GigabitEthernet0/0/0
[R4-GigabitEthernet0/0/0]ip address 10.0.24.4 24
[R4-GigabitEthernet0/0/0]quit
[R4]interface GigabitEthernet0/0/1
[R4-GigabitEthernet0/0/1]ip address 10.0.3.254 24
[R4-GigabitEthernet0/0/1]quit
system-view
sysname R4
interface Loopback 0
ip address 4.4.4.4 32
quit
interface GigabitEthernet0/0/0
ip address 10.0.24.4 24
quit
interface GigabitEthernet0/0/1
ip address 10.0.3.254 24
quit
2.5 配置PC-1的IP地址
双点击PC图标,即可出现配置界面,配置完成后点击应用。
根据实验编制表配置PC-1的IP地址为:10.0.1.1,对应的子网掩码为255.255.255.0,默认网关为10.0.1.254。

2.6 配置PC-2的IP地址
双点击PC图标,即可出现配置界面,配置完成后点击应用。
根据实验编制表配置PC-2的IP地址为:10.0.2.1,对应的子网掩码为255.255.255.0,默认网关为10.0.2.254。

2.7 配置PC-3的IP地址
双点击PC图标,即可出现配置界面,配置完成后点击应用。
根据实验编制表配置PC-3的IP地址为:10.0.3.1,对应的子网掩码为255.255.255.0,默认网关为10.0.3.254。

2.8 检测R1与PC1连通性
并使用ping命令检测R1与PC1直连链路的连通性。
<R1>ping 10.0.1.1
测试完成,通信正常。

ping 10.0.1.1
2.9 检测R3与PC2连通性
并使用ping命令检测R3与PC2直连链路的连通性。
<R3>ping 10.0.2.1
测试完成,通信正常。

ping 10.0.2.1
2.10 检测R4与PC3连通性
并使用ping命令检测R4与PC3直连链路的连通性。
<R4>ping 10.0.3.1
测试完成,通信正常。

ping 10.0.3.1
3.理解OSPF的Router-ID
在所有路由器上配置OSPF协议,并都运行在区域0内。使用ospf router-id命令来配置OSPF协议的私有Router-ID,如果不配置,则默认使用全局下的Router-ID。
注意区分设备全局下的Router-ID和路由协议的Router-ID的概念。如果在路由协议中没有配置Router-ID,就会默认使用路由器的全局Router-ID。如果配置,则可以和全局Router-ID不一致。
一般建议采用环回接口地址作为路由协议的Router-ID,优点为环回接口是逻辑接口,比物理接口更加稳定。在对网络操作时,网络管理员有可能误操作导致物理接口地址删除,或者改动,而环回接口则一般不会去改动。
3.1 配置R1的OSPF
在R1上做OSPF基础配置。
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.1.0 0.0.0.255
return
system-view
ospf 1 router-id 1.1.1.1
area 0
network 10.0.12.0 0.0.0.255
network 10.0.1.0 0.0.0.255
3.2 配置R2的OSPF
在R2上做OSPF基础配置。
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 10.0.23.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255
ospf 1 router-id 2.2.2.2
area 0
network 10.0.12.0 0.0.0.255
network 10.0.23.0 0.0.0.255
network 10.0.24.0 0.0.0.255
3.3 配置R3的OPSF
在R3上做OSPF基础配置。
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 10.0.23.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 10.0.2.0 0.0.0.255
拷贝代码
ospf 1 router-id 3.3.3.3
area 0
network 10.0.23.0 0.0.0.255
network 10.0.2.0 0.0.0.255
3.4 配置R4的OSPF
在R4上做OSPF基础配置。
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.3.0 0.0.0.255
ospf 1 router-id 4.4.4.4
area 0
network 10.0.24.0 0.0.0.255
network 10.0.3.0 0.0.0.255
3.5 测试PC-1和PC-2的连通性
配置完成后测试PC-1和PC-2间的连通性。
PC1>ping 10.0.2.1

ping 10.0.2.1
3.6 测试PC-1和PC-3的连通性
配置完成后测试PC-1和PC-3间的连通性。
PC1>ping 10.0.3.1

ping 10.0.3.1
3.7 修改R2的Router-ID
现在修改R2的Router-ID为3.3.3.3,即R3的Router-ID,使R3和R2的Router-ID重叠,并重置协议进程使该配置生效。(重置进程时,输入‘y’进行确认)
[R2]ospf 1 router-id 3.3.3.3
<R2>reset ospf process
return
system-view
ospf 1 router-id 3.3.3.3
return
reset ospf process
3.8 再次查看R2 的OSPF邻居信息
待协议收敛后,再次查看R2 的OSPF邻居信息。
<R2>display ospf peer
可以观察到到R2与R3的邻居关系消失。

display ospf peer
3.9 测试PC-1与PC-2的连通性
测试PC-1与PC-2的连通性。
PC>ping 10.0.2.1
网络已经发生故障,无法正常通信。验证了OSPF建立直连邻居关系时,Router-ID一定不能重叠。那么如果OSPF非直连邻居的Router-ID重叠会产生什么现象?

ping 10.0.2.1
3.10 还原R2之前配置
还原R2之前的配置。
[R2]ospf 1 router-id 2.2.2.2
<R2>reset ospf process
system-view
ospf 1 router-id 2.2.2.2
return
reset ospf process
3.11 修改R4的Router-ID
调整R4的Router-ID为3.3.3.3,与R3重叠。
[R4]ospf 1 router-id 3.3.3.3
<R4>reset ospf process
return
system-view
ospf 1 router-id 3.3.3.3
return
reset ospf process
3.12 查看R2的OSPF邻居状态
调整R4的Router-ID配置完成后,查看R2的OSPF邻居状态。
<R2>display ospf peer brief
发现R2有两个3.3.3.3的邻居。

display ospf peer brief
3.13 查看R2的路由表
查看R2的路由表。
<R2>display ip routing-table protocol ospf
可以观察到,此时R2没有接收到R4上10.0.3.0/24网段的路由条目,即使路由器邻居关系建立正常,但也无法正常获取路由条目。

display ip routing-table protocol ospf
3.14 测试PC-1与PC-3的连通性
测试PC-1与PC-3的连通性。
PC1>ping 10.0.3.1
可以观察到,通信无法正常进行。这是因为R2认为是同一个OSPF邻居,但是LSA又不一致,造成链路状态数据库发送错误,无法计算出正确的路由信息。
综上所述,OSPF协议的Router-ID务必要在整个路由选择域内保持唯一。

ping 10.0.3.1
4.保存数据
4.1保存R1数据
在R1上保存数据。
<R1>save

save
4.2保存R2数据
在R2上保存数据。
<R2>save

save
4.3保存R3数据
在R3上保存数据。
<R3>save

save
4.4保存R4数据
在R4上保存数据。
<R4>save

save
相关文章:
OSPF ROUTER-ID-新版(15)
目录 整体拓扑 操作步骤 1.INT 验证Router-ID选举规则 1.1 查看路由器Router-ID 1.2 配置R1地址 1.3 查看R1接口信息 1.4 查看R1Router-ID 1.5 删除接口IP并查看Router-ID 1.6 手工配置Router-ID 2.基本配置 2.1 配置R1的IP 2.2 配置R2的IP 2.3 配置R3的IP 2.4 配…...
阿里开源大模型 Qwen-72B 私有化部署
近期大家都知道阿里推出了自己的开源的大模型千问72B,据说对于中文非常友好,在开源模型里面,可谓是名列前茅。 千问拥有有强大的基础语言模型,已经针对多达 3 万亿个 token 的多语言数据进行了稳定的预训练,覆盖领域、…...
ubuntu下编译obs-studio遇到的问题记录
参考的是这篇文档:Build Instructions For Linux obsproject/obs-studio Wiki GitHub 在安装OBS dependencies时, sudo apt install libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libswresample-dev libswscale-d…...
C++的一些知识
一. 语法 move怎么用 https://blog.csdn.net/zhangmiaoping23/article/details/126051520 这个文章讲的很好,其中有一些疑惑的点 (1) 左值引用不能接右值 class T1{int a; }; int main(){T1 t1 T1();T1 && t1_temp T1(); //T1()是一个临时对象…...
大数据 - 大数据入门第一篇 | 关于大数据你了解多少?
🐶1.1 概述 大数据(BigData):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 大数据主要解决、海量数据的采…...
C语言——扫雷
扫雷是一款经典的小游戏,那如何使用C语言实现一个扫雷游戏呢? 一、全部源码 直接把全部源码放在开头,如有需要,直接拿走。 源码分为三个文件: test.cpp/c 主函数的位置 #include "game.h"int main() {…...
计算机网络【DNS】
DNS 基本概述 与 HTTP、FTP 和 SMTP 一样,DNS 协议也是应用层的协议,DNS 使用客户-服务器模式运行在通信的端系统之间,在通信的端系统之间通过下面的端到端运输协议来传送 DNS 报文。但是 DNS 不是一个直接和用户打交道的应用。DNS 是为因特…...
Windows实现MySQL5.7主从复制(详细版)
使用免安装版本(官网下载地址) 在Windows上安装两种MySQL服务并同时开启服务 1.下载配置 打开解压文件所在位置,就新建一个配置文件my.ini。 2.主库安装 主库的my.ini配置文件如下: [mysqld] #设置主库端口,注意须是…...
AI 绘画 | Stable Diffusion 视频生成重绘
前言 本篇文章教会你如何使用Stable Diffusion WEB UI,实现视频的人物,或是动物重绘,可以更换人物或者动物,也可以有真实变为二次元。 视频展示 左边是原视频,右边是重绘视频原视频和Ai视频画面合并 教程 这里需要用到Stable Diffusion WEB UI的扩展插件ebsynth_utility…...
使用easyexcel对导出表格添加合计行
文章目录 一、背景二、实现1、写法一2、写法二 三、遇到的问题四、参考 一、背景 近期开发的一个新功能需要导出和前端展示样式一致的统计表格,而前端使用的elementui的table组件,show-summary属性选择后可以自动计算。后端导出时其他单元格与返回前端展…...
Springcloud Alibaba使用Canal将Mysql数据实时同步到Redis保证缓存的一致性
目录 1. 背景 2. Windows系统安装canal 3.Mysql准备工作 4. 公共依赖包 5. Redis缓存设计 6. mall-canal-service 1. 背景 canal [kənl] ,译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。其诞…...
Python入门学习篇(十四)——模块文件操作
1 模块 1.1 理解 包: python中带有__init__.py文件的文件夹 模块: 文件名(不包含.py后缀),如python官方的time.py中time就是模块1.2 示例代码 import datetime# 调用datetime模块中的datetime类的now()方法 t datetime.datetime.now() # 格式化输出日期和时间 strftime(&qu…...
【数据结构】排序之交换排序(冒泡 | 快排)
交换目录 1. 前言2. 交换排序3. 冒泡排序3.1 分析3.2 代码实现 4. 快速排序4.1 hoare版本4.1.1 分析4.1.2 hoare版本代码 4.2 挖坑法4.2.1 分析4.2.2 挖坑法代码实现 4.3 前后指针版本4.3.1 分析4.3.2 前后指针版本代码实现 1. 前言 在之前的博客中介绍了插入排序,…...
AI电商时代开始:阿里能否反杀拼多多
“AI电商时代刚刚开始,对谁都是机会,也是挑战。” 针对阿里员工对于拼多多财报和电商等的讨论,马云在阿里内网罕见地参与了谈论并发言。 阿里巴巴一向雷厉风行,已打响了AI电商的“第一炮”。 根据《晚点LatePost》报道ÿ…...
STC8H系列单片机入门教程之NVC系列语音播报模块(九)
一、模块简述 ● 模组支持3.3V和5V单片机供电系统 ● 标准2.54MM间距排针与外部连接 ● 支持喇叭0.5W/8欧 ● 适合用于超声波距离、电子秤重量、时钟时间、温度、球赛比分等语音播报 二、引脚说明 序号 名称 说明 1 VCC 电源正(3.3V-5V&#…...
认识计算机网络——计算机网络的组成
计算机网络是由多个计算机和网络设备组成的系统,通过通信协议实现数据传输和信息交换。它是现代社会信息技术的重要支撑,广泛应用于各个领域。本文将介绍计算机网络的主要组成部分,包括硬件设备、软件协议和网络服务。 一、硬件设备 计算机网…...
数据的复制
基本概念 数据的复制指的是通过网络链接的多台机器保留相同的副本 为什么要进行数据的复制 使得用户和数据在地理上比较接近,因为大数据要求我们将计算安排在数据存放的位置和我们基本的内存模型不是很一样 ,比如磁盘调入内存之类的。即使系统的一部分…...
【辐射场】3D Gaussian Splatting
三维高斯…喷喷 \, 3D Gaussian Splatting,下文简称3DGS,是好一段时间以来在三维内容创作和三维重建领域比较有热度的一项技术。 它属于基于图像的三维重建方法,意思就是你对现实物体或者场景拍照片,就能给你训练成一个场景模型&a…...
冒泡排序--------(C每日一题)
冒泡排序: 每次将相邻的两个数比较,将小的调到前头--升序 冒泡排序一个结论: n个数要进行n-1轮比较,第j轮要进行n-j次两两比较 循环体代码: int main() {int i, j,n,a[10],t;//n是几个数比较for(j1;j<n-1;j)//控制轮次for…...
每日一练:LeeCode-347. 前 K 个高频元素(中) - 【优先级队列】
本文是力扣LeeCode-347. 前 K 个高频元素 学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
