5G 现网信令参数学习(3) - RrcSetup(1)
目录
1. rlc-BearerToAddModList
1.1 rlc-Config
1.1.1 ul-AM-RLC
1.1.2 dl-AM-RLC
1.2 mac-LogicalChannelConfig
2. mac-CellGroupConfig
2.1 schedulingRequestConfig
2.2 bsr-Config
2.3 tag-Config
2.4 phr-Config
2.5 skipUplinkTxDynamic
3. physicalCellGroupConfig
3.1 p-NR-FR1
3.2 pdsch-HARQ-ACK-Codebook
RRCSetup消息主要包含radioBearerConfig和masterCellGroup两个IE,其中radioBearerConfig包含了SRB1的配置
radioBearerConfig
{srb-ToAddModList {{srb-Identity 1,pdcp-Config {t-Reordering ms3000}}}
},
masterCellGroup则包含了较为复杂的内容,下面重点描述这个IE。
masterCellGroup在RRC协议中的IE类型是CellGroupConfig,这个IE可以用于配置主小区组(master cell group ,MCG)或者辅小区组(secondary cell group,SCG)。该IE可以由一个MAC实体、逻辑信道集、一个主小区(SpCell)以及一个或多个辅小区(SCells)构成。
其中,cellGroupId用于标识这个小区组,取值范围0~maxSecondaryCellGroups。在当前协议版本中(R18),maxSecondaryCellGroups = 3。示例中,该参数的值为0
cellGroupId 0,
1. rlc-BearerToAddModList
示例中,这个list只有一个RLC-BearerConfig,即SRB1的无线承载配置。
logicalChannelIdentityBearer
无线承载对应的逻辑信道ID,示例中为1
servedRadioBearer
对应的无线承载,可以是SRB或者DRB,示例中为SRB1
logicalChannelIdentity 1,
servedRadioBearer srb-Identity : 1,
1.1 rlc-Config
RLC配置可以分为AM或者UM两种模式。示例中的SRB1必然是一个AM配置。
rlc-Config am :
{ul-AM-RLC {sn-FieldLength size12,t-PollRetransmit ms40,pollPDU infinity,pollByte infinity,maxRetxThreshold t32},dl-AM-RLC {sn-FieldLength size12,t-Reassembly ms40,t-StatusProhibit ms0}
},
1.1.1 ul-AM-RLC
sn-FieldLength
指示RLC PDU的序列号(长度)。对于RLC AM而言,仅有size12和size18两种,见38.322 6.2.2.4。示例中为size12,表示序列号长度为12比特,因此序列号取值范围为0~4095。
t-PollRetransmit
RLC AM中用于Poll机制的一个定时器,单位:ms。示例中的值为40ms。
Poll机制是RLC AM中一种用于检测接收端是否正确地收到了数据包的机制,它是一种反馈机制。大致如下:
- 发送端发送一个带有poll bit的RLC PDU,其中polling bit设置在RLC header中
- 接收端收到这个poll bit时,会反馈一个Status PDU,包含所有已经ACK或者NACK的PDU。其中ACK表示正确地接收了这个PDU,NACK表示错误或者丢失的PDU
- 发送端接收这个Status PDU,并决定是否对所有NACK的PDU进行重传
pollPDU
该参数用于在poll机制中、决定是否设置一个Poll,见38.322 5.3.3.2
该参数如果取值p4则对应4个PDUs,p8对应8个PDUs;示例中的infinity则对应无限个PDUs,即不通过PDU_WITHOUT_POLL的计数来添加Poll。
pollByte
和前面的参数pollPdu作用类似,只是门限值为bytes。
该参数如果取值kB25则对应25 kBytes,kB50对应50 kBytes;示例中的infinity则对应无限bytes,即不通过BYTE_WITHOUT_POLL的计数来添加Poll。
maxRetxThreshold
该参数用于在发送端限制一个RLC SDU的重传次数。当重传次数达到这个最大值门限时,RLC会向上层报告重传次数达到最大(见38.322 5.3.2),上层一般会Call drop。
该参数的值tx表示有x次重传,示例中t32表示最大32次重传。
1.1.2 dl-AM-RLC
sn-FieldLength
同ul-AM-RLC中的sn-FieldLength
t-Reassembly
重新组装(Reassembly)的定时器,单位ms。
在RLC层,分段(Segmentation)和组装(Reassembly)是一对互逆的过程。RLC层其中一个职能是负责数据有序地发送,因此,在接收端,当收到的数据出现顺序错乱时,RLC会等待直到所有有序数据都收到为止,再将所有这些数据段组装(Reassembly)然后提交给上层。有时候,RLC可能一直等不到所有有序数据都到达,为了防止RLC接收端无限制地等下去,因此设置了这个t-Reassembly定时器。当这个定时器超时的时候,即使没有等到所有有序数据到达,RLC也会将受到的数据提交个上层,并更新相关参数。
RLC AM和UM都存在分段(Segmentation)和组装(Reassembly),因此两种模式均有对应的t-Reassembly。示例中的t-Reassembly为ms40,表示定时器超时时长为40ms。
RLC AM的t-Reassembly用法见38.322 5.2.3.2
t-StatusProhibit
该定时器用于AM RLC接收端、决定是否禁止STATUS PDU的发送。只有在该定时器超时的时候,才会产生并发送STATUS PDU。该定时器的详细用法见38.322 5.3.4
示例中的ms0表示该定时器不会运行,即这个定时器不会阻止STATUS PDU的产生和发送。
1.2 mac-LogicalChannelConfig
mac-LogicalChannelConfig
{ul-SpecificParameters {priority 3,prioritisedBitRate infinity,bucketSizeDuration ms300,logicalChannelGroup 0,schedulingRequestID 0,logicalChannelSR-Mask FALSE,logicalChannelSR-DelayTimerApplied FALSE}
}
LogicalChannelConfig IE中主要包含ul-SpecificParameters这个IE,包含以下参数:
priority
逻辑信道优先级,取值范围1~16,该参数的值越大,优先级越低。见38.321 5.4.3.1.1
prioritisedBitRate
即PBR,MAC层根据上行grant、分配上行数据的令牌桶算法参数之一。该参数表示单位时间内应该给某个逻辑信道分配的数据量(比特数),因此该参数实际上相当于这个逻辑信道的一个保证速率。每个逻辑信道都具有自己的PBR。
示例中,PBR为infinity,表示对当前逻辑信道的保证速率无限大,即尽可能满足。由于该PBR所属的逻辑信道对应的是SRB1,优先级很高(值为3),实际上infinity就是优先且最大满足。另外,按照38.331的描述,对于SRB,prioritisedBitRate也只能设置为infinity。
bucketSizeDuration
即BSD,和PBR一样、也是MAC层令牌桶算法参数之一。该参数表示PBR持续增加的最大时长,即令牌桶的桶深。(PBR x BSD)表示的含义就是当前逻辑信道可以分配的最大比特数。这个当前即指MAC执行当前Logical Channel Prioritization过程的时候。和PBR一样,每个逻辑信道都具有自己的BSD。
示例中,BSD=300ms,由于PBR=infinity,所以这个参数的值在算法中并不是很重要,因为(PBR x BSD)相当于还是“infinity"。
关于令牌桶算法的讲解,可以参考LTE MAC层令牌桶算法_prioritisedbitrate-CSDN博客,协议部分可以参考38.321 5.4.3.1。
logicalChannelGroup
逻辑信道组ID。取值范围0~maxLCG-ID,R18协议下,maxLCG-ID=7。
schedulingRequestID
指示这个逻辑信道的调度请求(SR)配置。这个ID是一个SR配置集合的索引,这个SR配置集合在后面的IE schedulingRequestToAddModList中给出。
logicalChannelSR-Mask
该参数用于控制配置的上行grants(CUG)是否可以触发调度请求(SR)。其中配置的上行grants是指预先配置好的上行grant,比如半持续调度(SPS)。CUG分为type1和type2两种,type1是指通过RRC配置的上行grant,type2是指通过PDCCH配置的上行grant(见38.321 5.8.2)。type1最典型的就是LTE中的SPS,常用于voice等业务;type2用于突发的上行数据。
示例中参数的值为false,表示该逻辑信道没有SR masking,即允许触发SR。
logicalChannelSR-DelayTimerApplied
该参数指示当前逻辑信道在准备触发SR发送的时候,使用应用一个延迟定时器,即logicalChannelSR-DelayTimer。
示例中参数的值为false,表示不应用这个延迟定时器,一旦有SR触发,则立即发送SR。
2. mac-CellGroupConfig
2.1 schedulingRequestConfig
schedulingRequestConfig
{schedulingRequestToAddModList {{schedulingRequestId 0,sr-ProhibitTimer ms16,sr-TransMax n32}}
},
该IE包含一个schedulingRequestToAddModList和一个schedulingRequestToReleaseList,示例中没有release list。其中,schedulingRequestToAddModList包含了一个由SchedulingRequestToAddMod构成的list。SchedulingRequestToAddMod中的IE如下说明。
schedulingRequestId
当前SR配置的索引,对于某个逻辑信道而言,其对应的SR配置中会携带这个索引(见mac-LogicalChannelConfig中的schedulingRequestID),以便映射到这里对应的SR配置。
示例中,该参数的值为0,且前面mac-LogicalChannelConfig中的schedulingRequestID也为0
sr-ProhibitTimer
这个定时器的作用是,当UE发送一个SR之后,至少在这个定时器给出的时间范围内,不能再次发送SR。
示例中的值ms16,表示16毫秒。
sr-TransMax
表示一个SR的最大发送次数,当超过这个次数后,UE一般会call drop。
一个SR一定会有其对应的MAC PDU,如果这个MAC PDU发送了,则这个SR就会被cancel,SR_COUNTER就会从0开始计数。
示例中的值n32,表示32次。
2.2 bsr-Config
bsr-Config
{periodicBSR-Timer sf5,retxBSR-Timer sf320
},
BSR(Buffer Status Report)配置。
periodicBSR-Timer
周期BSR(Periodic BSR)的定时器,顾名思义即周期性发送的BSR。参数值中的"sf"表示子帧。
示例中sf5表示5个子帧。和LTE一样,5G中一个子帧也是1ms,区别是一个子帧包含的slot数不同,和numerology有关。
retxBSR-Timer
我的理解,这个timer的作用是为了给BSR引入“重传”机制。见下面38.321 5.4.5中的描述:
上面这段协议的描述,意思就是当发送了一个BSR之后,就会启动retxBSR-Timer这个定时器。
再看下面这段:
当retxBSR-Timer这个定时器超时之后,MAC实体会认为这个BSR对应的逻辑信道具有最高优先级。
将上面两点结合起来,就是一个典型的“重传”机制。
既然有了周期BSR,为什么还要引入BSR重传机制?
需要注意的是,BSR是MAC CE,是需要UL grant才能发送的。如果没有ul grant,即使是周期BSR,也是无法发送的。另一方面,当没有ul grant、同时又有BSR需要发送的时候,只有Regular BSR可以触发SR(调度请求)以期待获取ul grant。
而retxBSR-Timer超时后触发的BSR正好是Regular BSR
因此,周期BSR和重传BSR其实是不会互相冲突的。周期BSR用于数据量比较大、且数据流比较平稳的一段时期,此时,由于有稳定和持续不断的ul grant,可以供UE提供周期BSR上报。而重传BSR用于偶发的数据,通过SR/Regular BSR的机制上报,当首次触发了Regular BSR之后,也依然无法获取ul grant进行BSR的上报之后,一旦retxBSR-Timer超时,便会再次触发这个BSR(即重传BSR),和首次触发BSR不同的是:此时重新触发的BSR对应的逻辑信道具有最高优先级。
示例中,值sf320即320个子帧,320ms。
2.3 tag-Config
tag-Config
{tag-ToAddModList {{tag-Id 0,timeAlignmentTimer infinity}}
},
TAG-Config包含两个list
示例中仅有tag-ToAddModList。该list包含一组TAG的配置参数
tag-Id
指示当前SpCell或者SCell的TAG的索引。该值在一个小区组(MCG或者SCG)中是唯一的。
timeAlignmentTimer
该timer定义在38.321中,表示在多长时间范围内MAC实体认为属于该TAG的服务小区是上行时间对齐的。当这个定时器超时时,UE一般会call drop。
示例中,infinity表示该定时器不会超时。
2.4 phr-Config
phr-Config setup :
{phr-PeriodicTimer sf100,phr-ProhibitTimer sf100,phr-Tx-PowerFactorChange dB1,multiplePHR FALSE,dummy FALSE,phr-Type2OtherCell FALSE,phr-ModeOtherCG virtual
},
该IE用于配置UE的功率余量上报(Power Headroom Report,PHR)的相关参数。
phr-PeriodicTimer
周期PHR的定时器,该定时器超时后,会触发PHR。
示例中sf100表示100个子帧,即100ms。
phr-ProhibitTimer
PHR的禁止定时器,该定时器超时后,如果满足一定条件,会触发PHR。其中,“一定条件”是指对功率余量的影响因素改变了、且达到一定的门限,具体见38.321 5.4.6。
示例中sf100表示100个子帧,即100ms。
phr-Tx-PowerFactorChange
前面提到的“一定条件”中的“门限”,具体见38.321 5.4.6。
示例中的dB1表示1dB。
multiplePHR
指示功率余量是使用Single Entry PHR MAC CE上报还是使用Multiple Entry PHR MAC CE上报。对于MR-DC以及NR UL CA,网络会配置这个参数为true;否则为false。
示例中,FALSE表示使用Single Entry PHR MAC CE上报。
phr-Type2OtherCell
指示是否为其它MAC实体的SpCell配置type 2的PHR。如果没有E-UTRA MAC实体,网络会设置这个参数为false。
Type 2 PH:UE在其它MAC实体的SpCell上的名义最大发送功率和其UL-SCH/PUCCH发送功率之间的差别。而Type 1PH则是指当前服务小区上的名义和实际发送功率之差。
Type 2 PH用于EN-DC、NE-DC、以及NGEN-DC(4G主站,5G核心网)中的E-UTRA MAC实体。
示例中的FALSE表示没有配置Type 2的PHR,因为示例是一个5G SA的信令。
phr-ModeOtherCG
当配置了DC时,指示其它小区组(MCG或SCG)中激活小区使用的PHR模式(real或者virtual)。如果没有配置DC,即只有一个小区组时,该字段会被忽略。
从38.321中对于此参数的描述来看,只有当该参数的值为real时才会有意义,协议中没有virtual对应的行为。
示例中的值为virtual,表示没有特别的行为,当前由于示例为SA的信令,该字段本身也会被忽略。
2.5 skipUplinkTxDynamic
skipUplinkTxDynamic FALSE
该参数指示在某些条件满足的情况下、是否跳过上行发送。这些条件定义在38.321 5.4.3.1.3中,
简单来说,就是当UE获得了ul grant之后,如果没有A-CSI请求、且没有用户数据、且没有重要的MAC CE(仅有周期BSR或者padding BSR),则UE会跳过此次上行发送。
示例中,该参数的值配置为FALSE,表示不会跳过上行发送。
3. physicalCellGroupConfig
physicalCellGroupConfig
{p-NR-FR1 23,pdsch-HARQ-ACK-Codebook dynamic
},
3.1 p-NR-FR1
在FR1频段、在当前NR小区组中的所有服务小区中、UE最大的发送功率。UE最大发送功率同时也会收到p-Max(配置在FrequencyInfoUL中)、以及p-UE-FR1(FR1上UE在所有服务小区上的总功率)的限制
示例中23表示23dBm。
3.2 pdsch-HARQ-ACK-Codebook
该参数指示PDSCH的HARQ-ACK码本、是半静态还是动态产生的。
- Semi-Static:半静态码本, 也称为Type-1 HARQ-ACK codebook。即UE根据RRC层PDSCH相关半静态配置, 生成需要发送的半静态的HARQ-ACK码本。
- dynamic:动态码本, 也称为Type-2 HARQ-ACK codebook。即UE根据DCI下行动态调度的情况, 生成需要发送的动态HARQ-ACK码本。
关于semi-static和dynamic码本的具体含义,比较复杂,详见38.213 9.1。
示例中参数的值为dynamic,指示使用动态HARQ-ACK码本。
相关文章:
5G 现网信令参数学习(3) - RrcSetup(1)
目录 1. rlc-BearerToAddModList 1.1 rlc-Config 1.1.1 ul-AM-RLC 1.1.2 dl-AM-RLC 1.2 mac-LogicalChannelConfig 2. mac-CellGroupConfig 2.1 schedulingRequestConfig 2.2 bsr-Config 2.3 tag-Config 2.4 phr-Config 2.5 skipUplinkTxDynamic 3. physicalCellG…...
PHP实现身份证OCR识别API接口
随着社会的发展,身份认证需求不断增长,这与身份证OCR识别技术的发展密切相关。在当今社会,各个领域都需要进行身份认证。传统的人工手动录入身份证信息费时费力,速度慢且容易出错,体验不佳。而身份证 OCR 识别技术通过…...
关于 Qt+Osg中使用背景图HUD受到后绘制几何图形顶点颜色影响 的解决方法
若该文为原创文章,转载请注明出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/143607816 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、Op…...
[CKS] K8S AppArmor Set Up
最近准备花一周的时间准备CKS考试,在准备考试中发现有一个题目关于AppArmor Pod操作权限的问题。 专栏其他文章: [CKS] Create/Read/Mount a Secret in K8S-CSDN博客[CKS] Audit Log Policy-CSDN博客 -[CKS] 利用falco进行容器日志捕捉和安全监控-CSDN博客[CKS] …...
redis笔记-数据结构
zset zset一方面它是一个 set,保证了内部value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权重。 zset的底层是由字典和跳表实现。 字典主要用来存储value和score的对应关系。跳表这个数据结构主要用来提…...
webpack的常见配置
Webpack 是一个现代 JavaScript 应用的模块打包工具,用于将项目中的多个文件和依赖打包成浏览器可以识别的文件,通常是一个或多个 JavaScript、CSS 或其他静态资源的 bundle(将多个模块或文件合并成一个或几个文件的过程,这些合并…...
text-embedding-ada-002;BGE模型;M3E模型是Moka Massive Mixed Embedding;BERT
目录 text-embedding-ada-002 一、模型概述 二、模型功能 三、模型特点 四、模型应用 五、模型优势 BGE模型 一、模型背景与特点 二、模型性能与表现 三、模型迭代与发展 M3E模型是Moka Massive Mixed Embedding 一、基本信息 二、技术特点 三、应用场景 四、性能…...
WebRTC 环境搭建
主题 本文主要描述webrtc开发过程中所需的环境搭建 环境: 运行环境:ubuntu 20.04 Node.js环境搭建 安装编译 Node.js 所需的依赖包: sudo apt-get update sudo apt-get install -y build-essential libssl-dev 下载 Node.js 源码: curl -sL htt…...
FastHTML快速入门:http方法,CSS文件和内联样式,其他静态媒体文件位置
HTTP方法 FastHTML通过函数名与HTTP方法进行匹配。到目前为止,我们定义的URL路由都是针对HTTP GET方法的,这是网页最常见的方法。 表单提交通常作为HTTP POST发送。在处理更动态的网页设计时,也就是所谓的单页应用(SPA࿰…...
项目管理和研发管理中的痛点及其解决方案
在现代企业中,研发管理和项目管理面临着多重挑战,包括资源配置不当、沟通不畅、目标不明确、进度控制困难等。这些痛点不仅影响项目的顺利推进,还可能导致企业在市场竞争中处于劣势。尤其是在资源配置不当方面,企业往往难以合理分…...
机器学习(基础1)
数据集 sklearn玩具数据集 数据量小,数据在sklearn库的本地,只要安装了sklearn,不用上网就可以获取 sklearn现实世界数据集 数据量大,数据只能通过网络获取(为国外数据集,下载需要梯子) skle…...
我谈维纳(Wiener)复原滤波器
Rafael Gonzalez的《数字图像处理》中,图像复原这章内容几乎全错。上篇谈了图像去噪,这篇谈图像复原。 图像复原也称为盲解卷积,不处理点扩散函数(光学传递函数)的都不是图像复原。几何校正不属于图像复原,…...
怎么看真假国企啊?怎么识别假冒国企的千层套路?
一、怎么看真假国企啊? 1.使用具有迷惑性的名称:假冒国企往往在名称中使用“中国”、“中”、“国”等字样,或与知名国企名称相似的字号,以增加其可信度。 2.注册资本虚高:为了显示实力,假冒国企可能会在…...
C#中break和continue的区别?
在C#编程语言中,break和continue是两个用于控制循环流程的关键字,但它们的作用和用途有所不同。 break关键字 break关键字用于立即终止它所在的最内层循环或switch语句,并跳出该循环或switch块。程序执行将继续进行循环或switch语句之后的下一…...
Linux部署nginx访问文件403
问题描述:在linux服务器上通过nginx部署,访问文件403 新配置了一个用户来部署服务,将部署文件更新到原有目录下,结果nginx访问403 原因:没有配置文件的读写权限,默认不可读写,nginx无法访问到文…...
华为OD机试 - 数字排列 - 深度优先搜索dfs算法(Python/JS/C/C++ 2024 C卷 200分)
华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…...
Scrapy爬取heima论坛所有页面内容并保存到数据库中
前期准备: Scrapy入门_win10安装scrapy-CSDN博客 新建 Scrapy项目 scrapy startproject mySpider03 # 项目名为mySpider03 进入到spiders目录 cd mySpider03/mySpider03/spiders 创建爬虫 scrapy genspider heima bbs.itheima.com # 爬虫名为heima &#…...
Kafka参数了解
Kafka配置参数完整说明 1. 基础配置 参数名说明推荐值参考值broker.idbroker的唯一标识符每个节点唯一的整数1delete.topic.enable是否允许删除topictruetruelistenersbroker监听地址SASL_PLAINTEXT://host:9092SASL_PLAINTEXT://172.24.77.15:9092advertised.listeners对外发…...
sql专题 之 where和join on
文章目录 前言where介绍使用过滤结果集关联两个表 连接外连接内连接自然连接 使用inner join和直接使用where关联两个表的区别总结 前言 从数据库查询数据时,一张表不足以查询到我们想要的数据,更多的时候我们需要联表查询。 联表查询我们一般会使用连接…...
day12:版本控制器
版本控制 使用到的命令: ls -al查看当前目录下的文件及文件夹mkdir新建目录rm -rf递归强制删除文件夹 一、安装配置 1、下载地址 Git 2、初始配置 #用户名 git config --global user.name "自定义用户名" #邮箱(公司的联系方式--追责&…...
第四十一章 Vue之初识VueX
目录 一、引言 1.1. vuex的概念 1.2. vuex使用场景 1.3. 优势 二、创建演示项目 2.1. 构建项目步骤 2.2. 项目最终生成结构 2.3. 创建项目文件 2.3.1. App.vue 2.3.2. Son1.vue 2.3.3. Son2.vue 三、创建一个空仓库 3.1. 安装vuex 3.2. 新建仓库 3.3. 挂载仓库…...
GIT的基本使用与进阶
GIT的简单入门 一.什么是git? Git 是一个开源的分布式版本控制系统,用于跟踪文件更改、管理代码版本以及协作开发。它主要由 Linus Torvalds 于 2005 年创建,最初是为 Linux 内核开发而设计的。如今,Git 已经成为现代软件开发中…...
【Linux系统】—— 基本指令(二)
【Linux系统】—— 基本指令(二) 1 「alias」命令1.1 「ll」命令1.2 「alias」命令 2 「rmdir」指令与「rm」指令2.1 「rmdir」2.2 「rm」2.2.1 「rm」 删除普通文件2.2.2 「rm」 删除目录2.2.3 『 * 』 通配符 3 「man」 指令4 「cp」 指令4.1 拷贝普通…...
MFC工控项目实例三十实现一个简单的流程
启动按钮夹紧 密闭,时间0到平衡 进气,时间1到进气关,时间2到平衡关 检测,时间3到平衡 排气,时间4到夹紧开、密闭开、排气关。 相关代码 void CSEAL_PRESSUREDlg::OnTimer_2(UINT nIDEvent_2) {// if (nIDEvent_21 &am…...
【Android、IOS、Flutter、鸿蒙、ReactNative 】文本点击事件
Android Studio 版本 Android Java TextView 实现 点击事件 参考 import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.TextView; import android.widget.Toast;public c…...
json转excel,读取json文件写入到excel中【rust语言】
一、rust代码 将json文件写入到 excel中。(保持json :key原始顺序) use indexmap::IndexMap; use serde::Deserialize; use serde_json::{Value, from_str}; use std::error::Error; use std::io::{self, Write}; use std::path::{Path}; u…...
Java面试要点06 - static关键字、静态属性与静态方法
本文目录 一、引言二、静态属性(Static Fields)三、静态方法(Static Methods)四、静态代码块(Static Blocks)五、静态内部类(Static Nested Classes)六、静态导入(Static…...
动态规划-背包问题——416.分割等和子集
1.题目解析 题目来源 416.分割等和子集——力扣 测试用例 2.算法原理 1.状态表示 这里背包问题基本上和母题的思路大相径庭,母题请见 [模板]01.背包 ,这里的状态表示与装满背包的情况类似,第二个下标就是当选择的物品体积直接等于j时是否可…...
Pr:视频过渡快速参考(合集 · 2025版)
Adobe Premiere Pro 自带七组约四十多个视频过渡 Video Transitions效果,包含不同风格和用途,可在两个剪辑之间创造平滑、自然的转场,用来丰富时间、地点或情绪的变化。恰当地应用过渡可让观众更好地理解故事或人物。 提示: 点击下…...
网络安全---安全见闻2
网络安全—安全见闻 拓宽视野不仅能够丰富我们的知识体系,也是自我提升和深造学习的重要途径!!! 设备漏洞问题 操作系统漏洞 渗透测试视角:硬件设备上的操作系统可能存在各种漏洞,攻击者可以利用这些漏洞…...
淘宝网站咋做/解释seo网站推广
合并区间 给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: intervals [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 示例 2: 输入: intervals [[1,4],[4,5]] 输出: [[1,5]] 解…...
工作室网站开发/seo实战
移动或者重命名 使用方法rename 也有同步方法 内置三个参数 第一个参数是旧的路径和文件名 第二个参数是你要移动的位置和新的文件名 第三个参数是回调函数 回调内置一个参数 参数是错误 const fs require(fs);/*使用方法rename 也有同步方法内置三个参数 …...
网页微信下载/优化是什么意思
全光网络,英文名是All-Optical Network,AON,是指信号在网络的传输和交换始终以光作为载体,在整个过程中没有经过电的处理,比传统的电信网络有更大的信息吞吐能力。全光网络的实现可以缓解流量暴增给通信网络带来的带宽…...
湖州网站建设服务/竞价推广和信息流推广
编程语言 Java 和 C 自 2016 年初就呈现出下降趋势,今年较之去年下降约 6%。其他编程语言乘势往上爬。其实,这一现象的出现也是有原因的。如今,各行各业的软件使用率都很高, C 和 Java 已经不能满足大家的需求,于是&am…...
网站运营与维护是什么/企业培训心得
题目要求: 歌手比赛系统 对一次歌手比赛的成绩进行管理,输入每个选手的数据包括编号、姓名、10个评委的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉最低分)。 实现以下功能: &#x…...
网上查公司怎么查/安卓手机性能优化软件
引言PHP的数组,说白了就是一个映射的键值对集合。那么如何从数组元素中删除元素呢?你肯定首先想到遍历数组,然后找到目标项,然后删除。我看到有同学将要删除的元素 null,这并不起作用,因为 null 也是作为值…...