Java基础常见面试题总结(3)
异常Java 异常类层次结构图概览:Exception 和 Error 有什么区别?在 Java 中,所有的异常都有一个共同的祖先 java.lang 包中的 Throwable 类。Throwable 类有两个重要的子类:Exception :程序本...
MQ消息队列八股系列(2)
11、如何解决消息队列的延时以及过期失效问题? 整理后的内容如下: 解决消息队列的延时问题 1.1 增加消费者实例 方法:增加消费者实例可以提高消息处理的并发度,从而减少消息的等待时间。 1.2...
如何基于Redis实现延时任务
基于 Redis 实现延时任务的功能无非就下面两种方案:Redis 过期事件监听Redisson 内置的延时队列面试的时候,你可以先说自己考虑了这两种方案,但最后发现 Redis 过期事件监听这种方案存在很多...
AQS 详解
AQS 介绍AQS 的全称为 AbstractQueuedSynchronizer ,翻译过来的意思就是抽象队列同步器。这个类在 java.util.concurrent.locks 包下面。AQS 就是一个抽象类,主要用来构建锁和同步器。 public...
CompletableFuture 详解
一个接口可能需要调用 N 个其他服务的接口,这在项目开发中还是挺常见的。举个例子:用户请求获取订单信息,可能需要调用用户信息、商品详情、物流信息、商品推荐等接口,最后再汇总数据统一返...
3种常用的缓存读写策略详解
看到很多小伙伴简历上写了“熟练使用缓存”,但是被我问到“缓存常用的 3 种读写策略”的时候却一脸懵逼。在我看来,造成这个问题的原因是我们在学习 Redis 的时候,可能只是简单写了一些 Demo...
Java 常见并发容器总结
JDK 提供的这些容器大部分在 java.util.concurrent 包中。ConcurrentHashMap : 线程安全的 HashMapCopyOnWriteArrayList : 线程安全的 List,在读多写少的场合性能非常好,远远好于 Vector。Con...
SQL语法基础知识总结
本文整理完善自下面这两份资料:SQL 语法速成手册MySQL 超全教程基本概念数据库术语数据库(database) - 保存有组织的数据的容器(通常是一个文件或一组文件)。数据表(table) - 某种特定类...
Redis持久化机制详解
使用缓存的时候,我们经常需要对内存中的数据进行持久化也就是将内存中的数据写入到硬盘中。大部分原因是为了之后重用数据(比如重启机器、机器故障之后恢复数据),或者是为了做数据同步(比如...








