JVM内存启动问题

news/2025/10/29 16:23:51/文章来源:https://www.cnblogs.com/hanease/p/19174773

---------------------------------------------------------------------------------------

springboot jar 启动命令 java -jar
 
java -jar 是启动 Spring Boot JAR 包最基础的命令,通过它可以直接运行打包好的 Spring Boot 应用。

1. 基础启动命令

这是最常用的方式,直接执行 JAR 文件,使用应用默认的配置。
bash
 
 
java -jar your-project-name.jar
 
  • your-project-name.jar 需替换为实际的 JAR 文件名,例如 demo-0.0.1-SNAPSHOT.jar
  • 启动后,控制台会输出应用日志,关闭控制台会直接停止应用。

2. 进阶启动配置

在实际场景中,常需要结合配置文件、JVM 参数或后台运行等需求,以下是常见用法。

(1)指定配置文件

当需要使用非默认配置文件(如 application-dev.ymlapplication-test.properties)时,通过 --spring.profiles.active 指定环境。
bash
 
 
# 使用 dev 环境的配置文件
java -jar your-project-name.jar --spring.profiles.active=dev# 也可直接指定外部配置文件路径(适用于配置文件不在 JAR 内的场景)
java -jar your-project-name.jar --spring.config.location=/path/to/application.yml
 

(2)设置 JVM 参数

用于调整内存大小、日志输出格式等 JVM 级别的配置,参数需放在 -jar 前面。
bash
 
 
# 设置初始堆内存 512M,最大堆内存 1024M
java -Xms512m -Xmx1024m -jar your-project-name.jar# 同时指定 JVM 参数和环境配置
java -Xms512m -Xmx1024m -jar your-project-name.jar --spring.profiles.active=prod
 

(3)后台运行(避免控制台关闭后应用停止)

不同操作系统的后台运行命令不同,核心是让进程脱离控制台。
  • Linux/macOS:使用 nohup 和 &,日志默认输出到 nohup.out
    bash
     
     
    nohup java -jar your-project-name.jar --spring.profiles.active=prod &
    
     
     
  • Windows:可使用 start /b 后台运行,或创建批处理脚本。
    cmd
     
     
    start /b java -jar your-project-name.jar --spring.profiles.active=prod
    
     
     

3. 常见问题与解决

  • 问题 1:端口被占用
     
    报错信息通常为 Address already in use,可通过 --server.port 临时指定端口。
    bash
     
     
    java -jar your-project-name.jar --server.port=8081
    
     
     
  • 问题 2:找不到主类
     
    一般是 JAR 包打包不完整,需检查 pom.xml 中是否引入 Spring Boot 打包插件,确保打包正确。
    xml
     
     
    <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
    </build>
    
     
     

要不要我帮你整理一份 Spring Boot JAR 启动命令速查表?里面会包含基础、进阶用法及常见问题解决,方便你日常开发和部署时快速查阅。
 
java -jar 指定内存等参数
 
在使用 java -jar 启动 Spring Boot 应用时,JVM 内存参数(如堆内存、元空间等)需要放在 -jar 前面(JVM 参数必须位于命令主体前),用于指定 JVM 的资源分配策略。以下是常见的内存参数及配置方式:

一、核心内存参数(必知)

1. 堆内存设置(最常用)

  • -Xms:初始堆内存大小(JVM 启动时分配的内存)
  • -Xmx:最大堆内存大小(JVM 运行中允许使用的最大内存)
通常建议将两者设置为相同值(避免 JVM 频繁动态调整堆大小,减少性能损耗)。
单位:k(千字节)、m(兆字节)、g(千兆字节),不写单位默认字节。
bash
 
 
# 示例:初始堆 512M,最大堆 1024M
java -Xms512m -Xmx1024m -jar your-project.jar
 

2. 新生代 / 老年代设置(进阶)

堆内存分为 新生代(Young Generation,存放新创建的对象)和 老年代(Old Generation,存放长期存活的对象),可通过以下参数调整比例:
  • -Xmn:新生代内存大小(建议为堆内存的 1/3 ~ 1/4)
  • -XX:NewRatio:新生代与老年代的比例(默认 2,表示老年代:新生代 = 2:1)
