liangblog
http://edu.youkuaiyun.com/course/detail/37414
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
RedissonClient的创建和使用
Redisson 旨在简化使用 Redis 的复杂度,并且提供了丰富的 API 来处理复杂的分布式场景。原创 2025-07-25 09:37:29 · 177 阅读 · 0 评论 -
一个高性能的 Java 缓存库Caffeine
Caffeine是 Guava 缓存的现代替代品,性能更好,API 更简洁。虽然不再提供类,但可以通过实现类似功能。推荐使用方式实现按需加载,更加灵活。支持丰富的缓存策略:过期时间、最大容量、刷新、监听器等。原创 2025-07-25 09:37:06 · 174 阅读 · 0 评论 -
Java在一个方法中异步执行一段代码
是 Java 8 引入的一个类,它提供了强大的异步编程能力,支持链式调用、组合多个异步任务等特性。如果你需要更多控制或者你的项目还在使用 Java 7 或更早版本,可以考虑使用。原创 2025-07-18 15:52:48 · 69 阅读 · 0 评论 -
在 Spring Boot 中监控异步任务的执行情况
Spring Boot 支持多种监控工具,如 Micrometer 和 Actuator,它们可以帮助你收集关于应用运行状况的数据,包括异步任务的执行情况。使用 AOP(面向切面编程)可以在不修改业务逻辑的情况下,为所有的异步方法添加统一的日志记录或监控逻辑。为了更好地理解异步任务中可能出现的问题,可以在异步方法内部添加适当的异常处理和日志记录。对象时,你可以通过这些对象来检查任务的状态(如是否完成)和获取结果。当你提交一个异步任务并返回。原创 2025-07-16 13:22:56 · 679 阅读 · 0 评论 -
Spring Boot 使用LiteFlow实现流程驱动
LiteFlow 是一个轻量级的规则引擎,专注于解决复杂的业务流程编排问题。它允许开发者通过配置文件或注解来定义组件和规则链,从而实现高度灵活的业务逻辑处理。相比于传统的状态机或其他复杂的工作流引擎,LiteFlow 提供了更加简洁、易于维护的解决方案。原创 2025-06-12 10:26:19 · 133 阅读 · 0 评论 -
@DubboReference远程服务不可用时的配置
Override注意:该类必须存在于客户端,并且与接口同名。场景推荐配置远程服务可能挂掉,需要容错或自定义 Mock 类对性能要求高,允许失败对可靠性要求高,允许重试不想依赖远程服务做测试mock = 自定义Mock类或使用 Mockito 框架。原创 2025-06-10 14:49:57 · 191 阅读 · 0 评论 -
ThreadPoolExecutor线程池,通过自定义任务类和自定义拒绝策略,获取被拒绝任务的数据
为了在拒绝策略中获取任务数据,可以使用自定义的任务类来封装任务逻辑和相关数据。将自定义任务提交到线程池,并配置自定义拒绝策略。类封装了任务的 ID 和数据,并实现了。在自定义拒绝策略中,可以通过类型检查将。转换为自定义的任务类(如。),然后提取任务数据。原创 2025-05-15 10:00:16 · 242 阅读 · 0 评论 -
Java 的线程池中ThreadPoolExecutor 拒绝策略的具体使用
如果内置的拒绝策略无法满足需求,可以实现自己的拒绝策略。例如,记录日志、重试任务或将任务保存到数据库。由提交任务的线程(调用者线程)执行被拒绝的任务。丢弃队列中最旧的任务,然后尝试重新提交当前任务。(队列中最旧的任务被丢弃,新任务被重新提交)直接丢弃被拒绝的任务,不抛出异常。(被拒绝的任务不会有任何输出)原创 2025-05-14 14:43:57 · 628 阅读 · 0 评论 -
ThreadPoolExecutor线程池使用时触发拒绝策略
假设每批次处理时间为 2 分钟,那么每个线程每 2 分钟可以完成一个批次的任务。如果任务提交速度过快(例如一次性提交所有批次),可能会导致任务堆积甚至触发拒绝策略。这意味着线程池最多可以同时处理。原创 2025-05-14 14:43:37 · 95 阅读 · 0 评论 -
使用Java 操作 Nginx 配置文件
如果只是简单的配置修改,可以直接操作文件或调用 Shell 命令。如果需要动态管理或复杂逻辑,建议使用 API 或模板引擎。在生产环境中,务必小心操作 Nginx 配置文件,并确保语法正确以及服务的稳定性。原创 2025-04-26 13:39:21 · 259 阅读 · 0 评论 -
在 Java 中通过线程池的 API 或使用 `Thread` 类的方法获取当前运行的线程数。
如果你需要获取 JVM 中所有活动线程的数量(包括非线程池中的线程),可以使用。根据具体需求选择合适的方法。如果需要监控线程池的状态,推荐使用。如果你使用的是 Spring 的。以下是几种常见的方法和示例代码。(或 Spring 的。获取更详细的线程信息。原创 2025-04-09 10:22:28 · 558 阅读 · 0 评论 -
SpingBoot使用Google Guava库中的RateLimiter限制调用次数
接下来,创建一个简单的限流器类,并在服务类中集成它以限制对第三方API的调用频率。方法会尝试获取一个令牌,如果成功则返回。实例,其速率设置为每分钟10次请求。依赖、限流器和服务类以及控制器。在这个例子中,我们创建了一个。以下是完整的示例代码,包括。原创 2025-02-22 21:23:27 · 294 阅读 · 0 评论 -
SpringBoot中实现限流和熔断功能
我们将使用Java的来实现一个简单的令牌桶算法(Token Bucket Algorithm),并结合一个自定义的服务类来处理第三方API调用。原创 2025-02-22 21:18:26 · 206 阅读 · 0 评论 -
Java中实现延迟执行任务
适合大多数场景,提供了灵活的任务调度能力。Timer和TimerTask:适合简单的定时任务,但不如灵活和强大。:适合非常简单的场景,但会阻塞当前线程,不推荐用于复杂的并发控制。Spring:如果你正在开发一个 Spring 应用,这是一个非常方便的选择,特别是当你需要与 Spring 生态系统集成时。原创 2025-02-21 15:19:33 · 308 阅读 · 0 评论 -
将RocketMQ集成到了Spring Boot项目中,实现站内信功能
通过以上步骤,我们成功地将RocketMQ集成到了Spring Boot项目中,实现了站内信系统的异步处理。添加RocketMQ依赖:在pom.xml中添加RocketMQ相关的依赖。配置RocketMQ:在中配置RocketMQ的相关参数。数据模型和Repository:定义实体类和Repository接口。Service层:在Service层中集成RocketMQ的消息发送和Redis缓存。消息监听器:使用注解创建消息监听器,处理接收到的消息。Controller。原创 2025-02-20 21:47:56 · 640 阅读 · 0 评论 -
基于Spring Boot,结合Redis缓存和RabbitMQ消息队列的站内信系统设计
【代码】基于Spring Boot,结合Redis缓存和RabbitMQ消息队列的站内信系统设计。原创 2025-02-20 21:48:46 · 447 阅读 · 0 评论 -
Unirest 发起 HTTP 请求 JAVA
如果你有特殊需求,比如使用特定的 SSL 配置或连接池设置,可以通过提供自定义的HttpClient实例来实现。原创 2025-02-08 09:41:01 · 145 阅读 · 0 评论
分享