最详细的华为VRP操作指南

news2025/1/12 10:04:50

第二章:华为VRP系统

通用路由平台VRP(Versatile Routing Platform)是华为公司数据通信产品的通用操作系统平台。它以IP业务为核心,采用组件化的体系结构,在实现丰富功能特性的同时,还提供了基于应用的可裁剪和可扩展的功能,使得路由器和交换机的运行效率大大增加。熟悉VRP操作系统并且熟练掌握VRP配置是高效管理华为网络设备的必备基础。

2.1VRP概述

随着网络技术和应用的飞速发展,VRP平台在处理机制、业务能力、产品支持等方面也在持续演进。到目前为止,VRP已经开发出了5个版本,分别是VRP1、VRP2、VRP3、VRP5和VRP8。

  1. VRP版本
  1. VRP1(1998年-2001年)
  1. 集中式设计
  2. 适用中低端设备
  3. 性能比较低
  1. VRP2 (1999年-2000年)
  1. 分布式设计

  1. VRP3(2000年-2004年)
  1. 分布式平台
  2. 支持众多特性
  3. 支持核心路由器
  1. VRP5(2004年-now)
  1. 组件化设计
  2. 应用于华为多个产品
  3. 高性能

  1. VRP8 (2009年-now)
  1. 多进程
  2. 组件化设计
  3. 支持多CPU、多框
  1. 文件系统

华为设备的文件系统如表2-1所示:

                                                        表2-1 华为设备文件类型

文件类型

功能

系统软件

系统软件是设备启动、运行的必备软件,为整个设备提供支撑、管理、业务等功能。常见文件后缀名为:(.cc)

配置文件

配置文件是用户将配置命令保存的文件,作用是允许设备以指定的配置启动生效。常见文件后缀名为:(.cfg, .zip , .dat)。

补丁文件

补丁是一种与设备系统软件兼容的软件,用于解决设备系统软件少量且急需解决的问题。常见文件后缀名为:(.pat)。

PAT文件

PAF文件是根据用户对产品需要提供了一个简单有效的方式来裁剪产品的资源占用和功能特性。常见文件后缀名为:(.bin)。

                                 

  1. 存储设备

华为设备的存储设备如表2-2所示:

                                              表2-2 华为设备存储设备

存储设备

功能

Flash

属于非易失存储器,断电后,不会丢失数据。主要存放系统软件,配置文件等;补丁文件和PAF文件由维护人员上传,一般存储于flash或SD Card中。

NVRAM

非易失随机读写存储器,用于存储日志缓存文件,定时器超时或缓存满后再写入Flash。

SDRAM

同步动态随机存储器是系统运行内存,相当于电脑的内存。

SD Card

断电后,不会丢失数据。存储容量较大,一般出现在主控板上,可以存放系统文件,配置文件,日志等。

USB

USB是接口,用于外接大容量存储设备,主要用于设备升级,传输数据。

  1. 用户级别

华为设备的用户级别如表2-3所示:

                                                          表2-3 华为设备命令行级别

用户等级

命令等级

名称

说明

0

0

参观级

可使用网络诊断工具命令(ping、tracert)、从本设备出发访问外部设备的命令(Telnet客户端命令)、部分display命令等。

1

0 and 1

监控级

用于系统维护,可使用display等命令。

2

0,1 and 2

配置级

可使用业务配置命令,包括路由、各个网络层次的命令,向用户提供直接网络服务。

3-15

0,1,2 and 3

管理级

可使用用于系统基本运行的命令,对业务提供支撑作用,包括文件系统、FTP、TFTP下载、命令级别设置命令以及用于业务故障诊断的debugging命令等。

5、命令行视图

   VRP的视图可以分为:用户视图、系统视图、接口视图、协议视图等。如图2-1所示:

图2-1 华为设备的视图示意图

6、命令行帮助和在线帮助

VRP的常用快捷操作如表2-4所示:

                                                          表2-4 VRP常用快捷操作

命令

功能

Ctrl+A

把光标移动到当前命令行的最前端

Ctrl+E

把光标移动到当前命令行的最尾端

Ctrl+C

停止当前命令的运行,命令并不执行

Ctrl+Z

