自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(154)
  • 收藏
  • 关注

原创 【log4j2】将运行时变量注入日志、附性能对比与生产案例(动态日志实战)

日志动态改造方案比较 本文对比了两种日志动态改造方案:ThreadContext和直接参数传递。传统硬编码方式存在代码重复、修改成本高、无法统一脱敏等问题。ThreadContext通过线程级变量存储实现日志动态输出,需配合clear操作避免内存泄漏。生产实践中可结合AOP或过滤器统一管理。性能测试显示,ThreadContext方式在50并发下处理100万条日志耗时仅增加12%,内存占用多5MB,适用于需要上下文信息的场景。 关键词:动态日志、ThreadContext、日志改造、性能对比

2025-06-12 16:36:28 756

原创 【Log4j2】Log4j2动态获取Linux主机名实战、环境变量解析原理(踩坑指南)

本文介绍了在已成型项目中通过Log4j2插件动态读取日志而不修改原有输出的方法。文章解析了${env:HOSTNAME}的配置机制,详细说明了Log4j2如何通过环境变量获取主机名并替换日志内容,包括环境变量来源、查找流程和值替换过程。同时提供了Log4j2配置示例,并针对常见问题如主机名未显示、环境变量冲突和权限限制给出了解决方案。通过挂载插件方式实现日志改造,避免了直接修改每一条日志输出的繁琐工作。

2025-06-12 16:34:57 720

原创 【Linux】文件赋权(指定文件所有者、所属组)、挂载光驱(图文教程)

1、创建文件testChmod,查看文件testChmod的读写和执行权限,指定文件所有者、所属组和其他人对文件的操作权限分别为:读写、读写、读执行,写出以上操作步骤。2、将/home/zheng目录下的所有文件打包压缩成/tmp/zheng.targz,在当前目录下新建一个目录work,然后将这个压缩文件复制到work目录中,新建挂载点/MNT/CDROM,将光驱挂载到该挂载点中。

2025-06-08 21:41:27 1094

原创 【Vmware】虚拟机安装、镜像安装、Nat网络模式、本地VM8、ssh链接保姆篇(图文教程)

勾选主机虚拟适配器安装vm8,这也是很多朋友如果电脑上没有vm8的解决方式

2025-06-03 23:16:22 841

原创 【MYSQL】Mysql 5.7、Mysql 8.0.23版本、Hash分区实战、千万数据测试、查看各分区分布(工作实战)

本文详细介绍了MySQL分区表的实现方案,重点针对避免定期迁库的需求,推荐使用HASH分区策略。文章首先分析了分区限制条件,指出分区字段必须包含在主键中或是唯一键的一部分,并给出两种满足条件的实现方案:修改主键为复合主键或确保唯一键包含分区列。随后提供了完整的分区测试流程,包括测试数据生成、分区数据分布观察和查询性能测试方法。最后总结了常用的分区管理SQL,如查看分区定义、添加/删除分区、重建优化分区等操作指南,为数据库管理员提供了一套完整的分区表实施方案。

2025-05-29 18:36:42 818

原创 【MYSQL】Linux下安装mysql 8,rpm包方式安装(保姆篇)

MySQL 8.0.23 RPM安装指南 本文详细介绍了在Linux系统上通过RPM包安装MySQL 8.0.23的步骤: 环境准备:检查系统类型,下载对应版本安装包,确认无冲突服务 安装过程:解压安装包,安装必要依赖,使用rpm命令安装MySQL组件 初始配置:获取临时密码,修改root密码,设置远程访问权限 服务管理:启动MySQL服务并设置开机自启 安装完成后可通过systemctl管理MySQL服务。注意需处理可能的MariaDB冲突,并确保防火墙设置允许远程连接。 (摘要共136字)

2025-05-26 16:33:01 528

原创 【GoldenDB】GoldenDB分布式SQL开发规范(详解)

该查询会广播到所有分片,产生极高延迟(假设分片数=16,则触发16次扫描)• 数据均匀:应选择高基数且访问均匀的字段(如用户ID而非状态码)• 全局索引限制:非分片键字段建立全局索引需评估性能损耗。• 不可变更:分片键一经定义无法修改(需重建表)

2025-05-22 16:44:23 793

原创 【GoldenDB】GoldenDB分布式集群从零部署全流程(超详细踩坑教学)

