背景 MySQL版本:5.7.18 问题 假设字段category无索引且有重复值,order by category 和limit组合使用的结果会和预期不符。 场景复现 表结构(复现问题,两个字段足够了~) CREATE TABLE `ratings` ( `id` int(11) NOT NULL AUTO_INC […]
背景 MySQL版本:5.7.18 问题 假设字段category无索引且有重复值,order by category 和limit组合使用的结果会和预期不符。 场景复现 表结构(复现问题,两个字段足够了~) CREATE TABLE `ratings` ( `id` int(11) NOT NULL AUTO_INC […]
本文主要总结下重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)的概念。 redo log 是物理日志,undo log 和 binlog 是逻辑日志 binlog二进制日志是server层的无论MySQL用什么引擎,都会有的,主要是左主从复制,时间点恢复使用 redo log重做日 […]
背景 只要了解过多线程,我们就知道线程开始的顺序跟执行的顺序是不一样的。如果只是创建三个线程然后执行,最后的执行顺序是不可预期的。这是因为在创建完线程之后,线程执行的开始时间取决于CPU何时分配时间片,线程可以看成是相对于的主线程的一个异步操作。 public class FIFOThreadExample { pub […]
1.什么是SPI SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的接口,它可以用来启用框架扩展和替换组件。 SPI的作用就是为这些被扩展的API寻找服务实现。 2.SPI和API的使用场景 API (Application Programm […]
本文简单说一说JVM应如何调优。 Java语言本身的成功,除了天时地利人和,JVM功不可没。 毫不夸张地说,JVM是现代软件工程最成功的案例之一。它规模庞大,代码极其复杂,但运行极其稳定可靠,所以,许多厂商的核心业务系统,才敢放心地用Java编写,运行在JVM之上。 因为JVM自带GC,又有无数可以微调的参数,所以,J […]
Redis不需要Leader这个观点其实有歧义,是不准确的,题目的问题本质其实是涉及数据分片、数据复制一致性。 1、Redis Cluster 架构 在Redis3.0版本开始,Redis引入了一种去中心化的集群架构,采用预分片的模式,一个集群中所有节点总共对应16384个槽位,在对一个key进行写入时,首先对key取 […]
1 什么是kafka Kafka是分布式发布-订阅消息系统,它最初是由LinkedIn公司开发的,之后成为Apache项目的一部分,Kafka是一个分布式,可划分的,冗余备份的持久性的日志服务,它主要用于处理流式数据。 2 为什么要使用 kafka,为什么要使用消息队列 缓冲和削峰:上游数据时有突发流量,下游可能扛不住 […]
1、面试场景与面试技巧 金三银四招聘季,一位粉丝朋友最近在蚂蚁金服第二轮面试时遇到这样一个问题:如果MQ消费遇到瓶颈时该如何处理?。 横向扩容,相比很多读者与我这位朋友一样会脱口而出,面试官显然不会满意这样的回答,然后追问道:横向扩容是堆机器,还有没有其他办法呢? 在面试过程中,个人建议大家在听到问题后稍作思考,不要立 […]
今天开始我们将继续深入 ZK 选举相关的知识 一、选举的基本规则 ZKr~这次我决定一反常态,先不讲故事了~先得聊聊在 ZK 选举中非常重要的一些东西。 1.1 zxid zxid 就是我们之前提到的事务编号,是一个 8 字节的整型数字,但是 ZK 设计的时候把这一个数字拆成了两部分使用,一鱼两吃! 8 个字节的整数一 […]
一、优秀员工小S(Sync) 我们通过之前的文章有介绍过,小S(Sync) 负责对办事处的数据进行归档,所以今天他就是我们的主角,让我们一起深入了解他的日常工作吧 为了唤醒大家的远古记忆,我放一张之前的图片 今天我们会重点讲一下图中的蓝色部分,不过在此之前还是得先从整体架构上介绍下 ZK 的数据管理,ZK 的数据大致是 […]
作为一台服务器来说,内存并不是无限的,所以总会存在内存耗尽的情况,那么当 Redis 服务器的内存耗尽后,如果继续执行请求命令,Redis 会如何处理呢? 设置有效期 使用Redis 服务时,很多情况下某些键值对只会在特定的时间内有效,为了防止这种类型的数据一直占有内存,我们可以给键值对设置有效期。Red […]
经常在其它各个地方在说公司禁止使用Lombok,我一直不明白为什么不让用,今天看到一篇文章列举了一下“缺点”,这里我只想狠狠地反驳,看到列举的理由我竟无言以对。 JDK 版本问题 当我想要将现有项目的 JDK 从 Java 8 升级到 Java 11 时,我发现 Lombok 不能正常工作了。于是我不得不 […]
Intro Dapr 官方团队已于最近(2021.2.17)正式发布Dapr v1.0,Dapr已正式生产可用,可以部署到自托管环境或 Kubernetes 集群。对于绝大多数开发者来说,想必对Dapr只是有所耳闻,而具体是什么(What),可以解决什么样的问题(Why&How),有怎样的应用场景(Where) […]
最近浏览到一个知乎问题:某运营同学在试用期期间因为在工作期间上了某个网站,导致试用期不过。 前两天还看到不少推文,大意是:看小电影前一定要注意网址是不是 HTTPS 的,因为 HTTPS 是加密的,别人就不知道了。 看到上面几个问题,我不禁想问(这脑回路也是……): 通过浏览器访问 HTTPS 站点,其他人真的没法知道 […]
摘要:一问一答的形式轻松学习掌握java工具。 以一问一答的形式学习java工具 Q:检查内存泄露的工具有? A: jmap生成dump转储文件,jhat可视化查看。 Q:某进程CPU使用率一直占满,用什么工具可以排查? A: top -Hp pid找到最占CPU的线程 然后jstack来查找那个线程此时所处的堆栈,确 […]
你可以迷茫,但不要虚度。
COPYRIGHT © 2026 lifengdi.com. ALL RIGHTS RESERVED.