面试指南
文章平均质量分 83
中间件兴趣圈
《RocketMQ技术内幕》一书作者、RocketMQ开源社区优秀布道师、CSDN2020博客之星TOP2,主打成体系剖析java中间件,已发布RocketMQ、Kafka、Dubbo、Sentinel、Canal、ElasticJob、ElasticSearch等15个专栏。
展开
-
零拷贝原理的文章网上满天飞,但你知道如何使用零拷贝吗?
零拷贝是中间件相关面试中必考题,本文就和大家一起来总结一下NIO拷贝的原理,并结合Netty代码,从代码实现层面近距离观摩如何使用java实现零拷贝。1、零拷贝实现原理**“零拷贝”**其实包括两个层面的含义:拷贝一份相同的数据从一个地方移动到另外一个地方的过程,叫拷贝。零希望在IO读写过程中,CPU控制的数据拷贝到次数为0。在IO编程领域,当然是拷贝的次数越少越好,逐步优化,将其拷贝次数将为0,最大化的提高性能。那接下来我们循序渐进来看一下如何减少数据复制。接下来我们将以Rocket原创 2021-11-08 08:45:00 · 4043 阅读 · 2 评论 -
有幸与美团大佬共同探讨单节点连接数超1.5W的问题
如何锻炼自己的架构设计能力,可以试图将自己面对的业务量扩大一百倍,思考会面临大问题以及如何解决。原创 2021-08-30 09:08:06 · 4200 阅读 · 13 评论 -
头条二面:你确定ThreadLocal真的会造成内存泄露?
本文换个角度,先思考ThreadLocal体系中的ThreadLocalMap为什么要设计成弱引用,再引申并辩证思考是否会发生内存泄露。原创 2021-08-23 12:19:47 · 5172 阅读 · 50 评论 -
读写锁在高性能消息中间件RocketMQ中的妙用
《RocketMQ技术内幕》作者、博客:https://www.codingw.net/,专注成体系剖析java主流中间件,打造完备的互联网分布式架构体系。已发布12个java主流中间件源码分析专栏。原创 2021-03-31 22:17:50 · 3404 阅读 · 6 评论 -
《我要进大厂》系列之ReentrantLock与synchronized两种锁的区别
在大厂面试中,特别是第一轮技术面试中,锁是一个非常高频的主题,在JDK中主要提供了两种方式:JUC(JAVA并发框架)中的ReentrantLock与synchronized关键字。那这两种有何区别呢?在实际工作中又如何选取呢?ReentrantLock 实现 synchronized 的语义,提供多线程的同步阻塞语义,即我们通常意义上的同步锁,但 ReentrantLock 的使用更加灵活,提供了synchronized关键字不具备的功能特性。1、可重入性ReentrantLock 与 synch原创 2021-03-29 23:15:43 · 4084 阅读 · 9 评论 -
这些关于线程池相关的高频面试题你都知道吗
《RocketMQ技术内幕》作者、博客:https://www.codingw.net/,专注成体系剖析java主流中间件,打造完备的互联网分布式架构体系。已发布12个java主流中间件源码分析专栏。原创 2021-03-24 23:52:54 · 5977 阅读 · 7 评论 -
面试官:你是如何判断一个线程池需要创建多少个线程
目前按照我看过的一些开源框架,线程池中线程数量主要是根据应用的类型:IO密集型(2n +1 ),CPU密集型设置为 n + 1。但实际情况往往复杂的多,不会按照这个进行设置,进行这种设置,通常是框架层面,例如netty,dubbo这种底层通讯框架会参考这样的标准去设置,在实际业务中往往不会这样做。对于IO密集型网上还有一个公式:线程数 = CPU核心数/(1-阻塞系数)这个阻塞系数一般为0.8~0.9之间,可以取0.8或者0.9。我觉这个公式有一定的道理,考虑了阻塞的概念。在我们的业务开发中,基本原创 2021-03-23 23:57:28 · 12378 阅读 · 15 评论 -
剥丝抽茧|阿里面试题解读:MQ消费端遇到瓶颈该怎么办?
除了横向扩容外还有其他什么办法吗?原创 2021-03-15 12:09:34 · 9180 阅读 · 33 评论 -
面试时遇到一致性哈希算法这样回答会让面试官眼前一亮
面试中一致性哈希算法被问到的概率非常大,本文将从如下三个方面探探一致性哈希算法,让大家轻松应对面试,并且说出宇宙不同的答案。一致性哈希算法经典实用场景一致性哈希算法通常不适合用于服务类负载均衡面试应对之策1、一致性哈希算法经典使用场景在数据库存储领域如果单表数据量很大,通常会采用分库分表,同样在缓存领域同样需要分库,下面以一个非常常见的Redis分库架构为例进行阐述。将上述3个Redis节点称之为分片,每一个节点存储部分数据,期间需要使用负载均衡算法,将数据尽量分摊到各个节点,充分发挥分布原创 2021-02-02 22:39:36 · 2412 阅读 · 6 评论