分类

技术

Java 多线程:线程安全、原子性、可见性与有序性
一、线程安全与三大特性 1. 什么是线程安全? 线程安全是指:多个线程并发访问共享数据时,程序仍然能够得到符合预期的正确结果。 例如,商品库存为 100,两个线程分别扣减一次库存: stock--; 正常情况下,最终库存应该是 98。 但在多线程环境中,可能发生: 初始库存:100 线程 A:读取
2026-11-03
|
0
|
0
|
0
Java 多线程:线程中断、等待与唤醒
一、Java 线程中断机制 1. 什么是线程中断? Java 使用协作式中断机制,通过 interrupt() 通知目标线程需要停止当前任务,但不会强制终止线程。 每个线程都有自己的中断状态,可以简单理解为: false:没有收到中断请求。 true:收到中断请求。 调用 inte
2026-11-03
|
3
|
0
|
0
Java NIO:Reactor 模型与 Netty EventLoop 原理
一、Reactor 模型的基本原理 1. 什么是 Reactor? Reactor 是一种基于事件驱动的设计模式,主要解决高并发网络通信中的事件监听和分发问题。 先回顾传统 BIO 的处理方式。 假设服务器同时有 1000 个客户端连接,传统 BIO 通常采用一个连接对应一个线程的方式: 客户端 A
2026-11-03
|
4
|
0
|
0
Java 多线程:进程、线程与并发基础
一、进程与线程 1. 什么是进程? 进程(Process)是操作系统进行资源分配和管理的基本单位。 简单理解:当我们启动一个 Java 程序时,操作系统会为这个程序创建一个进程。 例如,启动 Spring Boot 项目: java -jar application.jar 操作系统会启动一个 Ja
2026-11-02
|
4
|
0
|
0
Java NIO:Selector 选择器与 IO 多路复用
一、什么是 Selector? Selector(选择器)是 Java NIO 的核心组件之一,主要用于监听多个 Channel 的 IO 就绪事件。 传统 BIO 通常采用一个客户端连接对应一个处理线程的方式。当客户端数量较多时,大量线程可能处于阻塞等待状态,增加内存占用和线程切换成本。 Java
2026-11-02
|
2
|
0
|
0