猿java

猿java的博客

内存溢出(Out of Memory)和内存泄漏(Memory Leak)是我们经常听到的两种内存管理问题,它们是如何导致的?又该如何解决?这篇文章,我们来进行深度分析。
阅读全文 »

Log 是Kafka的核心组件之一,用于持久化存储消息,为了有效管理存储空间和保证系统性能,Kafka 提供了日志保留和数据清理策略。这篇文章,我将详细分析它们的工作原理。
阅读全文 »

Kafka作为一款优秀的分布式消息中间件,内部也存在一些选举机制,这篇文章,我们将详细地分析 Kafka如何实现选择 Leader?
阅读全文 »

在我的技术文章中,经常会通过分析一些核心源码来帮助读者更好地理解该技术点,自己也一直想写一篇文章来介绍如何阅读源码,刚好这段时间在 Google 1面中遇到了类似的题目:如何阅读源代码?因此,这篇文章,我将结合自身的经验以及身边一些小伙伴的经验,聊聊如何高效阅读源代码
阅读全文 »

在很长一段时间里,ZooKeeper都是 Kafka的标配,现如今,Kafka官方已经在慢慢去除ZooKeeper,Kafka 为什么要抛弃 Zookeeper?这篇文章我们来聊聊​其中的缘由。
阅读全文 »

作为一名程序员,代码质量是我们必须守住的底线,那么,如何才能写出优雅且高质量的代码呢?这篇文章,我们将从软件角度和硬件角度进行分析。
阅读全文 »

单点故障是分布式系统的噩梦,一旦出现,可能导致整个系统瘫痪,那么,如何有效的避免单点故障?这篇文章我们一起来聊聊。
阅读全文 »

JDBC(Java Database Connectivity)是 Java中用于连接和操作数据库的标准API,它提供了一种通用的方式来访问数据库,但在实际应用中,直接使用 JDBC会遇到很多的问题。这篇文章,我将详细探讨 JDBC存在的问题以及 MyBatis是如何解决这些问题的。
阅读全文 »