
java
文章平均质量分 94
Kay_Liang
小L正在深入探索Java编程和数据分析的世界。如果你也在学习Java或数分,欢迎关注我的博客,一起交流、一起进步。如果你有任何问题或建议,也欢迎留言,让我们共同成长。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
揭秘Java属性文件加载的隐藏技术脉络
本文深入剖析了Java属性文件加载的核心过程,以50行工具类PropertiesUtils为例,揭示了.properties配置加载的技术脉络。从类初始化时机、资源定位原理、编码处理细节,到内存模型优化和异常处理策略,系统解读了静态代码块中的try块执行流程。重点分析了InputStreamReader显式编码的必要性、ConcurrentHashMap的线程安全设计,以及资源关闭的防御式编程。原创 2025-08-01 22:00:48 · 1790 阅读 · 0 评论 -
MyBatis中#{}与${}的实战避坑指南
本文深入剖析MyBatis中两种参数占位符的本质区别。#{}采用预编译机制确保安全性,适用于数值、字符串等数据值;${}直接字符串替换,适用于动态列名、排序等场景但存在SQL注入风险。原创 2025-07-28 22:30:00 · 1407 阅读 · 0 评论 -
在 Java 世界里让对象“旅行”:序列化与反序列化
本文围绕一段极简的 JsonUtils 工具类展开,以 FastJSON 与 Jackson 两大主流实现为例,从原理到实践、从特性到隐患,做一次系统梳理。原创 2025-07-25 18:14:45 · 1826 阅读 · 0 评论 -
一段日期模板枚举,吃透 Java 枚举的优雅设计
本文探讨了Java枚举(enum)在工程实践中的高级应用,以日期格式常量重构为例展开分析。文章指出枚举不仅是类型安全的常量集合,更是可携带数据和行为的对象,并详细解析了枚举的底层实现机制、编译器魔法方法及线程安全特性。通过DateTimePatternEnum案例,展示了如何为枚举添加字段、构造器和接口实现,使其具备策略模式能力。同时介绍了枚举与数据库/JSON的映射方案、性能优化技巧,以及《Effective Java》推荐的单例实现方式。原创 2025-07-21 11:14:33 · 1495 阅读 · 0 评论 -
一次面向初学者的完整实战:从零构建SpringBoot测试类
测试是保证软件质量的核心手段,而 Spring Boot 为开发者提供了开箱即用的测试框架。本文以一段真实可编译的代码片段为起点,逐步剖析如何在 Spring Boot 项目中编写并运行一个最小可复用的测试类。文章将覆盖依赖准备、测试类结构、执行流程、常见误区与调试技巧,并穿插对测试设计思想的简要讨论。全文约三千字,力求用平实准确的语言还原一次完整的测试落地过程。原创 2025-07-18 23:07:20 · 1769 阅读 · 0 评论 -
Spring Boot项目结构解析:构建高效、清晰的代码框架
本文深入解析了SpringBoot项目结构中的关键组件及其应用。内容包括:1)分层架构设计(Controller/Service/Repository/Entity);2)PO(与数据库表对应的持久化对象)的设计与使用;3)Query对象封装查询条件;4)VO(视图对象)实现前后端数据转换;5)Config配置类集中管理项目配置。原创 2025-07-14 23:48:35 · 1294 阅读 · 1 评论 -
解密:MySQL 的常见存储引擎
MySQL提供了多种存储引擎以适应不同业务场景需求。本文详细对比了InnoDB(默认引擎,支持事务、行锁)、MyISAM(读性能快、全文索引)、MEMORY(内存存储、高速访问)和ARCHIVE(海量归档数据)四种常用引擎的特性。原创 2025-06-24 13:24:09 · 1537 阅读 · 0 评论 -
WebSocket网络通信架构设计详解
本文通过一个简单的 WebSocket 示例,详细介绍了 WebSocket 在系统架构设计中的应用。原创 2025-06-15 19:32:42 · 507 阅读 · 0 评论 -
Socket浅谈与实战:轻松搭建你的第一个聊天室
本文通过实现一个简易聊天室系统,详细探讨了Socket在网络架构设计中的应用。原创 2025-06-11 20:42:08 · 1314 阅读 · 0 评论 -
锁的艺术:深入浅出讲解乐观锁与悲观锁
在多线程和分布式系统中,数据一致性是核心问题。锁机制是解决并发冲突的重要手段,其中乐观锁和悲观锁是两种常见策略。原创 2025-06-07 13:39:10 · 1348 阅读 · 0 评论 -
深入解析 PageInterceptor:实现高效分页的利器
PageInterceptor是一个基于 MyBatis 的分页插件,它通过拦截 SQL 查询语句的执行,动态地添加分页逻辑。与传统的分页实现方式(如手动拼接分页 SQL)相比,提供了一种更加简洁、高效且通用的解决方案。原创 2025-06-01 10:33:36 · 1451 阅读 · 0 评论 -
软件开发MVC三层架构杂谈
本文深入探讨了MVC(Model-View-Controller)架构及其在实际开发中的应用,特别是如何将Model层细分为Service层和DAO层,形成Controller、Service和DAO的三层架构。原创 2025-05-24 23:47:20 · 1965 阅读 · 0 评论 -
JWT深度解析:解决身份认证的痛点
JWT是一种开放标准(RFC 7519),用于在网络应用之间以JSON对象安全地传递信息。JWT通常用于身份验证和信息交换,其核心优势在于其无状态和可扩展性,使得它非常适合分布式系统和微服务架构。原创 2025-05-29 12:47:51 · 429 阅读 · 0 评论 -
Java单例模式全解析:饿汉、懒汉与双重校验锁
本文详细介绍了Java编程中的单例模式,探讨了其基本概念、三种常见实现方式(饿汉模式、懒汉模式和双重校验锁模式)及其各自的原理、优缺点和应用场景。原创 2025-05-17 11:19:01 · 1608 阅读 · 0 评论 -
别再误用 ThreadLocal 了!看这篇就懂
ThreadLocal 是 Java 中一个非常重要的工具,它通过为每个线程维护一个独立的变量副本,实现了线程隔离的效果。ThreadLocal 的使用非常简单,但它也存在一些潜在的问题,如内存泄漏和性能问题。原创 2025-05-13 16:09:15 · 1024 阅读 · 0 评论 -
Java注解:深入探究理解与实践应用
Java注解是一种强大的工具,它为代码提供了丰富的元数据信息。通过内置注解和自定义注解,开发者可以实现代码的增强、框架集成、代码生成和静态代码分析等功能。原创 2025-05-10 15:55:04 · 1180 阅读 · 0 评论 -
有关Nginx代理的秘密:原理、配置与实践
Nginx既可以配置为正向代理,也可以配置为反向代理,它们在工作原理、应用场景和配置方式上都有显著的区别。原创 2025-04-22 12:10:59 · 1325 阅读 · 0 评论 -
Java集合框架中的List、Map、Set详解
List、Map、Set原创 2025-04-19 20:58:00 · 1632 阅读 · 0 评论 -
Java中String字符串操作的那些事儿
Java中String的各种操作,包括字符串的创建、连接、比较、长度获取、截取、查找、替换、分割、大小写转换、去除空格和遍历等。这些操作在日常开发中非常常见,掌握它们可以帮助我们更高效地处理字符串相关的业务逻辑。原创 2025-04-12 19:33:59 · 1455 阅读 · 0 评论 -
Java 中的 Arrays 类:深入剖析与实战应用
Arrays类是 Java 中用于操作数组的工具类,位于包中。它提供了多种静态方法,用于对数组进行排序、搜索、填充、比较等操作。原创 2025-04-04 18:17:22 · 1211 阅读 · 0 评论 -
深入解析JDBC与ORM框架:Java程序员的数据库操作利器
本文深入探讨了Java开发中与数据库交互的两种核心技术:JDBC和ORM框架,旨在帮助Java程序员或初学者更好地理解和应用这些技术,提升开发效率和代码质量。原创 2025-04-02 18:44:25 · 1395 阅读 · 0 评论 -
Java反射机制:实现Spring依赖注入的幕后英雄
Java反射机制是Java语言的核心特性之一,它允许程序在运行时动态地检查和操作类、对象、方法和字段等。这种动态性为Java程序提供了强大的灵活性,也为许多高级框架(如Spring)提供了核心支持。本文将深入剖析Java反射机制的原理,探讨其在Spring框架中的应用,特别是如何通过反射实现依赖注入(DI)和控制反转(IoC)。原创 2025-03-30 13:09:00 · 1288 阅读 · 0 评论