bash
 
 
# 示例:堆内存 1024M,新生代 256M(老年代则为 768M)
java -Xms1024m -Xmx1024m -Xmn256m -jar your-project.jar# 示例:通过 NewRatio 设置老年代:新生代 = 3:1(堆内存 1024M 时,新生代 256M,老年代 768M)
java -Xms1024m -Xmx1024m -XX:NewRatio=3 -jar your-project.jar
 

3. 元空间(Metaspace)设置(Java 8+)

元空间用于存储类信息、方法元数据等(替代 Java 7 及之前的 “永久代”),默认大小受系统内存限制,若类过多可能导致 OOM,需手动指定:
  • -XX:MetaspaceSize:元空间初始大小(触发 GC 的阈值)
  • -XX:MaxMetaspaceSize:元空间最大大小
bash
 
 
# 示例:元空间初始 128M,最大 256M
java -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -jar your-project.jar
 

二、组合配置示例

实际部署中常需同时设置堆内存、元空间,并结合应用环境配置(如指定 prod 环境),示例:
bash
 
 
# 完整示例:堆内存 2G(初始=最大),新生代 512M,元空间最大 512M,使用 prod 环境配置
java -Xms2g -Xmx2g -Xmn512m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -jar your-project.jar --spring.profiles.active=prod
 

三、验证参数是否生效