本文详细介绍了GoldenDB集群的部署流程,分为前置准备、集群部署、部署后验证和常见问题排查四个阶段。在前置准备阶段,重点包括硬件规划、操作系统配置和磁盘优化。集群部署阶段涵盖了软件包部署、集群配置文件详解以及多节点部署流程。部署后验证阶段则通过集群健康检查和性能压测确保系统稳定运行。最后,针对节点无法加入集群、磁盘空间不足和代理节点负载不均等常见问题,提供了具体的排查和解决方案。整个部署过程强调硬件配置、网络要求和性能优化,确保GoldenDB集群的高效运行。

2025-05-13 17:56:24 651

原创 【Bug经验分享】SourceTree用户设置必须被修复/SSH 主机密钥未缓存(踩坑)

方式二:Sourcetree会自带plink,用命令行切换到plink.exe所在路径,并执行plink git@github.com 命令,根据提示输入y 回车,问题就解决了。删掉了对应的缓存,如果之前配置的主机密钥的缓存也被删掉了,所以在push远端仓库的时候,SourceTree会报一个类似如下的问题。电脑太卡,曾多次强制关机,在关机前没有关闭SourceTree,导致配置错误等问题。方式一:重置配置,自动修复(如果项目不多可选择这种方式,避免更多的麻烦)方式二:手动修复(适用项目多,不想重新搞的)

2025-05-07 11:35:02 617 1

原创 【GoldenDB】GoldenDB分布式数据库适配、N种持久层、Springboot项目(详解)

注意:某些版本跟mysql的包的路径一样,如果原来的mysql包不删掉可能会读不到不同版本的goldendb包对应的配置文件都不同请注意

2025-05-06 10:13:36 730

原创 【Dockerfile】Dockerfile打包Tomcat及TongWeb应用镜像(工作实践踩坑教学)

踩坑案例:通过上述前置启动,即可在部署完容器后直接docker logs xxx实时查看启动日志,如果你的程序中有有特殊读取文件的需求例如读取当前tomcat/bin/xxx文件,打包到镜像中发现路径错误,可以修改对应的启动脚本cd到你的镜像中的地址,如图

2025-04-30 11:49:17 1133

原创 【数据库连接池】C3P0 升级到 HikariCP,及二者的参数、性能优缺点对比(超详细)

C3P0与HikariCP的主要区别在于性能优化和配置逻辑。HikariCP作为当前性能最优的JDBC连接池,其吞吐量比C3P0高约10倍,核心优势在于无锁化设计、零内存拷贝机制和更精简的代码结构(约130个类,而C3P0超过200个)。其配置策略也更注重减少无效参数,例如默认关闭自动提交事务,且通过。迁移后预期可降低50%的GC停顿时间,并提升30%以上的数据库操作吞吐量。参数(通常设置为CPU核心数*2 + 磁盘数)。若使用MySQL,建议在JDBC URL追加。,建议通过JDBC4的。

2025-03-06 15:17:15 732

原创 【Postgresql】Linux 部署 Postgresql 数据库 (图文教程)

readline-devel 包提供了额外的头文件和库,用于开发与 readline 库兼容的程序。readline 是一个库,用于提供命令行编辑和历史功能,PostgreSQL 需要这个库来支持其命令行工具。zlib-devel 包包含了 zlib 压缩库的开发文件,包括头文件和用于链接的库文件。这里显示下载过了,不做过多的展示。PostgreSQL 数据库安装后,默认的用户名通常是 postgres。这个用户也被称为“超级用户”账户,因为它拥有数据库中的所有权限,并且可以执行任何数据库操作。

2025-02-21 14:04:57 1239

原创 【Bug经验分享】Postgresql 项目链接不上,JDBC及Datasource可以连接,Navicat也可连接

利用上述方式都发现无法解决,查看conf文件的最大连接数,我的项目中给了200,默认是100,所以导致链接不上修改最大链接数重启服务Win+R,输入services.msc找到postgre服务,重新启动navicat测试

2025-02-20 10:09:05 827

原创 【数据迁移】Sqlserver 迁移 Postgresql 详解 CSV+COPY 详细图文教程(实战踩坑优化案例)

