Java SPI 机制详解
在面向对象的设计原则中,一般推荐模块之间基于接口编程,通常情况下调用方模块是不会感知到被调用方模块的内部具体实现。一旦代码里面涉及具体实现类,就违反了开闭原则。如果需要替换一种实现...
如何基于Redis实现延时任务
基于 Redis 实现延时任务的功能无非就下面两种方案: Redis 过期事件监听 Redisson 内置的延时队列 面试的时候,你可以先说自己考虑了这两种方案,但最后发现 Redis 过期事件监听这种方案存在很...
Java基础常见面试题总结(2).md
面向对象基础面向对象和面向过程的区别两者的主要区别在于解决问题的方式不同:面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。面向对象会先抽象出对象,然后用对象执...
MySQL三大日志(binlog、redo log和undo log)详解
前言MySQL 日志 主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。其中,比较重要的还要属二进制日志 binlog(归档日志)和事务日志 redo log(重做日志)和 undo log(回...
MQ消息队列八股系列(1)
1、MQ 使用场景有哪些? 异步通信场景: MQ可以实现消息的异步传递,避免了请求等待的时间,提高了系统的响应速度和吞吐量。 常见的应用场景有异步下单、异步支付等,例如在电商平台中,当用户...
MQ消息队列八股系列(2)
11、如何解决消息队列的延时以及过期失效问题? 整理后的内容如下: 解决消息队列的延时问题 1.1 增加消费者实例 方法:增加消费者实例可以提高消息处理的并发度,从而减少消息的等待时间。 1.2...
Java 值传递详解
开始之前,我们先来搞懂下面这两个概念:形参&实参值传递&引用传递形参&实参方法的定义可能会用到 参数(有参的方法),参数在程序语言中分为:实参(实际参数,Arguments):用于...
C语言实现哈希表
哈希表1、哈希表的创建#define MAX 10#define NULL_KEY -1typedef int data_type;typedef struct{ data_type *ele; int n;}hash_table;hash_table *create_hash_table(){hash_table *...
采用前端技术开源了一个数据结构算法的可视化工具
今天要推荐的开源项目叫[VisuAlgoX](https://github.com/08820048/VisuAlgoX),是一个面向计算机科学和游戏开发的 **交互式算法可视化工具**,帮助用户通过直观的动画理解各种数据结构和算法。##...
3种常用的缓存读写策略详解
看到很多小伙伴简历上写了“熟练使用缓存”,但是被我问到“缓存常用的 3 种读写策略”的时候却一脸懵逼。在我看来,造成这个问题的原因是我们在学习 Redis 的时候,可能只是简单写了一些 Demo...











