WebClient 是 Spring WebFlux 提供的一个非阻塞、响应式的 HTTP 客户端
2025年09月05日
WebClient 是 Spring WebFlux 提供的一个非阻塞、响应式的 HTTP 客户端
2025年09月05日
在咱日常搬砖中,异步编程那可是不可或缺的必备技能,特别是在搞网络请求、文件读写、界面响应这些需要高并发、低延迟的场景时。说到异步,大家可能对进程和线程都比较熟,但提到
2025年09月05日
作者:京东科技 文涛
全文较长共6468字,语言通俗易懂,是一篇具有大纲性质的关于多线程的梳理,作者从历史演进的角度讲了多线程相关知识体系,让你知其然知其所以然。
2022年09月22日,JDK19发布了,此版本最大的亮点就是支持虚拟线程,从此轻量级线程家族再添一员大将。虚拟线程使JVM摆脱了通过操作系统调度线程的束缚,由JVM
2025年09月05日
在大型互联网架构场景,处理高并发连接的能力至关重要,本篇就重点详解Nginx如何实现百万并发连接的关键技术@mikechen
本文作者:陈睿|mikechen
文章来源:mikechen.cc
Nginx架构设计
Nginx 实现百万并发连接并非依赖单一因素,而是其架构设计、多种优化策略的结果
2025年09月05日
锁消除
主要是在编译阶段通过逃逸分析来检测到一些被添加了同步操作的方法,在实际上不会出现了共享数据竞争的问题,从而对锁操作进行了消除的操作。
2025年09月05日
两个线程对一个初始值为0的静态变量一个线程自增5000次,一个线程自减5000次,所带来的线程安全问题。
/**
* 多线程对共享变量操作线程安全问题案例
*
* @Author warrior
**/
public class SyncDemo {
//共享变量
private static int count = 0;
public static void main(String[] args) throws InterruptedException {
/**
* 创建按一个线程,对共享变量count自增操作5000次
*/
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 5000; i++) {
increment();
}
}
});
/**
* 创建按一个线程,对共享变量count自减操作5000次
*/
Thread thread2 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 5000; i++) {
decrement();
}
}
});
//启动线程
thread1.start();
thread2.start();
//等待线程执行完成
thread1.join();
thread2.join();
System.out.println("count:" + count);
}
/**
* 对共享变量count自增操作
*/
public static void increment() {
count++;
}
/**
* 对共享变量count自减操作
*/
public static void decrement() {
count--;
}
}
2025年09月05日
在现代软件开发中,并发编程已成为提升应用性能和响应性的关键技术。作为一名资深C开发者,我深知异步编程在处理I/O密集型任务、网络通信和计算密集型操作时的强大威力。本指南旨在为C
2025年09月05日
虚拟线程是由 Java 21 版本中实现的一种轻量级线程。它由 JVM 进行创建以及管理。虚拟线程和传统线程(我们称之为平台线程)之间的主要区别在于,我们可以轻松地在一个 Java 程序中运行大量、甚至数百万个虚拟线程。