专题:Java基础
共23篇相关文章

select、poll、epoll的IO多路复用底层原理究竟是怎样的?
IO多路复用是解决高并发IO的核心技术(Java NIO的Selector、Redis、Nginx等都基于它实现),select、poll、epoll是Linux系统下三种主流的多路复用机制,本质都是让一个线程管理多个IO文件描述符(FD)...

如何深入理解Java NIO从API到内核实现的底层原理?
Java NIO(New IO,JDK 1.4引入)是对传统BIO的革命性升级,核心解决了BIO“一连接一线程”的高并发瓶颈。本文将从核心组件、底层原理、与操作系统IO模型的映射、高性能本质四个维度,由浅入深拆解Java NIO的底层逻辑,...

如何深入理解并掌握零拷贝(Zero-Copy)技术的原理与应用?
这篇我用最直观的流程 + 极简图示,把传统 IO、mmap、sendfile、Netty 零拷贝全部讲透,面试、原理一步到位。 一、先看一张总览图(灵魂总结) 传统IO: 硬盘 → 内核读缓冲区 → 用户缓冲区 → Soc...

Java NIO的哪些核心坑,Netty是如何深度解析并有效解决的?
原生Java NIO虽然解决了BIO“一连接一线程”的并发瓶颈,但在生产环境中存在多个难以规避的缺陷(俗称“坑”),这也是Netty能成为高性能网络编程主流框架的核心原因。下面针对你提到的4个核心问题,从问题本质、复现场景、原生代码痛点、N...

Java常用并发工具类原理与实战如何深入理解?
Java 并发工具类(JUC)提供了开箱即用的并发控制能力,避免我们重复造轮子。你提到的 CountDownLatch、CyclicBarrier、Semaphore、Exchanger 是最核心的四个,下面我会从核心作用、底层原理、使用场...

如何全面掌握阻塞队列BlockingQueue的底层原理及其应用场景?
BlockingQueue(阻塞队列)是 Java 并发编程的核心组件,它既是「队列」(存储元素),又具备「阻塞」特性:当队列空时,取元素的线程会阻塞;当队列满时,存元素的线程会阻塞。这种特性让它成为线程池、生产者-消费者模型的核心底层依赖...

Java中Class.forName()与ClassLoader加载类的区别是什么?
要理解 Java 反射中 Class.forName() 和 ClassLoader 的区别,我们可以从核心作用、加载机制、初始化行为三个维度拆解,先通过通俗的定义建立认知,再结合代码示例和实际场景说明。 一、核心区别:加载 &#x...

如何深入理解HashMap的底层实现机制?
HashMap 的底层原理,这是 Java 集合框架中最核心、最常用的知识点,理解它能帮你解决实际开发中的哈希冲突、扩容、线程安全等问题。我会从数据结构、核心流程、扩容机制、JDK 版本差异四个维度,由浅入深拆解 HashMap 的底层逻辑...
