分类

技术分享

分享你的技术文档

Java Virtual Threads(虚拟线程)教程:Loom 未来路线图与结构化并发深入解析(第 6 篇)
本文前瞻性地解析了Project Loom的最终目标与未来路线图。其核心是通过虚拟线程、结构化并发及Continuations三大组件,使Java并发编程回归同步风格的简洁写法,同时获得异步性能。重点介绍了结构化并发(如`StructuredTaskScope`)如何以同步方式管理并行任务生命周期,实现自动错误传播与取消。未来,Loom将持续完善API、优化调度器,并深度结合云原生场景,旨在让Java成为高并发时代最易用的语言。
2025-11-24
|
62
|
0
|
0
Java Virtual Threads(虚拟线程)教程:Loom 未来路线图与结构化并发深入解析(第 6 篇)
Java Virtual Threads(虚拟线程)教程:进阶调优与性能压测指南(第 5 篇)
本文是Java虚拟线程系列的第5篇,聚焦生产环境性能优化。核心观点是虚拟线程本身无需调优,关键在于优化代码阻塞点与运行环境。文章指出应避免使用重量级锁、执行CPU密集型任务、频繁创建大对象,并确保底层I/O调用可挂起。同时强调需防止外部资源池(如数据库连接池)成为新瓶颈。提供了性能压测方法,推荐使用ZGC,并总结了生产环境调优策略与完整检查清单,帮助工程师系统提升虚拟线程在高并发场景下的性能表现。
2025-11-24
|
61
|
0
|
0
Java Virtual Threads(虚拟线程)教程:进阶调优与性能压测指南(第 5 篇)
Java Virtual Threads(虚拟线程)教程:Spring Boot 实战(第 4 篇)
本文详细介绍了在Spring Boot 3+中全面启用虚拟线程进行全链路优化的实践方法。通过配置Tomcat直接使用虚拟线程执行器,可使Web层吞吐量显著提升。文章指出,Controller至Repository层代码无需改动即可自动运行于虚拟线程,并强调数据库连接池是主要瓶颈,建议适当调大或采用R2DBC。压测数据显示,虚拟线程在I/O密集场景下吞吐量比传统线程池高3~20倍,且内存消耗更低,实现了同步写法与异步高性能的结合。
2025-11-22
|
190
|
0
|
0
Java Virtual Threads(虚拟线程)教程:Spring Boot 实战(第 4 篇)
Java Virtual Threads(虚拟线程)教程:调度机制与底层原理深度解析(第 3 篇)
本文深度解析了Java虚拟线程的调度机制。虚拟线程由少量平台线程执行,通过ForkJoinPool调度器管理。其核心优势在于:当虚拟线程执行I/O等阻塞操作时,会被立即挂起,栈帧保存至堆内存,从而释放平台线程去执行其他任务,实现了“同步写法,异步性能”。虚拟线程采用动态栈块管理,内存占用极轻。需注意避免因synchronized或原生I/O导致的Pinning问题。虚拟线程适用于I/O密集型场景,而非CPU密集型任务。
2025-11-21
|
60
|
0
|
0
Java Virtual Threads(虚拟线程)教程:调度机制与底层原理深度解析(第 3 篇)
Java Virtual Threads(虚拟线程)教程:同步写法获得异步性能(第 2 篇)
本文介绍了如何使用Java虚拟线程重构传统同步代码以提升性能。通过HTTP请求、数据库查询和RPC调用等实战案例,展示了虚拟线程相比传统线程池的优势:支持海量线程(如10万+)、I/O阻塞时自动挂起不占用系统线程,同时保持同步代码的简洁性。其核心价值在于以同步写法获得异步性能,大幅提升吞吐量,并简化开发维护。
2025-11-21
|
62
|
0
|
0
Java Virtual Threads(虚拟线程)教程:同步写法获得异步性能(第 2 篇)
Java Virtual Threads(虚拟线程)教程:从零入门(第 1 篇)
Java虚拟线程是JDK 21引入的轻量级并发工具,旨在解决传统线程资源消耗大、高并发场景下复杂度高的问题。它由JVM管理,每个线程仅占几十KB内存,支持创建百万级线程,尤其适用于I/O密集型任务。虚拟线程通过挂起机制实现阻塞时的资源自动释放,使同步代码具备异步性能,同时保持代码简洁。但不适用于CPU密集型计算。
2025-11-19
|
53
|
0
|
0
Java Virtual Threads(虚拟线程)教程:从零入门(第 1 篇)
Django 系列教程:入门教程 - 第 4 节:表单和通用视图
本文介绍了在Django中创建表单和处理用户投票的完整流程。通过更新模板,添加包含单选按钮的HTML表单,使用POST方法提交数据并防范CSRF攻击。视图函数vote()处理投票逻辑,验证用户选择,使用F()表达式避免竞争条件,并在成功后重定向至结果页。最后,教程展示了如何利用通用视图(如ListView和DetailView)重构代码,减少冗余,提升开发效率。
2025-09-20
|
59
|
0
|
0
Django 系列教程:入门教程 - 第 4 节:表单和通用视图
Django 系列教程:入门教程 - 第 5 节:测试
本文是Django入门教程第五部分,重点介绍了自动化测试的编写与实践。文章阐述了自动化测试的重要性,包括节约时间、预防错误、提升代码质量和促进团队协作。教程通过修复`was_published_recently()`方法的日期bug,演示了如何编写模型测试,并扩展至视图测试,确保未来投票不会在索引页显示。测试使用Django测试客户端模拟用户请求,验证了多种场景下的应用行为。结论指出充分的测试是保障代码长期稳定性的关键。
2025-09-20
|
46
|
0
|
0
Django 系列教程:入门教程 - 第 5 节:测试
Django 系列教程:入门教程 - 第 3 节:视图和模板
本文介绍了Django框架中视图(View)的概念与基本用法。视图是处理请求并返回响应的Python函数,其核心功能包括定义页面逻辑、操作数据模型以及渲染模板。文章通过投票应用示例,详细说明了如何编写视图函数、配置URL映射、使用模板系统动态生成页面,并介绍了`render()`、`get_object_or_404()`等快捷方法。此外,还强调了避免硬编码URL和通过命名空间管理多应用URL的重要性,体现了Django的松散耦合设计思想。
2025-09-20
|
70
|
0
|
0
Django 系列教程:入门教程 - 第 3 节:视图和模板
Django 系列教程:入门教程 - 第 2 节:模型和管理站点
本文是Django入门教程的第二部分,重点介绍了数据库配置、模型创建与管理后台的初步使用。教程指导开发者配置数据库,并创建了`Question`和`Choice`两个数据模型,演示了通过`makemigrations`和`migrate`命令生成并应用数据库迁移。文章还展示了如何使用Django的数据库API进行数据操作,并详细说明了如何激活Django自动生成的后台管理界面,通过注册模型实现对数据的可视化管理和编辑。
2025-08-27
|
105
|
1
|
0
Django 系列教程:入门教程 - 第 2 节:模型和管理站点