- 博客(22)
- 收藏
- 关注
原创 深入浅出Spring核心:IOC与AOP的本质与实现原理
本文深入解析Spring框架的两大核心机制:IOC(控制反转)和AOP(面向切面编程)。IOC通过容器管理对象生命周期和依赖注入,实现对象创建权的反转,降低代码耦合度;AOP则通过动态代理将横切逻辑(如日志、事务)与业务逻辑分离。文章详细阐述了两者的实现原理(反射/动态代理)、核心组件(BeanFactory/切面)及协同关系,并通过代码示例展示实际应用。掌握IOC和AOP对理解Spring架构至关重要,它们是实现"低耦合、高内聚"的关键设计思想。
2026-01-19 23:07:27
602
原创 MyBatis 入门到实践:一篇文章带你掌握核心用法
MyBatis是一款优秀的Java持久层框架,通过XML/注解将SQL与Java对象映射,兼具JDBC的灵活性和易用性。核心组件包括配置文件、Mapper接口和SqlSession。搭建环境需引入依赖、配置SqlMapConfig.xml和Mapper.xml文件,支持多种参数传递方式。作为学习数据库与持久层原理的理想选择,MyBatis以SQL可控、配置清晰的特点,成为Java开发中广泛使用的ORM框架。
2025-12-28 22:47:48
374
原创 MyBatis 环境配置完整教程(从 0 到 1)
MyBatis是一个优秀的持久层(ORM)框架,它将 Java 对象与数据库表进行映射,通过XML 或注解的方式编写 SQL。
2025-12-23 16:02:19
271
原创 一文搞懂二叉树(Binary Tree)——结构、遍历与手写实现
本文系统介绍了二叉树这一重要的非线性数据结构。主要内容包括:二叉树的定义(每个节点最多两个子节点)、基本概念(节点关系、术语)、常见类型(满二叉树、完全二叉树、二叉搜索树)及其存储方式(顺序存储和链式存储)。重点讲解了二叉树的四种遍历方式(前序、中序、后序和层序遍历)及其递归实现,并详细说明了二叉搜索树(BST)的插入和查找操作。最后总结了二叉树的应用场景(堆、表达式树、数据库索引等)和优势,强调二叉树作为非线性结构在查找效率(理想O(logn))和一对多关系表示上的优越性。
2025-12-18 21:09:36
265
原创 一文吃透队列(Queue)——从概念到手写实现
✔ 队列是一种FIFO的线性结构✔ 常见实现:数组、循环数组、链表栈解决“回退”,队列解决“排队”
2025-12-18 03:00:00
389
原创 一文吃透栈(Stack):从底层原理到经典算法实战
本文介绍了栈的基本概念和实现方式。栈是一种后进先出(LIFO)的数据结构,支持入栈(push)、出栈(pop)和查看栈顶(peek)操作。文章详细讲解了顺序栈(数组实现)和链式栈(链表实现)的具体代码实现,包括核心操作和边界条件处理。同时列举了栈的典型应用场景:括号匹配、表达式求值(逆波兰)、JVM虚拟机栈和函数调用过程等。最后总结了栈的本质是"延迟处理+最近优先"的思想,掌握栈可以帮助理解递归、表达式计算等复杂问题。
2025-12-17 12:51:04
431
原创 Java 八大排序算法详解(从入门到面试)
本文系统介绍了八大经典排序算法,包括冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序和基数排序。从算法思想、Java实现代码到时间复杂度、稳定性等特性进行了详细说明。其中快速排序在实际应用中效率最高,而归并排序稳定且时间复杂度为O(nlogn)。每种算法都有其适用场景,如插入排序适合小规模数据,基数排序适合整数排序。文章通过清晰的代码实现和特点分析,为读者提供了全面的排序算法知识框架。
2025-12-14 22:06:52
385
1
原创 深入理解 Servlet 与 Socket 底层原理:Web 容器如何真正处理一次 HTTP 请求
这篇文章将从“浏览器发送一个 HTTP 请求”开始,一层层剖开 Servlet 的幕布,包括:Socket 背后的 TCP 通信细节Tomcat 如何管理线程、处理 SocketServlet 的生命周期与多线程模型HTTP 协议解析与响应构建NIO、Selector 模型与现代服务器优化这是一次的完整讲解。
2025-12-06 19:06:47
612
1
原创 Java Socket 通信详解:从入门到多线程与线程池实战
本文介绍了Java Socket编程的基础知识和进阶优化方案。通过本文,读者可以系统掌握Java Socket网络编程的核心技术,从基础实现到高性能优化的完整知识体系。
2025-12-04 19:53:47
393
原创 Java Socket 基础到多线程与线程池实现教程
Socket是网络通信的"插口",由IP、端口号和协议组成。文章演示了Java Socket编程的基本流程:服务器端监听端口,客户端主动连接并发送消息。针对单线程服务器只能处理一个客户端的问题,介绍了多线程方案,每个客户端分配独立线程。进一步优化提出线程池技术,通过复用固定数量线程来提升性能,避免频繁创建销毁线程的资源消耗。整个演进过程从基础通信到多线程再到线程池,逐步提升服务器的并发处理能力。
2025-12-03 10:25:49
362
原创 Java I/O(输入输出流)详解指南
Java I/O机制包含传统I/O(java.io)和新I/O(java.nio)两套体系。传统I/O基于流模型,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),支持缓冲流提升性能,提供转换流处理编码、打印流格式化输出及对象序列化功能。NIO采用通道(Channel)和缓冲区(Buffer)模型,支持非阻塞操作。
2025-11-13 21:00:00
684
原创 Java 反射(Reflection)详尽指南
本文介绍了Java反射机制及其应用场景,反射允许程序在运行时检查和操作类、对象的结构(方法、字段、构造器等)。核心API包括Class类、Method、Field、Constructor等,可用于动态创建对象、调用方法和访问字段(包括私有成员)。常见应用包括框架设计(如Spring的依赖注入)、序列化/反序列化、测试工具等,但反射会绕过编译时类型检查且性能较低,应谨慎使用。文章还提供了反射操作示例、常见错误解决方法以及替代方案建议(如方法句柄),并强调在模块化系统中需注意访问限制。
2025-11-13 16:43:09
759
原创 Java 异常机制详解:从原理到实战
Java异常处理机制总结:异常是程序运行时出现的非预期情况,Java通过异常体系(Throwable→Error/Exception)进行分类管理。Error表示严重系统错误,Exception分为受检异常(必须处理)和运行时异常(逻辑错误导致)。异常处理采用try-catch-finally结构,支持throw主动抛出和throws声明异常。开发中应遵循异常处理最佳实践,如精确捕获异常、合理使用自定义异常等。文件读取案例展示了受检异常的处理流程,体现了异常机制对程序健壮性的重要作用。
2025-11-09 12:01:51
297
原创 《深入理解 Java Map:从 HashMap 到 TreeMap 的全面解析》
摘要:本文系统介绍了Java中的Map接口及其常用实现类。内容包括Map的定义与特性(键值对结构、key唯一性)、主要实现类(HashMap、LinkedHashMap、TreeMap等)的特点对比,重点解析了HashMap的底层结构(数组+链表+红黑树)、哈希原理和扩容机制。
2025-11-06 15:38:06
1007
原创 《深入理解 Java List:ArrayList 与 LinkedList 全面解析》
Java集合框架核心结构:List接口及实现类分析。List核心实现类ArrayList(动态数组)查询快增删慢,LinkedList(双向链表)插入删除快查询慢。两者均非线程安全,ArrayList适合读多写少,LinkedList适合频繁修改场景。
2025-11-06 15:06:01
526
原创 java类与对象
本文介绍了面向对象编程的核心概念,包括类与对象、构造方法、封装特性等关键知识点。类(Class)是对象的模板,对象(Object)是类的实例,通过new关键字创建。构造方法具有与类名相同、无返回值等特点,支持重载。封装机制通过private修饰属性和getter/setter方法保护数据安全。此外,还讲解了this关键字、成员变量与局部变量的区别、方法重载(依据参数类型/数量/顺序不同)以及static静态成员(类级别共享)的特性。
2025-11-04 15:08:29
297
原创 JAVA常用的StringAPI
Java字符串操作常用API摘要:String类提供多种字符串处理方法。1.创建与比较:equals比较内容,==比较地址;2.子串截取:substring(beginIndex)和substring(begin,end);3.大小写转换:toLowerCase/toUpperCase;4.去空格:trim();5.替换:replace()支持字符/字符串替换;6.查找:indexOf/lastIndexOf定位子串位置;7.拼接与判断:concat()连接字符串,contains()检查子串存在。
2025-11-04 14:47:06
203
原创 java继承和多态
Java继承与多态摘要:继承通过extends实现类间层级关系,子类复用父类属性方法并可扩展,体现"is-a"关系,Java支持单继承但可通过接口实现多态。多态基于继承和方法重写,父类引用可指向不同子类对象,运行时动态调用实际对象方法,提高代码灵活性和扩展性。二者结合实现代码复用与动态适配,其中this区分成员变量,super访问父类成员,static修饰类级别成员。多态需注意向上转型限制和向下转型安全。
2025-11-02 23:31:11
968
原创 java基础
摘要:本文介绍了Java基础数据类型(整型、浮点型、字符型、布尔型)和引用数据类型(类、接口、数组)。详细讲解了final常量的定义方式(基本类型、类级别和构造方法初始化),并分析了String的特性(存储方式、比较机制和StringBuilder原理)。列举了常用String API(substring、大小写转换、trim、replace、查找等操作)。最后阐述了类与对象的关系,重点说明了构造函数的作用(成员变量初始化、对象合法性验证)和特点(命名规则、自动调用机制和重载特性)。
2025-10-31 14:42:05
746
原创 js方法的学习
本文介绍了JavaScript编程中的关键知识点:1)控制流程(数组遍历的三种方式)、2)异常捕获(类型及try-catch-finally用法)、3)循环控制(continue和break)、4)switch-case语句应用、5)JSON语法规则及使用。重点讲解了数组遍历方法、异常处理机制和JSON数据结构,通过具体代码示例展示了这些语法特性的实际应用场景和使用要点。文章内容涵盖JavaScript基础编程中的重要概念和技术点。
2025-10-29 10:01:02
282
原创 前端js基础知识说明
本文介绍了JavaScript操作DOM元素的基本方法和进阶应用。主要内容包括:1)通过getElementById获取div元素并修改其内容和样式;2)实现悬停切换图片功能,通过onmouseover事件控制图片显示;3)复选框全选、反选功能的实现;4)JS变量定义、类型转换、作用域等基础概念,包括弱类型特性、变量提升和常量定义。文章通过具体代码示例展示了JS如何操作网页元素和控制程序逻辑,适合初学者理解DOM操作和JS基础语法。
2025-10-09 15:59:52
780
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