排序
Java并发常见面试题总结1
什么是线程和进程?何为进程?进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。在 Java 中,当我们启动 main 函...
MySQL三大日志(binlog、redo log和undo log)详解
前言MySQL 日志 主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。其中,比较重要的还要属二进制日志 binlog(归档日志)和事务日志 redo log(重做日志)和 undo log(回...
Redis为什么用跳表实现有序集合
前言近几年针对 Redis 面试时会涉及常见数据结构的底层设计,其中就有这么一道比较有意思的面试题:“Redis 的有序集合底层为什么要用跳表,而不用平衡树、红黑树或者 B+树?”。本文就以这道大...
如何基于Redis实现延时任务
基于 Redis 实现延时任务的功能无非就下面两种方案: Redis 过期事件监听 Redisson 内置的延时队列 面试的时候,你可以先说自己考虑了这两种方案,但最后发现 Redis 过期事件监听这种方案存在很...
Java并发常见面试题总结2
JMM(Java 内存模型)JMM(Java 内存模型)相关的问题比较多,也比较重要,于是我单独抽了一篇文章来总结 JMM 相关的知识点和问题:JMM(Java 内存模型)详解 。volatile 关键字如何保证变量的可...
MySQL事务隔离级别详解
事务隔离级别总结SQL 标准定义了四个隔离级别:READ-UNCOMMITTED(读取未提交) :最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。READ-COMMITTED(读取已提交) ...
分布式锁常见实现方案总结
通常情况下,我们一般会选择基于 Redis 或者 ZooKeeper 实现分布式锁,Redis 用的要更多一点,我这里也先以 Redis 为例介绍分布式锁的实现。基于 Redis 实现分布式锁如何基于 Redis 实现一个最...
SQL语句在MySQL中的执行过程
本文来自木木匠本篇文章会分析下一个 SQL 语句在 MySQL 中的执行流程,包括 SQL 的查询在 MySQL 内部会怎么流转,SQL 语句的更新是怎么完成的。在分析之前我会先带着你看看 MySQL 的基础架构,...
Java基础常见面试题总结(2).md
面向对象基础面向对象和面向过程的区别两者的主要区别在于解决问题的方式不同:面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。面向对象会先抽象出对象,然后用对象执...