迁移思路:先用sqlserver把新的项目去跑起来,然后去切postgresql去跑一下项目 项目中一些持久层或者代码要做适配 然后适配完去jmeter去压测,这个数据库性能能否支撑迁移,然后去设计postgre的表结构 ,然后去迁移存储过程函数等,然后迁移索引,然后调研迁移脚本,最后去做测试。在 SQL Server 中将数据导出为中间格式(如 CSV 或 SQL 脚本),推荐使用 CSV 文件,因为 PostgreSQL 的 COPY 命令可以高效导入。检查导出行数是否与数据库相同。

2025-02-19 17:59:40 1365

原创 【Postgresql】Windows 部署 Postgresql 数据库 (图文教程)

直接链接就可以,如果跟我版本相同按照相同步骤就可以进行链接,不同版本可能需要自己去配置一些文件才能生效,按道理只会低于14版本才需要,高版本都应该支持一些自动化的操作。到安装目录下,找到目录D:\devtool\PostgreSQL15\bin,在该目录下打开cmd窗口。此文章的版本是windos下的14大版本,如其他版本无法支持,请留言解决。如果显示这个,说明以及初始化完了,高版本的应该都不需要这么操作了。在开始菜单输入pg即可找到这个管理端,输入密码进行链接。无脑下一步,有经验的可以直接跳过安装部分。

2025-02-17 14:52:05 2679

原创 【SqlServer】Windows 10 部署 微软SqlServer 2014 (图文教程)

安装完成后,重启计算机。在弹出的窗口中,找到“.NET Framework 3.5 (包括.NET 2.0和3.0)”并勾选它。用navicat进行链接,请注意主机后面要跟实例名,如果在下载的时候选择的默认的实例则需要自行替换。请提前准备NET Framework 3.5的环境,在文中有提到下载方式,否则会导致不必要的麻烦。- Management Tools - Complete(完整管理工具,可选)可选是否通过 Windows Update 安装更新,建议跳过此步骤,点击。选择安装和配置,点击下一步。

2025-02-13 16:52:52 1653

原创 【Jboss/Linux】 Jboss eap 7 + JDK8 + Springboot 2.7 升级 Jboss eap 8 + JDK17 + springboot 3

当你的服务器中的JAVA_HOME被其他项目或者其他工程引用的时候,就需要Jboss单独去指定自己需要的JDK的版本,这样就不会影响别人的东西。如果你这台服务器就是供给你自己使用你可以更改全局的环境变量,如果是有别的同事使用建议让你的jboss直接指定对应的JDK,而不是去更改全局的。打包命令–如果在idea中打包需要安装东西,可以在项目文件中(带pom文件的路径下),cmd进行打包。将打包好的war直接放置在jboss的\standalone\deployments文件。linux导出到windows。

2025-01-21 15:19:08 1077

原创 【Redis】为什么Redis单线程还这么快?通过什么机制进行优化的?

总共有这几个大的方向,保证了单线程的环境下的处理性能:内存、数据结构、非阻塞I/O、多路复用,非CPU密集型、单线程的优势、多线程以及后台线程的处理优化。

2025-01-16 18:33:07 1082

原创 【Sql递归查询】Mysql、Oracle、SQL Server、PostgreSQL 实现递归查询的区别与案例(详解)