直接回到用户视图

Ctrl+]

终止当前连接或切换连接,如终止 Telnet 连接等

Ctrl+U

删除整行命今行

Backspace

刷除光标左边的第一个字符

Ctrl+B or <

光标左移一位

Ctrl+F or >

光标右移一位

Tab

输入一个不完整的命令并按Tab 键,就可以补全该命令;读者可以体验一下多按几次 Tab 键的给出

2.2实验一:VRP的基本操作

1、实验目的

  • 理解命令行视图的含义以及进入离开命令行视图的方法
  • 掌握一些常见的命令
  • 掌握使用命令行在线帮助的方法
  • 掌握如何撤销命令
  • 掌握如何使用命令行快捷键

2、实验拓扑

VRP的基本操作实验拓扑如图2-2所示。

图2-2 VRP的基本操作

3、实验步骤

(1):熟悉VRP的视图

<Huawei>    //用户视图

<Huawei>system-view   //从用户视图进入到系统视图

Enter system view, return user view with Ctrl+Z.

[Huawei]      //[ ] 代表系统视图

[Huawei]interface GigabitEthernet 0/0/0  //从系统视图进入到接口视图

[Huawei-GigabitEthernet0/0/0]ip add      //我们只输入“ip add”,然后按Tab键,就可以补全“address”

[Huawei-GigabitEthernet0/0/0]ip address 10.1.1.1 24  //配置接口IP地址为10.1.1.1 ,掩码长度为24位。

[Huawei-GigabitEthernet0/0/0]quit  //quit命令是VRP系统中的退出当前层级命令。

[Huawei]ospf   // 进入到ospf协议视图

[Huawei-ospf-1]  // ospf是我们后面要学习的一个非常重要的动态路由协议,此处仅作为一个示例。

【技术要点1】

Tab键的使用:如果与之匹配的关键字唯一,按下<Tab>键,系统自动补全关键字,补全后,反复按<Tab>关键字不变。示例如下:

[Huawei] info-                            //按下Tab键

[Huawei] info-center

【技术要点2】

  退出命令我们可以用quit、return、和快捷键“Ctrl+z”。

  • Quit命令仅可以返回上一个视图
  • Return命令直接返回到用户视图
  • 快捷键“Ctrl+z”和return一样

(2):给设备命名

[Huawei]sysname joinlabs    //更改系统名为joinlabs

[joinlabs]          //读者可以看到系统名由Huwei变成了joinlabs

(3):查看当前运行的配置文件

<joinlabs>display current-configuration    //查看当前运行的配置文件

#

sysname joinlabs  //系统名为joinlabs

#

