如何理解进程、线程、协程? 发表于 2024-10-25 分类于 Java 本文字数: 3.1k 阅读时长 ≈ 3 分钟 进程、线程和协程是程序设计中三个重要的知识点,这篇文章,我们将从概念、通信方式、区别和优缺点等方面深入探讨它们。 阅读全文 »
Netty线程模型! 发表于 2024-10-23 更新于 2024-10-25 分类于 Java 本文字数: 4.6k 阅读时长 ≈ 4 分钟 Netty 是一个基于 Java 的高性能网络应用框架,广泛用于开发高并发和低延迟的网络应用程序,其核心是一个强大的异步事件驱动的网络应用框架,支持 TCP、UDP 和 HTTP 协议。这篇文章,我们将深入探讨 Netty 的线程模型,包括其原理、示例、使用场景以及优缺点。 阅读全文 »
内存溢出和内存泄漏深度对比! 发表于 2024-10-22 更新于 2024-10-20 分类于 Java 本文字数: 4.8k 阅读时长 ≈ 4 分钟 内存溢出(Out of Memory)和内存泄漏(Memory Leak)是我们经常听到的两种内存管理问题,它们是如何导致的?又该如何解决?这篇文章,我们来进行深度分析。 阅读全文 »
深度剖析 Kafka日志保留与数据清理策略! 发表于 2024-10-21 更新于 2024-10-19 分类于 Java 本文字数: 5.2k 阅读时长 ≈ 5 分钟 Log 是Kafka的核心组件之一,用于持久化存储消息,为了有效管理存储空间和保证系统性能,Kafka 提供了日志保留和数据清理策略。这篇文章,我将详细分析它们的工作原理。 阅读全文 »
Kafka是如何选择 Leader? 发表于 2024-10-20 更新于 2024-10-18 分类于 Java 本文字数: 4.9k 阅读时长 ≈ 4 分钟 Kafka作为一款优秀的分布式消息中间件,内部也存在一些选举机制,这篇文章,我们将详细地分析 Kafka如何实现选择 Leader? 阅读全文 »
这是我拿下 Google一面的源码阅读技巧! 发表于 2024-10-19 分类于 Java 本文字数: 3.1k 阅读时长 ≈ 3 分钟 在我的技术文章中,经常会通过分析一些核心源码来帮助读者更好地理解该技术点,自己也一直想写一篇文章来介绍如何阅读源码,刚好这段时间在 Google 1面中遇到了类似的题目:如何阅读源代码?因此,这篇文章,我将结合自身的经验以及身边一些小伙伴的经验,聊聊如何高效阅读源代码 阅读全文 »
Kafka 为什么要抛弃 Zookeeper? 发表于 2024-10-16 更新于 2024-10-15 分类于 Java 本文字数: 1.9k 阅读时长 ≈ 2 分钟 在很长一段时间里,ZooKeeper都是 Kafka的标配,现如今,Kafka官方已经在慢慢去除ZooKeeper,Kafka 为什么要抛弃 Zookeeper?这篇文章我们来聊聊其中的缘由。 阅读全文 »
拼多多1面:Java有哪几种方式创建线程? 发表于 2024-10-15 分类于 Java 本文字数: 3.3k 阅读时长 ≈ 3 分钟 这篇文章,我们继续分析一道拼多多的面试题:Java有几种方式创建线程? 阅读全文 »
拼多多1面:聊聊Spring MVC的工作原理! 发表于 2024-10-14 更新于 2024-10-13 分类于 Java 本文字数: 6.8k 阅读时长 ≈ 6 分钟 作为一名程序员,代码质量是我们必须守住的底线,那么,如何才能写出优雅且高质量的代码呢?这篇文章,我们将从软件角度和硬件角度进行分析。 阅读全文 »
如何提高代码质量?软件和硬件双管齐下! 发表于 2024-10-13 分类于 Java 本文字数: 4.2k 阅读时长 ≈ 4 分钟 作为一名程序员,代码质量是我们必须守住的底线,那么,如何才能写出优雅且高质量的代码呢?这篇文章,我们将从软件角度和硬件角度进行分析。 阅读全文 »