Java IO——网络IO 引言网络 IO (Network IO) 是分布式系统和互联网应用的基础。在 Java 生态中,从最初的 Socket / ServerSocket(阻塞式 BIO)到基于 Selector 的 NIO、再到 AIO(异步 IO)和高性能框架 Netty,都为不同规模的网络应用提供了丰富的选择。本文将介绍 Java 网络编程中常见的 TCP/UDP 套接字用法,并进一步探讨在高并发场景下广泛应用的 2025-02-17 Java IO JavaSE Java IO 网络IO
Java IO——NIO 引言Java NIO(New I/O)是从 Java 1.4 开始引入,并在后续版本不断完善的一套高性能 I/O 编程模型。它在保留传统流式 I/O 的基础上,提供了更灵活的缓冲区(Buffer) 与通道(Channel)机制,并加入了非阻塞 I/O和多路复用(Selector)等概念,极大地提升了高并发环境下的吞吐量。本篇文章将从缓冲区与通道的基本用法讲起,逐步剖析异步文件读写、网络编程,以及基 2025-02-14 Java IO JavaSE Java IO NIO
Java IO——IO工具 Path 类概述在 Java NIO(java.nio.file)中,Path 类是 Java 7 引入的新文件路径处理 API,属于 java.nio.file 包的一部分。相比于旧的 java.io.File,Path 具有更强大的功能,包括: 支持跨平台路径处理(自动适配 Windows 和 Unix/Linux) 支持相对路径与绝对路径 提供丰富的路径操作方法 支持符号链接(Symbol 2025-02-08 Java IO JavaSE Java IO IO工具
GitFlow工作流 引言在团队协作开发中,分支管理始终是一个需要精细设计的环节。如何在并行开发与稳定交付之间取得平衡,是每个团队都要面对的挑战。GitFlow 作为一种经典的 Git 分支管理模型,以 “双主分支” 和辅助分支模式为核心,为中大型项目或发行版式开发提供了清晰的开发流程和版本管理方案。本文将详细介绍 GitFlow 的基本概念、分支模型以及在实际项目中的应用与局限,为读者在团队协作时提供一个可行的参考。 2025-02-06 Git Git 版本管理 GitFlow工作流
Java IO——BIO 引言Java 的 IO(输入/输出)系统在软件开发中扮演着关键角色,几乎所有与数据交互的场景都离不开 IO 操作。无论是读取本地文件、写入网络流、处理大文件还是进行多线程间通信,Java 都提供了功能丰富且易于扩展的 IO 类库。本篇文章将从最基础的 File 类开始,逐步介绍 Java IO 中常见的流类别、用法以及 Java IO 的设计模式,帮助读者在学习与实践中更好地理解和掌握 Java 2025-02-05 Java IO JavaSE Java IO BIO
Redis实战——消息队列 引言在现代分布式系统中,消息队列起着至关重要的作用。它通过异步通信的方式,实现系统各服务间的解耦和流量削峰。对于初级场景,我们可能在单个 Java 应用中借助阻塞队列来简化异步处理,但随着业务需求的增长和系统架构的演进,跨进程通信、数据持久化、高并发以及分布式部署成为关键要素。此时,Redis 作为一款高性能的内存数据库,提供了多种消息队列实现方式——包括 List、Pub/Sub 和 Strea 2024-12-29 Redis Redis NoSQL Redis实战
Redis实战——分布式业务ID生成器 引言在分布式系统中,为了保证订单、流水等业务单号的唯一性、高可用、高性能和有序递增,我们通常会选择分布式ID生成方案。本文将结合一个“业务单号”案例,演示如何使用RedisAtomicLong来生成符合业务需求的可读单号,并与常见的Snowflake算法做简单对比。 规则在实际业务场景中,单号除了需要具备唯一性,还希望包含一些能够体现业务维度的信息,方便快速识别或手动对账。例如,一个典型的销售订单 2024-12-25 Redis Redis NoSQL Redis实战
Redis实战——缓存 引言在现代软件系统中,缓存已成为提升性能、减少数据库压力和提高响应速度的重要手段。尤其是在高并发、分布式环境中,缓存往往是架构中的“加速器”。Redis由于其高性能、丰富的数据结构以及良好的生态支持,被广泛用作缓存层。本篇文章将围绕“Redis作为缓存”这一主题,详细探讨缓存的概念、适用场景、更新策略、常见问题以及与流行框架的结合。 缓存概念缓存是一个存储层,旨在存储部分数据的副本,以减少从数据库 2024-12-25 Redis Redis NoSQL Redis实战
Redis实战——验证码和Token的存储与管理 引言随着互联网应用的快速发展,用户认证方式也在不断演进。传统的用户名密码登录方式虽然广泛使用,但存在密码泄露、暴力破解等安全隐患。基于验证码的登录方式,尤其是通过邮箱验证码进行登录,因其操作简便、安全性高而受到越来越多应用的青睐。 在微服务架构下,多个服务协同工作,用户认证与授权需要具备高可用性和可扩展性。Redis作为高性能的内存数据存储系统,凭借其快速的数据读写能力和丰富的数据结构,成为实现分 2024-12-19 Redis Redis NoSQL Redis实战
Redis——Redisson分布式锁 前言前面我们基于Redis实现的分布式锁能处理最基本的互斥,但还有许多的功能没有实现,如可重入、可重试、自旋等,在企业开发环境下,通常会引入Redisson这个成熟的框架来完善这些功能。本文将详细介绍Redisson的分布式锁功能,包括不同类型的锁的特性、应用场景以及如何在Spring Boot项目中实现和配置这些锁。 Redisson分布式锁支持Redisson是一个在Java环境下使用Redi 2024-12-15 Redis Redis NoSQL Redisson