版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
20XX/XX/XXHikariCP数据库连接池配置与优化实战指南汇报人:XXXCONTENTS目录01
数据库连接池概述02
HikariCP核心参数解析03
性能调优策略04
SpringBoot集成配置CONTENTS目录05
监控与可观测性06
常见问题排查07
最佳实践案例数据库连接池概述01降低连接创建销毁开销数据库连接创建涉及TCP握手、身份验证等耗时操作(单次耗时几十到几百毫秒),连接池通过预先创建并复用连接,消除频繁创建销毁的性能损耗,显著提升系统响应速度。控制数据库并发访问压力通过设置最大连接数(maximumPoolSize),避免应用无限制创建连接导致数据库资源耗尽,防止因连接过载引发的数据库崩溃,保障数据库服务稳定性。提升资源利用效率连接池通过管理连接生命周期,动态调整空闲连接数量,避免资源闲置浪费。例如低负载时回收空闲连接,高并发时快速分配可用连接,实现资源的高效利用。保障连接可用性与可靠性内置连接有效性校验(如Connection.isValid())和健康检查机制,自动剔除无效连接并创建新连接,确保应用获取的连接始终可用,减少因连接失效导致的业务异常。连接池核心价值与作用HikariCP性能优势分析极致轻量设计核心代码量极少,剔除冗余逻辑,降低CPU指令缓存失效概率,减少潜在BUG风险,保证高稳定性。无锁并发控制采用ConcurrentBag无锁数据结构,通过ThreadLocal线程局部优先、CAS无锁修改、弱一致性原则,最大化降低锁竞争带来的性能损耗。字节码级优化使用FastList替代ArrayList,消除范围检查,优化元素查找;通过Javassist动态生成字节码代理类,替代JDK反射代理,减少性能开销。高效连接管理精细化连接生命周期管理,包括创建、校验、回收、销毁;默认使用JDBC4的Connection.isValid()方法进行连接有效性校验,性能优于传统SELECT1查询。主流连接池性能对比
性能指标对比HikariCP在吞吐量、内存占用和响应时间方面表现突出,普遍比TomcatJDBC高15-20%的吞吐量,内存管理更高效,在100+QPS并发下响应更稳定。
HikariCP核心优势设计简洁,核心类少降低GC压力;初始化速度快,连接获取延迟低;采用多锁分段技术及轻量同步机制,保证高并发低延迟。
与Druid功能对比HikariCP追求性能与配置简单,无SQL监控和防注入功能;Druid功能全面,具备强大监控和SQL防火墙,但性能略逊于HikariCP。
适用场景分析微服务架构、电商金融等需快速响应数据库操作的高并发场景优先选择HikariCP;需要SQL监控和企业级功能时考虑Druid。HikariCP核心参数解析02基础配置参数详解
01数据库连接基础参数包含jdbcUrl(数据库连接地址)、username(用户名)、password(密码),是连接数据库的必备参数,需确保准确无误。
02连接池容量控制参数maximumPoolSize(最大连接数):建议值为CPU核心数×2+磁盘数,避免过大导致资源竞争;minimumIdle(最小空闲连接数):通常设为最大连接数的一半左右,或保持与maximumPoolSize一致以避免动态伸缩开销。
03连接超时与生命周期参数connectionTimeout(获取连接超时时间):默认30秒,高并发系统建议1-5秒,避免设为0;idleTimeout(空闲连接超时):默认10分钟,低负载场景可缩短至2-5分钟,突发流量可延长至15-30分钟;maxLifetime(连接最大生存时间):默认30分钟,需小于数据库wait_timeout,建议设为数据库超时阈值的1/2。
04连接有效性校验参数connectionTestQuery(测试查询):如"SELECT1",JDBC4驱动推荐使用isValid()方法,性能更优;validationTimeout(校验超时时间):默认5秒,确保在合理时间内完成连接验证。连接池容量控制参数maximumPoolSize(最大连接数)核心参数,控制连接池可创建的最大活跃连接数。推荐计算公式:(CPU核心数×2+有效磁盘数),通常设置为10-20,避免过大导致数据库资源竞争和上下文切换开销。电商大促案例中,某平台因设置200导致数据库OOM崩溃。minimumIdle(最小空闲连接数)连接池保持的最小空闲连接数量。建议设置为maximumPoolSize的一半左右,或与maximumPoolSize相同以避免动态伸缩开销。在流量波动大的系统中,适当增加可减少突发请求时的连接创建延迟。容量配置最佳实践单实例maxPoolSize计算:(数据库最大连接数-保留连接)÷应用实例数×0.8(安全系数)。例如MySQL最大连接数500,保留50,4台实例,单实例maxPoolSize为90。生产环境建议结合压测动态调整,避免盲目设置经验值。连接生命周期管理参数连接获取超时(connectionTimeout)客户端等待获取连接的最大时间(毫秒),默认30000ms(30秒)。高并发系统建议设为1000-5000ms,避免设为0(无限等待)。空闲连接超时(idleTimeout)空闲连接在池中的最大存活时间(毫秒),默认600000ms(10分钟)。低负载场景可缩短至2-5分钟,突发流量场景建议延长至15-30分钟。连接最大生存时间(maxLifetime)连接在池中的最长生命周期(毫秒),默认1800000ms(30分钟)。建议设置为数据库wait_timeout的80%,避免数据库主动断开连接。连接存活检查(keepaliveTime)定期验证空闲连接有效性的时间间隔(毫秒),默认0(关闭)。建议设为数据库超时阈值的1/2,如数据库超时300s则设为150s,需小于maxLifetime。连接有效性校验参数
01连接测试查询(connectionTestQuery)用于检测连接是否有效的SQL查询语句,如"SELECT1"。对于支持JDBC4的驱动,建议优先使用Connection.isValid()方法,避免额外SQL开销。
02验证超时时间(validationTimeout)连接验证操作的超时时间(毫秒),默认值为5000ms。需设置小于connectionTimeout,确保验证过程不会影响连接获取效率。
03连接存活检查(keepaliveTime)定期检查空闲连接有效性的时间间隔(毫秒),需小于数据库wait_timeout。建议设为数据库超时阈值的1/2,如数据库超时300s则设为150s。高级功能配置参数01连接泄漏检测(leakDetectionThreshold)用于检测连接未及时归还的阈值(毫秒),建议设为60000(1分钟)。启用后可自动识别未关闭连接并输出堆栈日志,典型配置:leakDetectionThreshold=60000。02连接心跳检测(keepaliveTime)定期验证空闲连接有效性的间隔时间(毫秒),需小于数据库wait_timeout。推荐值为数据库超时阈值的1/2,例如数据库超时300秒时设置为150秒(150000ms)。03连接测试查询(connectionTestQuery)用于验证连接有效性的SQL语句,如"SELECT1"。JDBC4兼容驱动建议使用默认的isValid()方法,低版本驱动需显式配置,避免额外性能开销。04连接初始化SQL(connectionInitSql)连接创建时执行的初始化SQL,可用于设置会话参数(如时区、字符集)。例如配置"SETtime_zone='+8:00'"确保时区一致性,适合多租户场景的schema切换。性能调优策略03连接池容量计算公式单击此处添加正文
经典公式:CPU核心数×2+磁盘数基于系统资源的经验公式,适用于常规业务场景。例如:4核CPU+1块机械磁盘,推荐值为4×2+1=9;4核CPU+SSD(可忽略磁盘数),推荐值为4×2=8。业务适配公式:线程数×(查询耗时+网络延迟)根据业务并发量动态计算,公式为PoolSize≈Tn×(Tm+Tc),其中Tn为并发线程数,Tm为平均查询耗时(ms),Tc为网络延迟(ms)。高并发场景需结合实际压测调整。数据库容量约束公式单实例最大连接数=(数据库最大连接数-预留连接)÷应用实例数×0.8(安全系数)。例如:MySQL最大连接数500,预留50,4个应用实例,单实例推荐(500-50)÷4×0.8=90。最佳实践建议初始配置建议取CPU核心数×2,中小型应用推荐10-20,微服务单实例5-15。避免盲目调大,需结合数据库性能(如MySQL默认最大连接数151)及业务峰值压力测试验证。高并发场景调优方案
01动态扩容策略基于等待队列深度动态调整连接池大小,如每5秒检查等待线程数,当超过阈值时逐步增加maximumPoolSize,避免连接资源浪费与过载风险。
02熔断降级机制当等待连接线程数超过设定阈值(如100)时,启动熔断保护,拒绝新请求并返回友好提示,防止数据库雪崩,保障核心业务可用。
03慢查询隔离处理为慢查询业务配置独立小连接池(如maximumPoolSize=10),启用isolateInternalQueries隔离内部查询,避免长耗时操作阻塞主连接池。
04异步削峰填谷引入消息队列对高并发写请求进行异步化处理,通过缓冲队列削峰,控制数据库访问频率,结合定时任务批量提交,降低连接池瞬时压力。缩短空闲连接超时时间低负载场景下,建议将idleTimeout从默认的10分钟缩短至2-5分钟,及时释放闲置连接,减少资源占用。降低最小空闲连接数可适当降低minimumIdle值,甚至设置为0,避免连接池在低负载时维持过多空闲连接,减少数据库连接压力。调整连接池最大容量根据实际并发量,合理减小maximumPoolSize,避免资源浪费。例如,4核CPU的应用可设置为8-10,而非默认的10或更高。优化连接存活检查周期在低负载且网络稳定的场景,可适当延长keepaliveTime,但需小于数据库wait_timeout的1/2,确保连接有效性同时减少检查开销。低负载场景优化策略动态扩容与弹性配置动态扩容触发机制基于等待队列深度动态调整连接池大小,例如当等待连接的线程数超过10时,自动增加连接池容量,每次增加5个连接,避免连接池成为瓶颈。熔断降级保护策略当等待连接的线程数超过阈值(如100)时,触发熔断机制,拒绝新的请求并返回友好提示,防止系统因连接耗尽而崩溃。慢查询隔离处理为慢查询操作分配独立的小连接池,避免慢查询占用主连接池资源,影响其他正常业务的连接获取,提升系统整体稳定性。配置中心动态调整结合配置中心(如Apollo)实现连接池参数的动态调整,无需重启应用即可修改maximumPoolSize等关键参数,快速响应业务变化。SQL执行效率优化建议
优化SQL查询结构避免使用SELECT*,只查询必要字段;合理使用JOIN代替子查询;拆分复杂SQL为多个简单查询,减少单次查询压力。
索引优化策略为频繁查询的字段建立索引,如WHERE、JOIN、ORDERBY子句涉及的列;避免在索引列上使用函数或计算;定期维护索引碎片。
控制事务与查询时长缩短事务执行时间,避免长事务占用连接;优化慢查询,将执行耗时超过阈值(如500ms)的SQL进行重构或增加索引。
批量操作与预编译语句使用BatchStatement处理批量插入/更新,减少网络交互次数;采用PreparedStatement预编译SQL,提高执行效率并防止SQL注入。SpringBoot集成配置04基础配置示例
SpringBoot配置示例(perties)spring.datasource.hikari.maximumPoolSize=20\nspring.datasource.hikari.idleTimeout=300000\nspring.datasource.hikari.keepaliveTime=120000\nspring.datasource.hikari.connectionTimeout=5000\nspring.datasource.hikari.leakDetectionThreshold=60000
SpringBoot配置示例(application.yml)spring:\ndatasource:\nhikari:\nmaximum-pool-size:20\nminimum-idle:5\nconnection-timeout:5000\nidle-timeout:300000\nmax-lifetime:1800000\npool-name:MyHikariPool
原生Java配置示例HikariConfigconfig=newHikariConfig();\nconfig.setJdbcUrl("jdbc:mysql://localhost:3306/mydb");\nconfig.setUsername("root");\nconfig.setPassword("password");\nconfig.setMaximumPoolSize(20);\nconfig.setConnectionTimeout(5000);\nHikariDataSourcedataSource=newHikariDataSource(config);多环境配置策略
开发环境配置原则开发环境注重调试便利性,建议maximumPoolSize设置为10-15,开启leakDetectionThreshold=60000(60秒)以便及时发现连接泄漏问题,idleTimeout可缩短至300000(5分钟)加速资源释放。
测试环境配置要点测试环境需模拟生产负载,maximumPoolSize建议设置为生产环境的50%-80%,启用connectionTestQuery="SELECT1"确保连接有效性,同时配置与生产一致的maxLifetime=1800000(30分钟)避免环境差异。
生产环境动态调优策略生产环境采用弹性配置,通过Apollo或Nacos实现maximumPoolSize动态调整(如从20扩容至30应对流量高峰),结合监控指标(活跃连接数/等待线程数)设置预警阈值,例如当threadsAwaitingConnection>20时自动触发扩容。
配置隔离与复用方案使用SpringProfiles实现环境隔离,公共配置(如driverClassName)抽取至application.yml,环境特有配置(如url、username)通过application-dev.yml/prod.yml区分,避免硬编码。例如生产环境配置spring.datasource.hikari.pool-name=ProdPool便于监控识别。配置绑定常见问题配置前缀错误误用非标准前缀如"spring.datasource.pool",正确应为"spring.datasource.hikari.*",否则属性无法映射到HikariConfig实例。自定义DataSource冲突手动创建DataSourceBean会绕过SpringBoot自动配置,导致"spring.datasource.hikari.*"配置项被忽略,应依赖自动配置机制。属性名拼写错误如将"maximum-pool-size"误写为"maxPoolSize"或"max-size",需严格遵循HikariConfig属性命名规则,可参考官方文档核对。多环境配置缺失未在对应profile配置文件(如application-dev.yml)中设置Hikari参数,导致特定环境下使用默认值,建议为不同环境单独配置。与ORM框架集成要点
JPA/Hibernate集成配置SpringBoot环境下无需额外配置,JPA自动使用HikariCP作为默认连接池。可通过spring.datasource.hikari.*属性直接配置连接池参数,如maximum-pool-size、connection-timeout等。
MyBatis集成最佳实践在MyBatis配置中指定HikariDataSource作为数据源,确保SqlSession使用try-with-resources自动释放连接。示例:通过SqlSessionFactoryBuilder构建工厂时传入HikariDataSource实例。
事务管理与连接释放使用@Transactional注解时,确保事务边界合理,避免长事务占用连接。ORM框架会自动管理连接生命周期,但需注意手动获取连接时必须在finally块中调用close()。
多数据源隔离策略通过@Qualifier注解区分不同HikariDataSource实例,为不同ORM框架或业务模块配置独立连接池。例如为报表查询配置专用小连接池,设置isolateInternalQueries=true实现查询隔离。监控与可观测性05核心监控指标解析
连接使用情况指标activeConnections:当前活跃连接数,长期接近maximumPoolSize需扩容或优化SQL;idleConnections:空闲连接数,反映连接池闲置状态;awaitingConnections:等待获取连接的线程数,非零值表示连接不足。
连接生命周期指标totalConnections:历史创建的连接总数;threadsAwaitingConnection:当前等待获取连接的线程数;connectionTimeout:获取连接超时时间(毫秒),默认30000ms。
性能指标connectionCreationTime:连接创建平均耗时(毫秒);poolUsage:连接池使用率(active/max),持续高于80%需关注;maxLifetime:连接最大存活时间,默认1800000ms(30分钟)。核心监控指标体系需重点监控四大类指标:连接使用情况(活跃连接数、空闲连接数、等待线程数)、连接生命周期(总连接数、连接创建耗时)、性能指标(池使用率、获取连接耗时)、健康状态(连接验证成功率、泄漏检测数)。Prometheus指标暴露配置通过Micrometer注册表绑定HikariCP指标,示例代码:dataSource.setMetricRegistry(meterRegistry);关键指标包括hikaricp_connections_active、hikaricp_connections_idle、hikaricp_connections_awaiting等。Grafana可视化面板设计推荐配置三个核心面板:连接池使用趋势图(展示active/idle/max关系)、等待线程告警面板(设置阈值触发提醒)、连接创建耗时百分位图(监控P99/P95性能)。关键告警规则设置建议配置高连接等待告警(hikaricp_connections_awaiting>5持续5分钟)、连接池使用率告警(active/max>0.9持续10分钟)、连接泄漏告警(leakDetectionThreshold触发日志)。Prometheus+Grafana监控方案JMX监控配置JMX监控开启方式通过设置HikariConfig的registerMbeans属性为true启用JMX监控,默认值为false。启用后可通过JConsole或VisualVM等工具连接监控。核心监控指标包括活跃连接数(activeConnections)、空闲连接数(idleConnections)、等待连接线程数(threadsAwaitingConnection)、总连接数(totalConnections)等关键指标。JMX集成代码示例config.setRegisterMbeans(true);配置后,HikariCP会自动注册MBean到JVM的MBean服务器,支持实时查看和管理连接池状态。监控工具使用建议推荐使用JConsole连接应用进程,在MBeans标签下查看com.zaxxer.hikari节点,可实时监控连接池运行指标并进行动态参数调整。告警规则设置高连接等待告警当等待连接的线程数超过20个且持续2分钟时触发,通过Prometheus配置表达式:hikari_threads_awaiting_connection>20,用于及时发现连接池容量不足问题。连接池使用率告警当活跃连接数与最大连接数比值超过90%时触发,表达式:hikari_connections_active/hikari_connections_max>0.9,防止连接池资源耗尽导致服务不可用。慢连接获取告警当连接获取平均耗时超过100毫秒且持续5分钟时触发,表达式:rate(hikari_connection_acquire_seconds_sum[5m])>0.1,提示可能存在连接获取性能瓶颈。连接泄漏检测告警启用leakDetectionThreshold参数(建议设为60秒),当连接被占用超过阈值时,HikariCP自动记录泄漏堆栈日志,便于定位未正确释放连接的代码。常见问题排查06连接池耗尽问题处理
问题表现与核心诱因连接池耗尽表现为应用抛出"Poolexhausted"错误,日志出现"Connectionisnotavailable,requesttimedout"提示,数据库监控显示活跃连接数持续等于maximumPoolSize。主要诱因包括连接泄漏、最大连接数配置不足、长事务占用连接、线程池与连接池配置不匹配。
连接泄漏检测与修复启用leakDetectionThreshold参数(建议设为60000ms),HikariCP会自动检测未及时归还的连接并输出堆栈日志。修复需确保所有连接在try-with-resources中使用,或在finally块显式关闭。典型案例:某电商平台因ResultSet未关闭导致连接泄漏,启用检测后60秒内定位问题代码。
配置优化与资源调整根据公式"最大连接数=(CPU核心数×2+磁盘数)"调整maximumPoolSize,避免超过数据库端连接上限。高并发场景可临时调大连接池至10-20,同时优化线程池线程数与连接池大小匹配。某项目将线程池线程数从50降至30,配合连接池扩容至20,解决连接争抢问题。
业务与架构层优化策略拆分长事务,将远程调用、文件IO等非数据库操作移出事务;引入异步队列削峰,如使用RabbitMQ缓冲写请求。某支付系统通过异步化订单入库,将连接持有时间从800ms降至150ms,连接池压力降低60%。同时建立连接池监控告警,当等待线程数>20时触发预警。连接泄漏检测与修复
连接泄漏的危害与表现连接泄漏会导致连接池耗尽,表现为活跃连接数持续增长至最大连接数,新请求获取连接超时,应用出现500或504错误,数据库负载异常升高。启用泄漏检测机制通过配置leakDetectionThreshold参数(单位:毫秒)启用检测,建议设置为60000(1分钟)。当连接占用超过该阈值,HikariCP会记录警告日志并显示堆栈轨迹。代码层面预防措施使用try-with-resources语句自动关闭连接,确保Connection、Statement、ResultSet在finally块中关闭,避免在异步任务或长事务中长时间持有连接。泄漏问题排查与修复案例某电商平台因DAO层未关闭ResultSet导致连接泄漏,启用leakDetectionThreshold后定位到问题代码,修复后连接池活跃连接数从50降至8,超时错误消失。连接超时问题排查
超时症状识别应用频繁抛出SQLTransientConnectionException,日志出现"Timeoutfailurestats"或"Connectionisnotavailable"警告,数据库监控显示活跃连接数持续等于最大连接数。
核心原因分析主要原因包括:maximumPoolSize设置过小无法满足并发需求;连接未正确关闭导致泄漏;长时间运行的SQL或事务占用连接;数据库响应延迟突增。
快速诊断步骤检查connectionTimeout配置是否合理;监控等待连接线程数(threadsAwaitingConnection)变化趋势;通过慢查询日志分析SQL执行效率;验证数据库服务器负载及网络状况。
解决方案实施根据CPU核心数×2+磁盘数公式调整maximumPoolSize;确保使用try-with-resources自动关闭连接;启用leakDetectionThreshold(如60000ms)检测泄漏;优化慢查询并拆分长事务。01核心配置缺失排查检查perties/yaml中是否配置spring.datasource.url、username、password等必填项,确保数据库连接信息完整准确。02依赖冲突处理排查项目依赖,避免同时引入多个连接池实现(如HikariCP与Druid共存),确保SpringBoot自动配置能正确识别HikariCP。03自定义数据源冲突若存在自定义DataSourceBean,需确保通过@ConfigurationProperties绑定HikariCP参数,或直接使用SpringBoot自动配置的HikariDataSource。04驱动类与URL匹配验证driver-class-name与jdbc-url协议匹配(如MySQL使用com.mysql.cj.jdbc.Driver,PostgreSQL使用org.postgresql.Driver),避免因驱动类缺失导致ClassNotFoundException。启动失败问题解决日志分析技巧
核心日志关键词定位通过关键日志片段快速定位问题场景,如"Timeout"对应连接获取超时,"Leak"标识连接泄漏,"Acquisition"提示连接池耗尽。日志级别与生效范围ERROR级记录严重故障(如连接池无法启动),WARN级提示配置警告,DEBUG级输出连接获取/归还等调试信息,TRACE级提供纳米级执行详情。动态日志级别调整在SpringBoot环境中通过Actuator端点动态调整日志级别,例如使用POST请求开启HikariPool的DEBUG级别,问题排查后恢复INFO级别。典型日志模式识别连接超时模式表现为"active=total"且"waiting>0",需增加maximumPoolSize;连接泄漏模式会输出线程堆栈,可通过leakDetectionThreshold定位未关闭连接。最佳实践案例07大促场景核心需求电商大促需应对百万级并发请求,要求连接池具备高吞吐量、低延迟特性,同时避免连接耗尽导致服务雪崩。黄金配置模板maximumPoolSize=50(按公式:(16核CPU×2+1SSD)/1=33,实际调整至50),minimumIdle=5,connectionTimeout=3000ms,idleTimeout=300000ms,keepaliveTime=30000ms,leakDetectionThresh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蚌埠城市轨道交通职业学院《反馈制度经济学》2025-2026学年期末试卷
- 泉州工程职业技术学院《融合教育》2025-2026学年期末试卷
- 六安应用科技职业学院《康复功能评定》2025-2026学年期末试卷
- 长春师范高等专科学校《知识产权法》2025-2026学年期末试卷
- 芜湖医药健康职业学院《中学生认知与学习》2025-2026学年期末试卷
- 江西应用科技学院《中级微观经济学》2025-2026学年期末试卷
- 六安应用科技职业学院《教育研究方法》2025-2026学年期末试卷
- 三明医学科技职业学院《品牌管理》2025-2026学年期末试卷
- 闽南师范大学《金融市场学》2025-2026学年期末试卷
- 运城幼儿师范高等专科学校《天然药物学》2025-2026学年期末试卷
- 网吧安全巡查管理制度
- 某某某钼矿矿山地质环境保护与土地复垦方案(投标文件)
- 2025年全国特种设备叉车作业证理论考试试题(500题)附答案
- 商飞在线测评题库
- 物控工作培训
- DBJ41T 189-2017 地下连续墙检测技术规程
- 小学语文命题能力培训
- 外墙保温板(匀质板)施工方案
- 前列腺癌治疗现状
- 24年10月自考13003数据结构与算法试题及答案
- 《人工智能技术基础》课件 第5章 注意力机制
评论
0/150
提交评论