这种常见的递归查询方式),但可以通过使用存储过程、临时表或自连接等方式来实现递归查询的效果。通过自连接的方式模拟递归查询,适合处理简单的递归结构。假设我们有一个表示部门层级关系的表。MySQL 5.7 本身不直接支持标准 SQL 中的递归查询语法(如。子句进行递归查询,查找某个员工及其所有下属。,但递归方向是从指定员工向上查找其所有上级。语句将父部门和子部门关联起来,然后使用。假设我们有一个表示员工层级关系的表。在 MySQL 8 中,可以使用。子句来实现递归查询。

2025-01-13 17:48:39 1242

原创 【存储过程】Mysql的存储过程,语法及案例(详解)

优点代码复用性:存储过程可以将常用的SQL操作封装起来,在不同的应用程序或SQL脚本中重复调用。这避免了重复编写相同的SQL代码,提高了开发效率,也便于对业务逻辑进行统一管理和维护。提高性能:存储过程在创建时会进行编译和优化,存储在数据库服务器中。当调用存储过程时,数据库可以直接执行已编译好的代码,无需再次解析和优化SQL语句,这大大减少了数据库的处理时间,提高了执行效率。特别是对于复杂的查询和操作,性能提升更为明显。减少网络传输。

2025-01-09 20:54:34 1293

原创 【分布式缓存】一致性Hash原理剖析,一致性Hash与Hash的区别(详解)

一致性哈希算法通过将数据和服务器节点映射到一个固定的哈希空间,引入虚拟节点来解决数据分布不均匀的问题,并在服务器动态增减时能够有效地减少数据迁移的开销,实现了高效的负载均衡和系统的稳定性。它是分布式系统架构设计中一种非常重要的技术,为大规模数据的存储和处理提供了可靠的解决方案。随着分布式系统的不断发展和应用场景的不断拓展,一致性哈希算法将继续发挥其重要作用。

2025-01-07 21:22:21 1133

原创 【国密算法】SM2椭圆曲线公钥密码算法原理、数据加密、签名、验签、解密(详解与应用)

SM2算法全称是SM2椭圆曲线公钥密码算法(SM是商用密码的拼音缩写),是一种基于“椭圆曲线”的密码 ECC(Elliptic CurveCryptography)。推出的国产化算法,和RSA算法一样,同属于非对称算法体系,而且是椭圆曲线加密(ECC)算法的一种。通俗点理解就是私钥是一个随机数生成的,命名为d,公钥是用d进行G运算,就是上文提到的G点,去计算2G,3G。GF(p):p就是其中的质数,比如p是20,那GF(20)就是0,1,2,…AB重叠的计算公式(2A运算):2A取与曲线的交点然后做对称。

2025-01-06 19:42:53 2129

原创 【Jboss/Windows】Tomcat 8 + JDK 8 升级为 Jboss eap 7 + JDK8

用记事本进入jboss的目录:找到bin目录下的standalone.bat,用记事本或者其他的文本编辑软件,修改JBOSS_HOME,为你的jdk1.7,安装路径。如果,要想修改你的jboss服务器端口,可以到jboss->standalone->configuration,找到standalone.xml文件:把 8080修改成你想要的端口重启即可。企业版:去setting中的Plugins下载Jboss的相关插件,搜到什么下什么,然后重启idea,也可能会出现,但是个人觉得不好用。

2025-01-03 17:57:55 1262

原创 【RabbitMQ】RabbitMQ堆积100万,1000万条消息对应的策略总结

假设当前使用的是 RabbitMQ,且只有一个消费者在处理消息,该消费者处理一条消息平均耗时 100 毫秒(即每秒处理 10 条消息)。那么增加到 10 个消费者后,如果每个消费者的处理能力相同且不存在资源竞争等问题,理论上处理速度可提升到每秒 100 条消息。案例:在一个电商订单处理系统中,订单创建成功后会发送一条消息到 MQ,原本单个消费者负责处理订单消息并更新库存、生成物流订单等操作。当消息大量堆积时,可启动多个消费者实例,每个实例都能独立地从 MQ 中获取订单消息并进行处理。但在实际情况中,若消费者

2024-12-22 13:08:37 1377

原创 【RabbitMQ】RabbitMQ保证消息不丢失的N种策略的思想总结

通过RabbitMQ本身所提供的机制基本上已经可以保证消息不丢失 , 但是因为一些特殊的原因还是会发送消息丢失问题 , 例如 : 回调丢失 , 系统宕机, 磁盘损坏等 , 这种概率很小 , 但是如果想规避这些问题 , 进一步提高消息发送的成功率, 也可以通过程序自己进行控制。, 之后再向MQ发送消息 , 消费方接收消息消费完毕之后 , 向发送方发送一条签收消息 , 发送方接收到签收消息之后 , 修改消息状态表中的消息状态为。消息从发送,到消费者接收,会经理多个过程 , 其中的每一步都可能导致消息丢失。

2024-12-22 11:45:39 1599

原创 【MongoDB】使用 MongoDB 存储日志、审批、MQ等数据的案例及优点

在 64 位系统上,使用 ext4 文件系统,文件大小可以达到 16TB(这只是文件系统层面的限制,实际情况还会受到磁盘空间等因素影响)。MongoDB 单个文档大小限制在 16MB(这是为了保证性能和避免过度复杂的文档结构)

2024-12-21 12:50:24 1519

原创 【MongoDB】MongoDB的集群,部署架构,OptLog,集群优化等详解

MongoDB在主节点应用数据库操作后将其记录到optlog中,从节点通过异步进程复制和应用(数据同步)这些操作。所有复制集成员都在local.oplog.rs集合中有op log的副本以维护数据库当前状态。MongoDB 4.4支持以小时为单位指定最小操作日志保留期,仅在oplog达到最大大小或oplog条目早于配置小时数时删除操作日志条目。

2024-11-13 17:05:01 1662

原创 【MongoDB】MongoDB的核心-索引原理及索引优化、及查询聚合优化实战案例(超详细)

建立索引后,MongoDB会额外存储一份按age字段升序排序的索引数据,索引结构类似如下,索引通常采用类似btree的结构持久化存储,以保证从索引里快速(O(logN)的时间复杂度)找出某个age值对应的位置信息,然后根据位置信息就能读取出对应的文档。需要注意的是,索引并不是越多越好,集合的索引太多,会影响写入、更新的性能,因为每次写入都需要更新所有索引的数据。当集合文档数量较少时,全表扫描的开销可能不大,但当文档数量达到百万、千万甚至上亿时,全表扫描的开销会非常大,一个查询耗费数十秒甚至几分钟都有可能。

2024-11-12 22:19:10 1771

原创 【MongoDB】MongoDB的存储引擎及Wiredtiger的读/写缓存、数据结构设计、Page生命周期等实现原理(超详细)

pages的状态是在不断变化的,因此,对于读操作来说,它首先会检查pages的状态是否为WT_REF_MEM,然后设置一个hazard指针指向要读的pages,如果刷新后,pages的状态仍为WT_REF_MEM,读操作才能继续处理。它与 B-Tree 的主要区别是,B+ Tree 的叶子节点不仅存储数据的键(key),还存储实际的数据(值,value)。:随着数据的插入和删除,B-Tree 需要做一些额外的操作(比如节点的分裂、合并),这些操作虽然能保持数据的有序性,但也会带来性能开销。

2024-11-08 16:55:20 1508

原创 【MongoDB】MongoDB的Java API及Spring集成(Spring Data)

通过 Spring Data MongoDB,我们可以轻松地将 MongoDB 数据库的操作与 Spring 应用集成,并且能够以声明式的方式进行数据访问,而无需直接编写大量的 MongoDB 操作代码。以下是一个使用 Spring Data MongoDB 的基本示例,展示了如何将 MongoDB 集成到 Spring Boot 应用中,执行 CRUD 操作。以上一个简单的MongoDB使用就完善了,在业务中更多的也是如此的CRUD,后续文章会写一些关于MongoDB的底层原理,毕竟面试要造火箭。

2024-11-07 13:50:15 1654

原创 【MongoDB】MongoDB的聚合(Aggregate、Map Reduce)与管道(Pipline) 及索引详解(附详细案例)

Map Function: 对于每个文档,emit 函数将 customerId 作为键,amount 作为值发射出去。Reduce Function: 对于每个唯一的 customerId,reduceFunction 接收一个键和与该键相关联的所有值的数组,并返回这些值的总和。Output: 结果存储在 order_totals 集合中,每个文档包含一个 customerId 和该客户的总订单金额

2024-11-05 22:52:22 1493

原创 【MongoDB】Windows/Docker 下载安装,MongoDB Compass的基本使用、NoSQL、MongoDB的基础概念及基础用法(超详细)

NoSQL是“Not Only SQL”的缩写,代表了一类非关系型数据库,主要用于处理大规模数据存储和高并发访问。与传统的关系型数据库(如MySQL、PostgreSQL)不同,NoSQL数据库没有固定的表结构,能够灵活存储多种数据类型,包括结构化、半结构化和非结构化数据。这里可以按需选择安装MongoDB Compass,选择会稍微慢一些,但为了方便还是建议直接顺手安装。安装完会自动打开如下界面,开启你的MongoDB操作。按需选择下载,我这里下载的是Windows x64。给创建的数据库添加数据。

2024-11-01 15:47:02 1377

原创 【JVM】OOM后,JVM会退出吗?OOM killer机制,默认异常处理器原理(超详细)

OOM(Out of Memory内存溢出)的缩写。它是一个计算机术语,用于描述计算机或设备在处理任务时由于内存不足而无法继续操作的状态综上所述,JVM在遇到OOM时不一定会退出。具体情况取决于OOM的类型、程序中是否有适当的异常处理,以及JVM的配置。合理的异常处理和资源管理可以帮助程序在内存不足的情况下继续运行,避免意外退出。

2024-10-16 09:33:09 1196

原创 【Solr】Solr搜索引擎下载、安装、使用及跟Elasticsearch的对比(保姆篇)

是一个开源搜索平台,旨在为企业和应用提供强大的搜索能力。它支持多种数据类型的搜索,并提供丰富的功能,如全文检索、快速搜索、分面搜索、高亮显示、地理搜索等。

2024-10-14 09:07:49 2269

原创 【JVM】JVM调优原理、思路、真正意义上解决性能瓶颈(附实际调优案例)

在 JVM 上,最初是通过 JNI 调用来实现方法的反射调用,当 JVM 注意到通过反射经常访问某个方法时,它将生成字节码来执行相同的操作,称为膨胀(inflation)机制。默认是15次,可通过参数 -Dsun.reflect.inflationThreshold 进行控制,在小于该次数时会使用 JNI 的方式对方法进行调用,如果调用次数超过该次数就会使用字节码的方式生成方法调用。分析问题、定位问题、解决问题,三个角度去描述,描述你具体怎么做的。所以对这个问题分析,我们就要看gc的日志进行分析。

2024-09-26 11:02:41 2073

原创 【JVM】一篇聊透内存泄露,栈内存溢出,JVM中的垃圾回收器超详细

为啥要有这个东西:在这里,先想一下,如果没有双亲委派,那么用户是不是可以自己定义一个java.lang.Object的同名类,java.lang.String的同名类,并把它放到ClassPath中,那么类之间的比较结果及类的唯一性将无法保证,因此,为什么需要双亲委派模型?:老年代的垃圾回收通常较少且耗时,因为老年代的对象通常较大,且需要全堆扫描。:在堆内存中,老年代的空间通常比新生代更大,适合存放长期存在的对象。:比软引用更弱,当垃圾回收器工作时,如果一个对象只被弱引用引用,就会被回收。

2024-09-26 08:35:48 1352

原创 【JVM】一篇文章彻底理解JVM的组成,各组件的底层实现逻辑

java文件通过java源码编译器进行编译为.class文件,存储的是字节码(二进制数据),类加载器,通过验证、准备、解析、初始化流程、将字节码数据读到方法区中,并在堆中创建一个java.lang.Class对象,用来封装类在方法区内的数据结构,通过编译器,将字节码翻译成底层系统指令,再交由 CPU 去执行。对于java来说,类加载器将.class文件(字节码二进制的数据),装载到jvm中,并将类的结构封装成一个class对象放到堆中。`.class文件,存储的是字节码(二进制数据)。

2024-09-24 14:20:10 2255

原创 【JAVA】自动生成常量类、自动生成所需代码(附源码)

思路:选择一个想操作的表单或者页面,然后可选择所选择表单的字段及表名,制作两个按钮,一个按钮是去自动生成一个文本,在页面展示可复制,另一个按钮是生成一个java文件,这样对于开发者不管是直接使用java文件还是拷贝这个文本都比较方便,详细可看下方代码。在一个阳光明媚的下午,接到一个需求,大家都觉得自己去定义全局变量比较麻烦,后期维护也比较麻烦,所以能不能自动生成一下。

2024-09-18 17:13:27 1102

原创 【JAVA】多线程的创建、线程池创建线程的方式(超详细)

当应用程序希望在任务提交失败时立刻知道,并进行错误处理或日志记录时,这种策略是合适的。例如,当任务的失败可能意味着系统的严重问题,开发者希望程序能立刻响应并处理这些异常情况时,可以使用。:当任务丢失是可以接受的,或者任务的重要性相对较低时,可以使用这个策略。:当系统希望优先处理最近提交的任务,并丢弃最早的任务以腾出空间时,可以使用这个策略。即,任务不会被丢弃或丢失,而是会由提交任务的线程自己执行。:这个策略会丢弃任务队列中最旧的任务,然后尝试提交新的任务。,即立即终止任务提交,并通知提交者任务提交失败。

2024-09-18 08:23:46 1662

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除