Java如何停止一个正在运行的线程?Java, 多线程, 安全函数, 死锁 / Nick Tan / 2023-02-12 / 发表评论一、前言 停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作。停止一个线程可以用Th […] Java如何停止一个正在运行的线程? Read More »
Tomcat高性能调优探索Java, 开源组件, 性能测试, 服务器 / Nick Tan / 2023-02-12 / 发表评论一、背景 我们在一个中间层的应用中使用了Servlet 3.0新增的异步特性。期望能提高应用的并发处理能力。不 Tomcat高性能调优探索 Read More »
RabbitMQ如何保证消息的可靠性Java, 开源组件, 架构设计, 消息队列 / Nick Tan / 2023-02-12 / 发表评论一、RabbitMQ消息丢失场景 RabbitMQ丢失的以下三种情况: 二、RabbitMQ消息丢失解决方案 RabbitMQ如何保证消息的可靠性 Read More »
MQ如何保证消息幂等性消费开源组件, 数据结构, 架构设计, 消息队列 / Nick Tan / 2023-02-12 / 发表评论一、什么是幂等? 我们实际系统中有很多操作,不管你执行多少次,都应该产生一样的效果或返回一样的结果。 例如: MQ如何保证消息幂等性消费 Read More »
幂等机制场景及解决方案Java, Redis缓存, 数据库, 架构设计, 软件设计 / Nick Tan / 2023-02-08 / 发表评论一、幂等场景 1、场景一:前端重复提交 用户注册,用户创建商品等操作,前端都会提交一些数据给后台服务,后台需要 幂等机制场景及解决方案 Read More »
缓存技术介绍与设计Redis缓存, 分布式, 数据库, 高并发 / Nick Tan / 2023-02-07 / 发表评论一、为什么要使用缓存? 缓存分为本地缓存和分布式缓存。以 Java 为例,使用自带的 map 或者 guava 缓存技术介绍与设计 Read More »
Mysql索引底层数据结构及Explain详解MySQL, SQL, 数据库, 数据结构 / Nick Tan / 2023-02-07 / 发表评论一、为什么要创建索引? 创建索引可以大大提高系统的性能(参考索引优点)。 二、索引的优缺点 1、索引的优点 优 Mysql索引底层数据结构及Explain详解 Read More »
缓存雪崩、缓存击穿、缓存穿透及其解决方案Redis缓存, 分布式, 性能测试, 数据库, 数据结构, 高并发 / Nick Tan / 2023-02-06 / 发表评论Redis 作为目前使用最广泛的缓存,搭配MySQL的使用场景相信大家都不陌生。因为 Redis 是内存数据库 缓存雪崩、缓存击穿、缓存穿透及其解决方案 Read More »
Mysql中order by工作原理详解MySQL, SQL, 数据库 / Nick Tan / 2023-02-04 / 发表评论一、前言 日常开发中,我们经常会使用到order by,亲爱的小伙伴,你是否知道order by 的工作原理呢 Mysql中order by工作原理详解 Read More »
MySQL底层执行原理详解MySQL, SQL, 数据库 / Nick Tan / 2023-02-04 / 发表评论大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。 下面,借助一张《MySQL实战45讲》的 MySQL底层执行原理详解 Read More »