启动后,可通过 jinfo 命令查看当前应用的 JVM 参数(需知道进程 ID):
  1. 先查进程 ID(Linux 用 ps -ef | grep java,Windows 用 tasklist | findstr java
  2. 执行 jinfo <进程ID>,在输出中搜索设置的参数(如 XmsXmx)。
例如:
bash
 
 
# 查进程 ID
ps -ef | grep your-project.jar# 假设进程 ID 是 12345,查看参数
jinfo 12345 | grep -E "Xms|Xmx|Metaspace"
 

四、注意事项

  1. 参数顺序:JVM 参数(如 -Xms)必须放在 -jar 前面,否则不生效;应用参数(如 --spring.profiles.active)放在 -jar 后面。
  2. 内存上限:最大堆内存(Xmx)不应超过服务器物理内存的 70%(避免与其他进程抢占资源)。
  3. 版本差异:Java 8 及以上用 Metaspace 参数,Java 7 及以下用 PermSize(永久代)参数(如 -XX:PermSize=128m -XX:MaxPermSize=256m)。
如果需要针对特定场景(如高并发、大数据处理)优化 JVM 参数,可以告诉我你的应用特点,我会提供更具体的配置建议~
 
java -jar 机器内存等参数有哪些
 
在使用 java -jar 启动应用时,与 “机器内存” 相关的参数主要是 JVM 内存分配参数(用于控制 JVM 对系统内存的使用),包括堆内存、非堆内存、直接内存等。这些参数决定了 JVM 如何从机器物理内存中分配资源,直接影响应用的性能和稳定性。

一、核心内存参数(按内存区域分类)

1. 堆内存参数(JVM 管理的主要内存区域,存放对象实例)

堆内存是 JVM 中最大的内存区域,所有对象实例都在这里分配,也是垃圾回收的主要区域。
参数作用说明示例
-Xms 初始堆内存大小(JVM 启动时分配的内存) -Xms512m(初始 512MB)
-Xmx 最大堆内存大小(JVM 运行中允许使用的最大堆内存) -Xmx2g(最大 2GB)
-Xmn 新生代内存大小(堆内存中 “新生代” 的固定大小,剩余为老年代) -Xmn1g(新生代 1GB)
-XX:NewRatio 老年代与新生代的比例(默认 2,即老年代:新生代 = 2:1) -XX:NewRatio=3(3:1)
-XX:SurvivorRatio 新生代中 Eden 区与 Survivor 区的比例(默认 8,即 Eden:Survivor=8:1:1) -XX:SurvivorRatio=10(10:1:1)

2. 非堆内存参数(存放类信息、方法元数据等,不参与垃圾回收)

非堆内存独立于堆内存,主要用于存储类结构、常量池、方法元数据等,Java 8+ 用 “元空间” 替代了早期的 “永久代”。
参数作用说明(Java 8+)示例
-XX:MetaspaceSize 元空间初始大小(触发首次 GC 的阈值) -XX:MetaspaceSize=128m
-XX:MaxMetaspaceSize 元空间最大大小(默认无上限,受系统内存限制,建议手动指定避免 OOM) -XX:MaxMetaspaceSize=256m
Java 7 及以下版本(使用 “永久代”):
参数作用说明示例
-XX:PermSize 永久代初始大小 -XX:PermSize=64m
-XX:MaxPermSize 永久代最大大小 -XX:MaxPermSize=128m

3. 直接内存参数(堆外内存,用于 NIO 操作)

直接内存(Direct Memory)不属于 JVM 堆内存,由操作系统直接管理,主要用于 NIO 的 DirectByteBuffer 操作(如网络 IO、文件 IO),避免堆内存与操作系统之间的数据拷贝,提升性能。
参数作用说明示例
-XX:MaxDirectMemorySize 最大直接内存大小(默认与堆内存最大值 -Xmx 一致,建议手动指定) -XX:MaxDirectMemorySize=512m

4. 内存调试与监控参数(辅助排查内存问题)

参数作用说明示例
-XX:+HeapDumpOnOutOfMemoryError 发生堆内存溢出(OOM)时,自动生成堆转储文件(.hprof) 需配合 -XX:HeapDumpPath 使用
-XX:HeapDumpPath 指定堆转储文件的保存路径 -XX:HeapDumpPath=/logs/heapdump.hprof
-verbose:gc 输出 GC 详细日志(包括内存回收情况) 无额外值,直接添加参数
-XX:+PrintGCDetails 打印更详细的 GC 日志(包括各内存区域大小、回收时间等) 无额外值,直接添加参数

二、完整配置示例(结合机器内存)

假设服务器物理内存为 8GB,部署一个 Spring Boot 应用,建议配置如下(避免占用过多内存影响其他进程):
bash
 
 
# 堆内存:初始 2G,最大 4G(不超过物理内存的 50%)
# 新生代:1G(堆内存的 1/4 ~ 1/3)
# 元空间:最大 512M(根据类数量调整)
# 直接内存:最大 1G(若应用大量使用 NIO,可适当增加)
# 开启 OOM 时自动 dump 堆日志
java -Xms2g -Xmx4g -Xmn1g \-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m \-XX:MaxDirectMemorySize=1g \-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/heapdump.hprof \-jar your-project.jar --spring.profiles.active=prod
 

三、注意事项(结合机器内存配置)

  1. 堆内存上限:-Xmx 建议不超过服务器物理内存的 70%(例如 8GB 内存,-Xmx 不超过 5~6GB),避免与其他进程(如数据库、缓存)抢占内存导致系统卡顿。
  2. 初始与最大堆一致:-Xms 与 -Xmx 设为相同值,避免 JVM 运行中动态调整堆大小(会触发额外 GC,影响性能)。
  3. 元空间与直接内存:若应用依赖大量第三方库(类数量多),需调大 MaxMetaspaceSize;若频繁使用 NIO(如 Netty、文件上传),需调大 MaxDirectMemorySize
  4. 监控与调整:通过 jstat(监控 GC 情况)、jmap(查看内存分布)或可视化工具(JConsole、VisualVM)观察内存使用,逐步优化参数。
如果需要根据具体应用场景(如微服务、大数据处理、高并发接口)优化参数,可以告诉我你的应用特点,我会提供更针对性的配置建议~
 
java -jar -XX 配置超过机器的内存 能起来服务么
 
当 java -jar 配置的 JVM 内存参数(如 -Xmx-XX:MaxMetaspaceSize 等)超过机器的实际可用内存时,服务可能启动失败,也可能启动成功但运行中崩溃,具体取决于操作系统的内存管理机制和实际内存压力。

一、可能的结果及原因

1. 启动直接失败(最常见)

如果 JVM 配置的总内存(堆内存 + 元空间 + 直接内存等)超过了机器物理内存 + 虚拟内存(swap)的总和,操作系统会拒绝为 JVM 分配足够的内存,导致启动失败,通常会报类似以下错误:
  • JVM 层面:Error occurred during initialization of VM Could not reserve enough space for object heap(无法预留足够的堆内存)。
  • 操作系统层面:Linux 可能报 out of memory,Windows 可能提示 “内存不足”。
原因:JVM 启动时会尝试向操作系统申请配置的内存(尤其是 -Xms 初始内存),如果系统无法满足,直接启动失败。

2. 启动成功,但运行中崩溃或卡顿

如果配置的内存超过物理内存,但 未超过物理内存 + 虚拟内存(swap)的总和,服务可能启动成功,但会面临严重问题:
  • 频繁卡顿 / 性能暴跌:当 JVM 实际使用的内存超过物理内存时,操作系统会将部分内存数据写入磁盘(swap 分区),而磁盘 IO 速度远低于内存,导致应用响应极慢。
  • 运行中 OOM 崩溃:即使启动时内存足够,若运行中内存需求持续增长(如大量对象创建),超过系统实际能提供的内存(物理 + swap),会触发 OutOfMemoryError 导致进程崩溃。
  • 被操作系统杀死:Linux 有 OOM Killer 机制,当系统内存耗尽时,会优先杀死 “内存占用高且优先级低” 的进程(如 JVM 进程),直接导致服务中断。

二、关键影响因素

  1. 操作系统虚拟内存(swap):若机器配置了 swap 分区(Linux)或页面文件(Windows),系统会将部分磁盘空间作为 “虚拟内存” 临时替代物理内存。若 JVM 配置的内存 ≤ 物理内存 + swap,可能启动成功,但性能会受严重影响。
  2. JVM 内存参数的 “实际使用” 特性:
    • -Xmx 是 “最大堆内存”,启动时 JVM 不会立即占用全部,而是按需增长(但会预留地址空间)。
    • 若配置的 -Xmx 很大,但应用实际运行中内存需求较小(远低于物理内存),可能暂时正常运行(但仍有风险)。
  3. 操作系统内存分配策略:Linux 有 “内存过度分配(overcommit)” 机制,默认允许进程申请超过实际可用的内存(假设进程不会真的用完),但实际使用时若内存不足,会触发 OOM Killer 杀进程。

三、总结

  • 若配置的内存 > 物理内存 + swap 总和:启动失败,无法分配内存。
  • 若配置的内存 ≤ 物理内存 + swap 总和:可能启动成功,但运行中会因频繁 swap 导致性能崩溃,或被系统杀死。
最佳实践:JVM 总内存配置(堆 + 非堆 + 直接内存)应 ≤ 机器物理内存的 70%(避免占用过多内存影响其他进程),且绝不能超过物理内存 + swap 的总和。如果需要调整内存参数,建议先通过 free -m(Linux)或 “任务管理器”(Windows)查看机器实际可用内存。

---------------------------------------------------------------------------------------

java -Xms512m -Xmx4096m -jar demo-0.0.1-SNAPSHOT.jar --server.port=8081
java -Xms512m -Xmx4096m -jar demo-0.0.1-SNAPSHOT.jar --server.port=8082
java -Xms4g -Xmx4g -Xmn1g \
-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m \
-XX:MaxDirectMemorySize=4g \
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/heapdump.hprof \
-jar demo-0.0.1-SNAPSHOT.jar --server.port=8081

java -Xms4g -Xmx4g -Xmn1g \
-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m \
-XX:MaxDirectMemorySize=4g \
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/heapdump.hprof \
-jar demo-0.0.1-SNAPSHOT.jar --server.port=8082

java -Xms4g -Xmx4g -Xmn1g \
-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m \
-XX:MaxDirectMemorySize=4g \
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/heapdump.hprof \
-jar demo-0.0.1-SNAPSHOT.jar --server.port=8083

java -Xms4g -Xmx4g -Xmn1g \
-XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=2048m \
-XX:MaxDirectMemorySize=4g \
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/heapdump.hprof \
-jar demo-0.0.1-SNAPSHOT.jar --server.port=8084

java -Xms20g -Xmx20g -Xmn20g \
-XX:MetaspaceSize=20480m -XX:MaxMetaspaceSize=20480m \
-XX:MaxDirectMemorySize=20g \
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/heapdump.hprof \
-jar demo-0.0.1-SNAPSHOT.jar --server.port=8091

---------------------------------------------------------------------------------------

java -Xms20g -Xmx20g -Xmn20g \
> -XX:MetaspaceSize=20480m -XX:MaxMetaspaceSize=20480m \
> -XX:MaxDirectMemorySize=20g \
> -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/heapdump.hprof \
> -jar demo-0.0.1-SNAPSHOT.jar --server.port=8091
OpenJDK 64-Bit Server VM warning: MaxNewSize (20971520k) is equal to or greater than the entire heap (20971520k). A new max generation size of 20971008k will be used.
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000002c0080000, 21474312192, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 21474312192 bytes for committing reserved memory.
# An error report file with more information is saved as:

 

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

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

相关文章

查找表(LUT)基础知识(2025.10.29)

实例:使用查找表实现1bit全加器 1bit全加器的真值表为A B Ci S Co0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 01 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1A,B为被加数 Ci为前级进位 S为本级相加结果 Co为本级进位 利用最小项表示…

国标GB28181算法算力平台EasyGBS视频实时监控系统打造城市环境监控全场景解决方案

国标GB28181算法算力平台EasyGBS视频实时监控系统打造城市环境监控全场景解决方案一、方案概述 在环境问题备受关注的背景下,传统人工巡查与单点数据采集的监控方式,因动态响应慢、数据整合与可视化不足,已无法满足…

报纸阅读神器:支持多日期多版面自由切换,本地保存更方便

软件介绍 该软件整合了目前市面上的一些报纸阅读资源,方便浏览,版权归报社所有。 使用方法 选择不同的报纸、日期、版面,报纸会自动加载对应的版面(加载按钮似乎没用上)。 默认是在线浏览的,如果取消,会把报纸保…

VR环保教育展厅方案:垃圾分类+节约用水+低碳出行

环境保护需要全社会的共同参与,而公众环保意识的提升是关键的一步。传统的环保教育往往依赖于课堂教学、展览和宣传活动,但这些方式对一些人群尤其是年轻一代的吸引力有限。VR技术的应用,能够打破这些局限,提供一种…

国标GB28181算法算力平台EasyGBS的“算法仓”如何重构视频监控价值

国标GB28181算法算力平台EasyGBS的“算法仓”如何重构视频监控价值在视频监控全面覆盖的今天,如何从海量的、孤立的视频流中实时发现价值信息,是安防领域的核心痛点。本文深入解析基于国标GB28181协议的国标GB28181算…

2025年叠螺式污泥脱水机品牌权威推荐榜单:叠螺污泥脱水机/带式污泥脱水机/带式浓缩污泥脱水机源头厂家精选

叠螺式污泥脱水机作为市政污水处理、工业废水处理等领域的核心固液分离设备,其性能直接关系到污泥处理效果和运营成本。随着国家环保政策的持续收紧和污泥处理需求的增长,叠螺式污泥脱水机市场规模年均增长率稳定在1…

25.10.29

25.10.29昨天还算完成了任务,Redis 收了尾,题也刷了。 晚上准备了一下期中考试,上午期中考试。 今天要做的 继续 BFS 快速看微服务基础知识 近期要做的 MySQL 尽量不听课,直接看文档和面经 考虑了一下,先做个相对…

样式资源键-独立的控件库

自定义样式,供其他项目调用 第一步创建一个控件库项目 第二步创建一个资源键类using System.Windows; namespace SharedStyles;public static class ButtonKeys {// 主按钮样式资源键(强类型定义)public static Com…

频谱分析仪的应用范围与技术解析

频谱分析仪集信号分析、网络测试与EMC评估于一体,具备高动态范围、多频段覆盖及扩展测量功能,广泛应用于通信、电磁兼容及射频元件测试频谱分析仪作为射频测试领域的核心仪器,其功能远不止于基础的频谱观测。现代频…

2025 年不锈钢无缝管源头厂家最新推荐榜:重质守信企业盘点,覆盖多材质多行业适配与高性价比选购参考

引言 在工业生产与基础设施建设中,不锈钢无缝管是关键部件,其质量、规格适配性和性价比直接影响下游行业效率与安全。当前市场上厂家数量多、质量参差不齐,部分厂家存在规格不全、壁厚精度不足、内壁光滑度不达标等…

windows下安装Nginx,并配置成服务

一、下载 进入Nginx官网下载下载WinSW-x64.exe 二、解压nginx至合适目录,重命名WinSW-x64.exe为nginx-service.exe 三、创建配置文件 nginx-service.exe.config <configuration><startup><supportedRu…

2025年TPU材料生产厂家推荐:5大高品质、高性能厂家全解析

热塑性聚氨酯(TPU)作为一种性能优异的高分子材料,在工业制造领域的应用日益广泛。TPU材料凭借其卓越的耐磨性、高弹性、耐油性和环保特性,已成为汽车零部件、电子设备、医疗器械、运动器材等高端制造领域不可或缺的…

2025年国内化工设备厂家/换热器/反应釜综合实力排行榜

文章摘要 随着化工行业向智能化、绿色化方向发展,化工设备制造业迎来技术升级浪潮。换热器、反应釜等核心设备的性能直接影响生产安全与效率,优质设备供应商成为行业关注焦点。本文基于市场调研数据与技术参数评测,…

玩转LuatOS GNSS:定位初启、NMEA数据处理与实时上报秘籍

LuatOS结合GNSS技术,为设备赋予精准定位能力。本实战秘籍聚焦三大核心环节:如何优雅地完成定位初始化、如何高效解析复杂的NMEA数据流,以及如何实现位置信息的实时上报,为您打通LuatOS GNSS开发的任督二脉。 一、G…

实用指南:cmake命令行工具介绍

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年 10 月石墨加工厂家推荐排行榜,高纯石墨加工,精密石墨加工,耐高温石墨加工,异形石墨加工公司推荐

2025 年 10 月石墨加工厂家推荐排行榜:高纯石墨加工、精密石墨加工、耐高温石墨加工、异形石墨加工公司推荐 一、石墨加工行业发展趋势 石墨材料作为现代工业不可或缺的关键材料,在半导体、光伏新能源、航空航天等高…

tensor RT 进行gpu推理加速/模型部署

TensorRT,由NVIDIA精心打造,是一款专为深度学习推理任务设计的高效优化工具。它能够显著降低应用的延迟同时提升处理速度,是大规模数据中心、嵌入式设备以及自动驾驶技术等领域推理加速的理想选择。TensorRT的兼容性…

安装GMSSL时报错is not able to compie a sinple test program

cmake .. -G "NMake Makefiles" -DWIN32=ON -DCMAKE_C_COMPILER_FORCED=ON运行以上命令即可

【比赛记录】2025CSP+NOIP 冲刺模拟赛合集Ⅲ

2025CSP-S模拟赛67(CSP-S模拟42)A B C D Sum Rank60(70) 25 30 5 120 5/14(7/34)A. 乘筛积 对于单次查询,我们可以直接枚举 \(x\) 算出对应的 \(y\) 贡献答案,时间复杂度 \(O(\frac{C}{\max(p,q)})\)。根号分治即可…

Dynamics 365 online 按钮配置地址:/main.aspx?settingsonly=true

基于Power app新版的功能缺少,还是需要回复旧版UI配置,可以通过下面地址进入: 记得收藏并关注,掌握更多相关知识!!!