aaa

 authentication-scheme default

 authorization-scheme default

 accounting-scheme default

 domain default

 domain default_admin

 local-user admin password cipher OOCM4m($F4ajUn1vMEIBNUw#

 local-user admin service-type http

#

firewall zone Local

 priority 16

#

interface Ethernet0/0/0

#

interface Ethernet0/0/1

#

interface Serial0/0/0

 link-protocol ppp

#

interface Serial0/0/1

 link-protocol ppp

#

interface Serial0/0/2

 link-protocol ppp

#

interface Serial0/0/3

 link-protocol ppp

#

interface GigabitEthernet0/0/0

#

interface GigabitEthernet0/0/1

#

interface GigabitEthernet0/0/2

#

interface GigabitEthernet0/0/3

#

wlan

#

interface NULL0

#

ospf 1   //ospf进程1

#

user-interface con 0

user-interface vty 0 4

user-interface vty 16 20

#

return

【技术要点】

   有读者会问,刚刚我们只配置了系统名和OSPF,为什么还有这么多的命令?

因为除了“sysname joinlabs”,“ospf 1  ” 其它的都是预配,这些配置都是系统本身自带的。

(4):保存当前的配置

<joinlabs>save   //保存

The current configuration will be written to the device  //当前这些配置将会保存到设备

Are you sure to continue?[Y/N]Y  //你是否继续,选择Y

Info: Please input the file name ( *.cfg, *.zip ) [vrpcfg.zip]:  //如果不改名,默认为vrpcfg.zip

May 16 2022 15:40:18-08:00 joinlabs %%01CFM/4/SAVE(l)[0]:The user chose Y when deciding whether to save the configuration to the device.

Now saving the current configuration to the slot 17.

Save the configuration successfully.

<joinlabs>

【技术要点】

如果读者给设备做了配置,没有保存,那么文件只在RAM里面,下次重启,配置就没有了。

所以大家一家要记得保存,只要保存了,文件就就进入了Flash/SD卡里面了,下次重启时,配置还在。

  

(5):查看保存的配置文件

<joinlabs>display saved-configuration    //查看保存的配置文件

#

sysname joinlabs

#

undo info-center enable

#

aaa

 authentication-scheme default

 authorization-scheme default

 accounting-scheme default

 domain default

 domain default_admin

 local-user admin password cipher OOCM4m($F4ajUn1vMEIBNUw#

 local-user admin service-type http

#

firewall zone Local

 priority 16

#

interface Ethernet0/0/0

#

interface Ethernet0/0/1

#

interface Serial0/0/0

 link-protocol ppp

#

interface Serial0/0/1

 link-protocol ppp

#

interface Serial0/0/2

 link-protocol ppp

#

interface Serial0/0/3

 link-protocol ppp

#

interface GigabitEthernet0/0/0

#

interface GigabitEthernet0/0/1

#

interface GigabitEthernet0/0/2

#

interface GigabitEthernet0/0/3

#

wlan

#

interface NULL0

#

ospf 1

#

user-interface con 0

user-interface vty 0 4

user-interface vty 16 20

#

return

【技术要点】

读者在没有保存之前,用display saved-configuration命令查看,可以看到为空。

(6):配置文件重置

<joinlabs>reset saved-configuration   //清空保存的配置文件

Warning: The action will delete the saved configuration in the device.

The configuration will be erased to reconfigure. Continue? [Y/N]:Y  //“配置将会被删除用于重新配置”选择Y

Warning: Now clearing the configuration in the device.

Info: Succeeded in clearing the configuration in the device.

<joinlabs>reboot   //重启,只有重新启动配置才能清空。

Info: The system is now comparing the configuration, please wait.

Warning: All the configuration will be saved to the configuration file for the next startup:, Continue?[Y/N]: N     //”所有的配置会被保存到下次启动文件中,是否继续”?一定要选择N,即不保存当前的配置

Info: If want to reboot with saving diagnostic information, input 'N' and then execute 'reboot save diagnostic-information'.

System will reboot! Continue?[Y/N]:Y  //选择Y

【技术要点】

文件重置相当于还原设备的所有配置,所以读者在使用些命令前要记得备份。

(7):指定系统启动配置文件

<joinlabs>save joinlabs.cfg   //保存配置文件,配置文件名为joinlabs.cfg

Are you sure to save the configuration to flash:/joinlabs.cfg?[Y/N]:y //选择Y或者是回车

<joinlabs>dir flash:   //查看flash中的文件

Directory of flash:/

  Idx  Attr     Size(Byte)  Date        Time       FileName

    0  drw-              -  Aug 07 2015 13:51:14   src

    1  drw-              -  May 16 2022 15:05:00   pmdata

    2  drw-              -  May 16 2022 15:05:03   dhcp

    3  -rw-            603  May 16 2022 15:58:22   private-data.txt

    4  drw-              -  May 16 2022 15:20:09   mplstpoam

    5  -rw-            424  May 16 2022 16:02:18   vrpcfg.zip

    6  -rw-            794  May 16 2022 16:04:21   joinlabs.cfg  //可以看到文件保存成功

32,004 KB total (31,991 KB free)

<joinlabs>startup saved-configuration joinlabs.cfg   //指定启动配置文件名

Info: Succeeded in setting the configuration for booting system.

<joinlabs>save   //保存

The current configuration will be written to the device.

Are you sure to continue?[Y/N]y  //选择Y

Save the configuration successfully.

<joinlabs>display startup //使用命令查看设备重启后调用的配置文件

MainBoard:

  Configured startup system software:        NULL

  Startup system software:                   NULL

  Next startup system software:              NULL

  Startup saved-configuration file:          flash:/joinlabs.cfg

  Next startup saved-configuration file:     flash:/joinlabs.cfg   //可以看到设备下次启动时调用的配置文件

  Startup paf file:                            NULL

  Next startup paf file:                     NULL

  Startup license file:                       NULL

  Next startup license file:               NULL

  Startup patch package:                 NULL

  Next startup patch package:         NULL

【技术要点】

在默认情况下设备会调用根目录下的启动文件 ,而当设备有备份配置文件时,可以指定调用的配置文件,这样可以灵活地实施项目。

2.3实验二:文件查询命令

1、实验目的

  • 掌握文件查询命令

2、实验拓扑

文件查询命令拓扑如图2-13所示。

图2-1 3文件查询命令

3、实验步骤:

(1):查看路由器AR1当前目录

<Huawei>pwd  //查看当前目录

flash:

可以看到当前处于flash目录

步骤:查看当前目录下的文件和目录的信息

<Huawei>dir   //显示当前目录下的文件信息

Directory of flash:/

  Idx  Attr     Size(Byte)  Date        Time(LMT)  FileName

    0  drw-              -  Apr 20 2022 07:21:12   dhcp

    1  -rw-        121,802  May 26 2014 09:20:58   portalpage.zip

    2  -rw-          2,263  Apr 20 2022 07:21:06   statemach.efs

    3  -rw-        828,482  May 26 2014 09:20:58   sslvpn.zip

1,090,732 KB total (784,464 KB free)

【技术要点】

Attr列表解释如下:

‘d’表示当前为目录,‘-’表示当前为文件,‘r’表示当前目录或文件为可读,‘w’ 表示当前目录或文件为可写。

Size表示当前文件和目录的大小。

Filename表示当前目录或文件的名字。

2.4实验三:目录和文件操作

1、实验目的

  • 掌握常用的目录操作命令

2、实验拓扑

目录和文件操作实验拓扑如图2-4所示。

图2-2 4目录文件操作

3、实验步骤:

(1)创建一个新目录,名字为test

<Huawei>mkdir test    //创建目录test

Info: Create directory flash:/test......Done

(2)查看当前目录下是否创建了test目录

<Huawei>dir  //显示当前目录下的文件信息

Directory of flash:/

  Idx  Attr     Size(Byte)  Date        Time(LMT)  FileName

    0  drw-              -  Apr 20 2022 07:29:47   test

    1  drw-              -  Apr 20 2022 07:21:12   dhcp

    2  -rw-        121,802  May 26 2014 09:20:58   portalpage.zip

    3  -rw-          2,263  Apr 20 2022 07:21:06   statemach.efs

    4  -rw-        828,482  May 26 2014 09:20:58   sslvpn.zip

1,090,732 KB total (784,460 KB free)

可以看到已经创建了test目录。

(3)删除目录test

<Huawei>rmdir test    //删除目录test

Remove directory flash:/test? (y/n)[n]:y  //‘y’表示确定删除

%Removing directory flash:/test...Done!

(4)查看当前目录下是否删除了test目录

<Huawei>dir

Directory of flash:/

  Idx  Attr     Size(Byte)  Date        Time(LMT)  FileName

    0  drw-              -  Apr 20 2022 07:21:12   dhcp

    1  -rw-        121,802  May 26 2014 09:20:58   portalpage.zip

    2  -rw-          2,263  Apr 20 2022 07:21:06   statemach.efs

    3  -rw-        828,482  May 26 2014 09:20:58   sslvpn.zip

1,090,732 KB total (784,464 KB free)

通过dir显示的结果,读者可以看到test目录已经删除了。

(5) 重命名sslvpn.zip文件名为huawei.zip

<Huawei>rename sslvpn.zip huawei.zip   //把sslvpn.zip文件名为huawei.zip

Rename flash:/sslvpn.zip to flash:/huawei.zip? (y/n)[n]:y //选择y

Info: Rename file flash:/sslvpn.zip to flash:/huawei.zip ......Done

(6)查看是否改名成功

<Huawei>dir

Directory of flash:/

  Idx  Attr     Size(Byte)  Date        Time(LMT)  FileName

    0  -rw-        828,482  May 26 2014 09:20:58   huawei.zip

    1  drw-              -  Apr 20 2022 07:21:12   dhcp

    2  -rw-        121,802  May 26 2014 09:20:58   portalpage.zip

    3  -rw-          2,263  Apr 20 2022 07:21:06   statemach.efs

1,090,732 KB total (784,464 KB free)

通过dir显示的结果,读者可以看到文件名已改为huawei.zip

(7) 将huawei.zip文件复制并命名为test.txt

<Huawei>copy huawei.zip test.txt    //把 huawei.zip文件复制并命名为test.txt

Copy flash:/huawei.zip to flash:/test.txt? (y/n)[n]:y //选择Y

(8)查看是否修改成功

<Huawei>dir

Directory of flash:/

  Idx  Attr     Size(Byte)  Date        Time(LMT)  FileName

    0  -rw-        828,482  May 26 2014 09:20:58   huawei.zip

    1  drw-              -  Apr 20 2022 07:21:12   dhcp

    2  -rw-        121,802  May 26 2014 09:20:58   portalpage.zip

    3  -rw-        828,482  Apr 20 2022 07:40:02   test.txt

4  -rw-          2,263  Apr 20 2022 07:21:06   statemach.efs

通过dri显示的结果,可以看到目录中多了一个test.txt的文件。

(9)将test.txt目录移入dhcp目录,并查看

<Huawei>move test.txt dhcp/    //把est.txt目录移入dhcp目录

Move flash:/test.txt to flash:/dhcp/test.txt? (y/n)[n]:y //选择y

%Moved file flash:/test.txt to flash:/dhcp/test.txt.

<Huawei>cd dhcp/  //进入dhcp目录

<Huawei>dir //查看当前目录的文件

Directory of flash:/dhcp/

  Idx  Attr     Size(Byte)  Date        Time(LMT)  FileName

    0  -rw-             98  Apr 20 2022 07:21:12   dhcp-duid.txt

    1  -rw-        828,482  Apr 20 2022 07:40:02   test.txt

1,090,732 KB total (783,652 KB free)

通过dir显示的结果,可以看到当前目录下多了一个text.txt文件。

(10)删除text.txt文件

<Huawei>delete test.txt   //删除text.txt文件

Delete flash:/dhcp/test.txt? (y/n)[n]:y   //选择y

Info: Deleting file flash:/dhcp/test.txt...succeed.

<Huawei>dir  //查看当前目录下的文件信息

Directory of flash:/dhcp/

  Idx  Attr     Size(Byte)  Date        Time(LMT)  FileName

    0  -rw-             98  Apr 20 2022 07:21:12   dhcp-duid.txt

1,090,732 KB total (783,648 KB free)

通过dir显示的结果,可以看到已经不存在text.txt文件。

(7)恢复text.txt文件并查看

<Huawei>undelete test.txt    //恢复删除的文件test.txt

Undelete flash:/dhcp/test.txt? (y/n)[n]:y  //选择y

%Undeleted file flash:/dhcp/test.txt.

<Huawei>dir //查看当前目录下的文件信息

Directory of flash:/dhcp/

  Idx  Attr     Size(Byte)  Date        Time(LMT)  FileName

    0  -rw-             98  Apr 20 2022 07:21:12   dhcp-duid.txt

    1  -rw-        828,482  Apr 20 2022 07:40:02   test.txt

1,090,732 KB total (783,648 KB free)

通过dir显示的结果,可以看到text.txt文件已经恢复。

2.5VRP5VRP命令汇总

同上

1表2-5和表2-6是本章出现的命令

表2-5常见的文件系统操作命令汇总

命令

作用

pwd

查看当前目录

dir

显示当前目录下的文件信息

more

查看文本文件的具体内容

cd

修改用户当前界面的工作目录

mkdir

创建新的目录

rmdir

删除目录                   

copy

复制文件

move

移动文件

rename

重命名文件

delete

删除文件

undelete

恢复删除的文件

reset  recycle-bin

彻底删除回收站中的文件

2-6基本配置命令汇总

命令

作用

sysname

配置设备名称

clock datetime

配置本地时区信息

command-privilege level

配置命令等级

display current-configuration

查看当前运行的配置文件

save

配置文件保存

display saved-configuration

查看保存的配置

reset saved-configuration

清除已保存的配置

display startup

查看系统启动配置参数

startup saved-configuration configuration-file 

配置系统下次启动时使用的配置文件

reboot

配置设备重启

本文出自作者的《华为认证HCIA-datacom认证实验指南》

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/182082.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android深入系统完全讲解(43)

为什么要编码&#xff1f;这里主要是因为信息有甬余需要压缩&#xff0c;所以会出现各类算法。如果存储原始 数据&#xff0c;那就很大。 举例来说&#xff0c;BMP&#xff0c;压缩算法有 jpg&#xff0c;png 等等。 比如 PCM&#xff0c;压缩的 mp3 H.264 相关 这里我们看一下…

剑指 Offer 09. 用两个栈实现队列(力扣)

一&#xff1a;题目用两个栈实现一个队列。队列的声明如下&#xff0c;请实现它的两个函数 appendTail 和 deleteHead &#xff0c;分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素&#xff0c;deleteHead 操作返回 -1 )示例 1&#xff1a;输入&…

小米万兆路由器里的Docker安装Alist

小米2022年12月份发布了万兆路由器&#xff0c;里面可以使用Docker。 今天尝试在小米的万兆路由器里安装Alist v3.9.2。 准备工作 请参考https://engchina.blog.csdn.net/article/details/128515422的准备工作。 创建存储 在第三方管理(SimpleDocker)&#xff0c;单击"…

Scala-变量和数据类型

注释在Scala中注释和Java基本一样单行注释&#xff1a;// 多行注释&#xff1a;/* */ 文档注释&#xff1a;/****/变量和常量基本语法声明变量&#xff1a;var 变量名 [:变量类型] 初始值 如&#xff1a;var a:Int 10 声明常量&#xff1a;val 变量名 [:常量类型] 初始值 如…

深度卷积神经网络、池化层

目录1.深度卷积神经网络(a deep convolutional neural network)输入图像的维度是&#xff0c;如果&#xff0c;计算输出图像维度公式&#xff1a;。s表示步幅&#xff0c;p表示填充的层数。filters的通道数是和输入图像的通道数保持一致的。分析上图案例&#xff1a;第一层卷积…

《深入浅出计算机组成原理》学习笔记 Day13

数据通路&#xff08;中&#xff09;1. 时钟信号的硬件实现2. 通过 D 触发器实现存储功能参考1. 时钟信号的硬件实现 有些电路只要需要给定输入&#xff0c;就能得到固定的输出&#xff0c;这样的电路称为组合逻辑电路&#xff08;Combination Logic Circuit&#xff09;。 时…

如何使用自己的虚拟机(linux)做个RAID玩?

在虚拟机原有基础上添加两块磁盘&#xff08;均20G&#xff09;&#xff0c;步骤如下&#xff1a;使用命令“lsblk”检查添加是否生效&#xff1b;使用命令“mdadm”进行linux的raid管理&#xff08;先安装mdadm工具&#xff09;创建RAID1,名字为md1&#xff0c;即使用mdadm命令…

虚拟机字节码执行引擎

------摘自周志明 《深入理解Java虚拟机》运行时栈帧结构Java虚拟机以方法作为最基本的执行单元&#xff0c;“栈帧”&#xff08;Stack Frame&#xff09;则是用于支持虚拟机进行方法调用和方法执行背后的数据结构&#xff0c;它也是虚拟机运行时数据区中的虚拟机栈&#xff…

C语言及算法设计课程实验三:最简单的C程序设计——顺序程序设计((一、二、三、四)的综合文章)

C语言及算法设计课程实验三&#xff1a;最简单的C程序设计——顺序程序设计&#xff08;&#xff08;一、二、三、四&#xff09;的综合文章&#xff09;一、实验目的二、 实验内容2.1、实验内容1&#xff1a;通过下面的程序掌握各种格式转换符的正确使用方法2.2、实验内容2&am…

十年聚焦,巨杉数据库再获毕马威2022领先金融科技50企业殊荣

巨杉数据库凭借在金融科技与分布式数据库领域出色的市场表现与过硬的技术实力&#xff0c;成功入选“2022中国领先金融科技50企业”&#xff0c;成为本次榜单唯一入选的分布式数据库厂商。 1月16日&#xff0c;「2022毕马威中国金融科技企业双50榜单」&#xff08;下简称榜单&a…

数组扁平化,操作方法

数组扁平化是指将一个多维数组变成一维数组。 [1, [[2, 3], 4]] --> [1, 2, 3, 4] 目录 方法1&#xff1a; Array.prototype.flat() 方法2&#xff1a;Array.prototype.toString() 和 Array.prototype.join() 方法3&#xff1a;递归 方法4&#xff1a;扩展运算符 方法5…

Centos下安装ActiveMQ消息中间件

记录一下在centos7.x下面安装activeMQ消息中间件在安装ActiveMQ之前必须保证服务器安装了java环境安装java环境的地址:安装java环境找到activeMQ的官网下载安装包https://activemq.apache.org/components/classic/download/java版本是java8从官网下载后(apache-activemq-5.16.5…

【Linux】题解:生产者与消费者模型(附源代码)

【Linux】题解&#xff1a;生产者与消费者模型&#xff08;附源代码&#xff09; 摘要&#xff1a;本文主要介绍生产者与消费者模型&#xff0c;其中主要内容分为对该模型的介绍及分析&#xff0c;阻塞队列实现该模型&#xff0c;并对其升级实现多生产者多消费者并行执行。其中…

Day14 基于AOP的声明式事务控制

1 Spring 事务编程概述PlatformTransactionManager TransactionDefinition TransactionStatus2 搭建环境数据库准备一个账户表tb account;dao层准备一个AccountMapper&#xff0c;包括incrMoney和decrMoney两个方法;service层准备一个transferMoney方法&#xff0c;分别调用in…

18行列式及其性质

从此课开始&#xff0c;就进入了这门课的第二部分。迄今为止&#xff0c;已经学习了很多关于长方矩阵的知识&#xff0c;现在&#xff0c;把注意力转向方阵&#xff0c;探讨两个大的话题&#xff1a;行列式和特征值&#xff0c;需要行列式的重要原因是求特征值。 行列式是跟每…

U3772频谱分析仪

18320918653 U3772 新的便携式频谱分析仪具有体积小&#xff0c;重量轻的特点&#xff0c;可以在微波和毫米波范围内测量无线信号日本株式会社爱德万测试是全球半导体测试系统的领先企业&#xff0c;于2005年7月6日发布了一种新的便携式频谱分析仪U3771&#xff08;频率达到3…

[Java-多线程] 锁原理(轻量级锁、锁膨胀、自旋锁、偏向锁)

1.Java对象头 我们平时使用的对象都是由两部分组成, 第一部分是对象头, 第二部分是对象的成员变量, 这里我么主要讲解对象头, 以32为虚拟机为例 : Object Header (64 bits)Mark Word (32 bits)Klass Word (32 bits)Klass Word : 每个对象都有类型 通过Klass Word就可以找到对应…

离散数学与组合数学-07命题逻辑

文章目录离散数学与组合数学-07命题逻辑7.1 命题逻辑-什么是命题7.1.1 数理逻辑发展7.1.2 什么是命题7.1.3 复合命题7.2 命题逻辑-命题联结词7.2.1 否定联结词7.2.2 合取联结词7.2.3 析取联结词7.2.4 蕴涵联结词7.2.5 等价联结词7.3 命题逻辑-命题符号化及应用7.3.1 联结词总结…

什么是JMM模型

什么是JMM模型&#xff1f;Java内存模型(Java Memory Model简称JMM)是一种抽象的概念&#xff0c;并不真实存在&#xff0c;它描述的是一组规则或规范&#xff0c;通过这组规范定义了程序中各个变量&#xff08;包括实例字段&#xff0c;静态字段和构成数组对象的元素&#xff…

11. 线程本地变量ThreadLocal的使用

1. 对ThreadLocal的理解 ThreadLocal&#xff0c;有人称它为线程本地变量&#xff0c;也有人称它为线程本地存储&#xff0c;其实表达的意思是一样的。ThreadLocal在每一个变量中都会创建一个副本&#xff0c;每个线程都可以访问自己内部的副本变量。 在多线程环境下&#xff…