- 博客(78)
- 收藏
- 关注
原创 java面试题整理
原理:基于责任链模式,通过拦截器拦截Executor、StatementHandler、ParameterHandler、ResultSetHandler四大对象的方法。equals()、hashCode()、toString()、clone()、wait()、notify()、finalize()等。Mybatis是一款持久层框架,通过XML或注解配置SQL,灵活映射结果到Java对象,支持动态SQL、插件扩展等。全自动(如Hibernate):自动生成SQL,开发效率高但灵活性低。切入点:匹配连接点;
2025-12-20 16:46:28
552
原创 12 Git 多人协作(完整版工作流)
适用场景:3-20 人小型团队,使用 GitHub / Gitee / GitLab 托管代码示例命令均以 GitHub 为例,GitLab / Gitee 完全通用,只需换远程地址。
2025-12-14 17:42:28
321
原创 Git 面试题全面汇总
这份全面的Git面试题汇总涵盖了从基础到高级的所有重要知识点,建议结合实际操作进行学习和准备。:merge vs rebase的区别。:push、pull、fetch的区别。:描述你使用Git解决的具体问题。:说明你在团队中的Git使用经验。:展示你解决Git问题的能力。:工作区、暂存区、版本库。:至少掌握30个常用命令。:实际练习合并冲突解决。
2025-12-11 17:03:05
484
1
原创 本地仓库首次推送的 4 种标准姿势(HTTP / SSH × Gitee / GitHub)
适用系统:Windows 10/11(Git Bash)、macOS、Linux 全系列前置条件:已安装 Git ≥ 2.30,本地至少有一次git commit。
2025-12-11 11:22:41
1013
原创 从入门到精通:Git 全方位实战指南
本文系统介绍Git分布式版本控制系统的核心概念与实战技巧。从Git的诞生背景和分布式优势切入,详细解析工作区、暂存区、仓库三大核心区域的工作原理。提供从安装配置、基础命令(add/commit/push)到分支管理、冲突解决的完整操作指南,并涵盖远程仓库协作、.gitignore配置等实用技能。特别强调团队开发中的分支策略与常见问题排查方法,帮助开发者建立规范的Git工作流程。通过图形界面工具与IDE集成方案,让Git使用更加高效便捷。文章建议新手先掌握基础命令,再逐步进阶到复杂场景,通过实践培养Git使用
2025-12-06 17:41:55
621
原创 一文搞懂 RBAC 权限模型:从概念到实战
本文介绍了后端开发中基于角色的访问控制(RBAC)模型。RBAC通过解耦用户与权限,以角色作为中间桥梁,解决了传统权限管理的扩展性和维护性问题。文章解析了RBAC的4个核心组件(用户、角色、权限、会话)和3层关联关系,并介绍了3种常见版本(基础版、角色层级版、约束版)。针对Java SSM框架,详细阐述了数据库设计(5张核心表)和代码实现步骤,包括实体类设计、Mapper层查询、Service层逻辑以及通过拦截器实现权限校验。最后总结了RBAC高扩展性、易维护等优点,建议初学者从RBAC0基础版入手,根据业
2025-12-06 11:12:43
925
原创 SpringMVC框架上
摘要:SpringMVC是基于Java的轻量级Web框架,采用MVC设计模式实现请求处理、业务逻辑与视图展示的解耦。其核心优势包括注解驱动开发、自动参数绑定和拦截器机制,支持三层架构(表现层/业务层/持久层)与RESTful风格。典型开发流程包含:1)配置DispatcherServlet前端控制器;2)通过@RequestMapping映射请求;3)视图解析器处理响应。特色功能涵盖文件上传、类型转换及AOP式拦截器,能与Spring容器无缝集成,显著提升Web开发效率。
2025-11-22 12:08:09
786
原创 Java面试中等测试题
Spring Bean容器是Spring框架中用于管理Bean(即Java对象)的容器,负责Bean的创建、配置、组装和管理。Spring IOC(控制反转)容器是Bean容器的具体实现,它通过依赖注入(DI)机制来实现控制反转。实际上,Spring Bean容器和Spring IOC容器是同一个概念,通常互换使用,但IOC容器更强调控制反转的原则。Spring DI(依赖注入)是IOC的具体实现方式,指容器在运行时动态地将依赖对象注入到目标对象中。DI减少了代码的耦合性,提高了可测试性和可维护性。
2025-11-15 15:59:44
774
原创 Spring 框架核心技术详解:AOP、JDBC 模板与事务管理
AOP 最佳实践切面类专注于单一职责(如日志切面只处理日志,事务切面只处理事务)切入点表达式精准匹配(避免过度增强影响性能)优先使用注解方式(减少 XML 配置,提高开发效率)JDBC 模板最佳实践结合连接池使用(如 Druid、HikariCP),避免频繁创建连接复杂查询使用RowMapper,简单查询用批量操作使用,减少 SQL 执行次数事务管理最佳实践事务注解加在 Service 层(而非 Dao 层,确保业务逻辑完整性)明确设置传播行为(如跨服务调用用。
2025-11-12 21:56:35
613
原创 Spring 框架核心技术全解析
Spring 是 2003 年兴起的轻量级 Java EE 一站式框架,由 Rod Johnson 创建。它以 IOC 和 AOP 为核心,解决了业务逻辑层与其他层的耦合问题,支持分层开发(表现层、业务层、持久层),且能无缝集成 MyBatis、Struts2 等主流框架。Spring 上半部分核心围绕 IOC/DI 展开,关键在于理解 “对象由容器管理,依赖由容器注入” 的思想。小型项目:XML 配置简单直观。中大型项目 / 微服务:纯注解开发更高效,是 Spring Boot 的基础。
2025-11-08 13:59:39
705
原创 懂事务与数据库连接池
事务保证数据一致性,核心是 ACID 特性和隔离级别配置,实际开发中需结合 JDBC 或框架(Spring)使用。连接池优化系统性能,Druid 是最优选择,通过配置文件 + 工具类可快速集成。两者结合时,需重点关注连接的唯一性和归还时机,避免事务失效或连接泄漏。掌握这两项技术,能解决大部分数据库相关的性能和数据一致性问题,是 Java 后端开发的必备技能。
2025-11-08 13:53:11
1038
原创 Spring面试题
答案一级缓存:SqlSession级别,默认开启,在同一个SqlSession中有效。二级缓存:Mapper级别,需手动开启,跨SqlSession共享数据。答案接口绑定指MyBatis将Mapper接口与XML映射文件关联,通过动态代理实现。好处是无需编写实现类,代码更简洁。答案B标签可以定义在A标签后面,MyBatis解析时会将整个XML文档加载后再处理引用。答案MyBatis是持久层框架,封装了JDBC,通过XML或注解配置SQL,支持动态SQL和缓存,简化数据库操作。答案。
2025-11-04 15:03:37
897
原创 Spring 框架IOC和AOP
Spring 是一个分层的 JavaSE/EE 全栈轻量级开源框架,核心解决业务逻辑层与其他层的耦合问题,将面向接口的编程思想贯穿整个系统。它不是要替代现有技术,而是通过整合各类优秀框架(如 MyBatis、Struts2 等),为开发者提供一套统一的开发规范。简单来说,Spring 就像一个 "超级工厂",帮你管理所有对象的创建和依赖关系;IOC(控制反转)和AOP(面向切面编程)。IOC(Inverse of Control,控制反转)是 Spring 的核心设计思想 ——
2025-11-03 22:26:08
793
原创 一文搞定 JDBC 事务与数据库连接池
事务是数据库提供的原子性操作单元一组 SQL 操作要么全部成功,要么全部失败,不存在 "部分执行" 的中间状态。最经典的例子就是「转账」:冠希给美美转 1000 元,需要执行两步操作 —— 给冠希扣 1000 元、给美美加 1000 元。如果第一步成功但第二步失败(比如数据库突然崩溃),就会出现 "钱扣了但没到账" 的异常,而事务能避免这种情况。事务:通过Connection的commitrollback控制,核心是 ACID 特性,隔离级别解决并发问题;连接池。
2025-11-03 22:18:03
876
原创 一文搞懂池化:从原理到实践,让资源利用效率翻倍
简单来说,池化(Pooling)是一种 “提前准备、重复利用” 资源的设计模式,本质是对 “昂贵资源” 的生命周期进行统一管理,避免频繁创建和销毁带来的性能损耗。它的思路很像生活中的 “共享充电宝柜”:商家不会等用户需要时才临时生产充电宝,而是提前准备一批充电饱满的设备存放在柜中;用户用的时候直接取走,用完后放回柜中充电,供下一个用户继续使用 —— 既省去了 “按需生产” 的高成本,又避免了用户等待的时间。初始化池。
2025-11-02 22:29:28
475
原创 深入 Maven:从仓库配置到私服架构的进阶实践
通过本文的学习,我们从 “仓库配置” 到 “依赖进阶”,再到 “企业级私服搭建”,系统掌握了 Maven 的进阶核心能力。仓库是依赖管理的基础,依赖范围与阻断解决了实际开发中的冲突问题,生命周期与插件揭示了构建背后的执行逻辑,而私服则是企业团队协作的关键支撑。至此,我们已覆盖 Maven 从基础到进阶的核心知识点,从个人开发到团队协作的场景均能应对。
2025-10-29 20:19:21
1065
原创 从零开始学 Maven:Java 项目管理的高效解决方案
通过本文的学习,我们掌握了 Maven 的核心价值(标准化构建、自动化依赖管理)、安装配置步骤,以及基础项目的实战流程。Maven 的 “约定优于配置” 理念,让项目结构更统一,团队协作更高效;而依赖管理机制,则彻底告别了手动下载 JAR 包的繁琐。
2025-10-29 20:10:42
647
原创 IDEA使用教程
作为一名从 Eclipse 转用 IDEA 的 Java 开发工程师,我深刻理解两种工具操作逻辑的差异。建议在学习 IDEA 时暂时忘掉 Eclipse 的操作习惯,从零开始适应这款更高效的开发工具。本文将从下载安装到进阶技巧,带你完整掌握 IDEA 的 Java 开发用法。以以下代码为例演示调试流程:调试步骤:建议你先按照本文步骤完成 IDEA 的安装和基础配置,再通过实际项目练习快捷键和调试技巧。
2025-10-25 17:35:01
1026
原创 JSON 核心知识点
定义:JSON 是一种轻量级、纯文本的数据交换格式,基于 JavaScript 对象语法,但完全独立于编程语言(几乎所有语言都有 JSON 解析 / 生成工具)。核心优势语法简洁易读(比 XML 更轻量,无冗余标签)。解析速度快(编程语言原生支持或有高性能库)。跨平台 / 跨语言兼容(前后端、多语言系统间数据传输的首选)。基础层:掌握 JSON 严格的语法规则(对象、数组结构,双引号要求等)。Java 层:FastJSON 实现 Java 对象与 JSON 字符串的双向转换,重点掌握和方法。
2025-10-23 16:58:01
831
原创 AJAX 知识
定义:AJAX(Asynchronous JavaScript and XML,异步 JavaScript 和 XML)是一种无需重新加载整个网页,就能实现局部更新页面数据的技术。核心价值减少网络数据传输量,提升页面响应速度。实现 “无刷新交互”,优化用户体验(如实时搜索、表单异步提交、动态加载内容)。本质是原生 JavaScript 与服务器进行异步通信的技术集合(核心依赖对象或现代的fetch APIAJAX 是前端与服务器异步通信的核心技术,通过或fetch。
2025-10-23 16:43:11
686
原创 Cookies 与 Session 核心知识点
Cookies 负责在客户端存储 “钥匙”(SessionID),Session 负责在服务器端存储 “用户数据”。实际开发中,需根据数据敏感性、大小和场景选择合适的存储方式,同时重视安全配置(如HttpOnlysecureSameSite等),避免出现身份伪造、数据泄露等风险。
2025-10-23 16:32:41
688
原创 jQuery 核心知识点总结
jQuery 以 “简洁” 为核心,适合快速开发中小型项目、处理 DOM 交互和 AJAX 请求。虽然现在 React、Vue 等框架更流行,但许多老项目仍依赖 jQuery,掌握它能帮你快速接手维护工作。核心是理解$()选择器、链式调用和事件处理,其余功能可按需查阅jQuery 官方文档。
2025-10-23 16:02:12
834
原创 JavaScript 从入门到实战:2025 年开发者必学指南
JavaScript 不是一门 “学完就忘” 的语言 —— 它一直在进化,从 ES6 到 ES2024,从前端到全栈。基础打牢,实战为王。与其纠结 “学哪个框架”,不如先把 JavaScript 本身吃透 —— 因为所有框架,都是基于它构建的。现在就打开编辑器,写一个简单的数组遍历、或者异步请求,开始你的 JS 进阶之路吧!
2025-10-23 14:32:08
931
原创 Java 异常处理全解析
异常是指程序运行过程中发生的非正常事件,它会打断程序的正常执行流程。比如文件不存在、网络连接中断、数组越界等,都属于异常场景。Java 通过异常机制来统一处理这些意外情况,让程序在出错时能有 "补救" 或 "优雅退出" 的机会。开发者根据业务需求自定义的异常类,需继承Exception或。场景:用户登录失败、参数校验不通过等业务异常。// 自定义编译期异常// 自定义运行时异常if (!throw new LoginFailedException("用户名或密码错误");
2025-10-21 22:34:23
996
原创 Java 的map集合体系
遍历选择:需修改集合用Iterator,否则用增强 for 或普通 for(List)。泛型使用:始终为集合指定泛型,避免类型转换异常。Map 选择:选HashMap(性能优)、(需顺序)或TreeMap(需排序)。至此,Java 集合体系的核心知识点已全部讲解完毕。建议结合实际场景多练习,才能真正做到融会贯通!
2025-10-21 22:25:19
794
原创 Java的Collection 集合体系详解
Collection 体系:存储单个元素的集合,包括 List(有序可重复)、Set(无序不可重复)、Queue(队列)。Map 体系:存储 ** 键值对(Key-Value)** 的集合,如 HashMap、TreeMap 等。今天我们先深入学习Collection 体系。List:有序可重复,选ArrayList(读多写少)或LinkedList(增删多)。Set:无序不可重复,选HashSet(性能优)、(需插入顺序)或TreeSet(需排序)。Queue:先进先出,选LinkedList或。
2025-10-21 22:18:44
1027
原创 深入理解 Java 中的字符串、包装类与日期处理
字符串选择:少量操作选String,频繁修改选(单线程)或(多线程)。包装类注意:利用自动装箱拆箱简化代码,但需注意null拆箱的空指针风险和缓存机制的影响。日期处理:彻底抛弃Date和,全面使用 Java 8 的java.time包,兼顾安全性与易用性。掌握这些基础组件的特性与最佳实践,能显著提升代码质量与开发效率,避免常见的性能问题和 bug。
2025-10-21 22:08:01
770
原创 Java 面向对象核心知识详解
java 是一门面向对象的编程语言,面向对象编程(OOP)思想是 Java 编程的核心。下面我们就来深入探讨 Java 面向对象的关键内容。
2025-10-20 23:12:45
923
原创 Java 重点语法
流程控制能让程序根据不同情况执行不同逻辑,方法用于封装代码实现复用,数组则方便我们存储和操作一组同类型数据。下面聚焦这些重点内容展开。
2025-10-20 22:56:54
565
原创 Java语法基础
本篇博客重点梳理了Java语言的概述、常量变量、数据类型转换及运算符等核心基础,并对图中标红的重点内容进行深入讲解,帮助初学者构建清晰的知识框架。
2025-10-20 22:18:29
933
原创 SpringMVC 实战:整合 MyBatis 实现完整 CRUD
前面两篇我们掌握了 SpringMVC 的基础和进阶技术,但实际项目中,SpringMVC 很少单独使用,通常需要与持久层框架(如 MyBatis)整合,实现 “接收请求→业务处理→操作数据库→返回结果” 的完整流程。本文将带你从零搭建 “SpringMVC + MyBatis” 的项目,实现用户管理的 CRUD 功能,覆盖实际开发中的核心配置和最佳实践。覆盖了 SpringMVC 的核心知识点和实际应用,你可以根据学习进度逐步阅读和实践。处理用户相关的 5 个请求:查询所有、查询单个、添加、编辑、删除。
2025-09-27 15:46:01
846
1
原创 SpringMVC 进阶:核心组件详解与参数绑定全攻略
本文将带你深入 SpringMVC 的核心组件,拆解其底层逻辑,并详细讲解 “参数绑定” 这一高频开发场景,帮你解决 80% 的日常开发需求。若请求参数较多(如用户注册:姓名、年龄、邮箱),可将参数封装为 POJO 类,SpringMVC 会自动将请求参数注入到 POJO 的属性中(要求:POJO 属性名与请求参数名一致)。“参数绑定” 是 SpringMVC 接收前端请求参数的核心能力,支持基本类型、对象、集合等多种场景,以下按 “常用程度” 排序讲解。解决方案:前端确保参数类型正确,或后端用。
2025-09-27 15:44:10
673
原创 SpringMVC 入门:核心概念与第一个 HelloWorld 案例
本文介绍了SpringMVC框架的核心概念和使用方法。SpringMVC是基于MVC模式的轻量级框架,通过DispatcherServlet统一处理请求,简化开发流程。文章详细讲解了SpringMVC的5个核心组件及9步工作流程,并提供了完整的HelloWorld案例实践步骤,包括环境搭建、配置文件和代码实现。通过该案例,读者可快速掌握SpringMVC的基本使用方法,包括控制器定义、视图解析和数据传递等核心功能。
2025-09-27 15:41:49
744
原创 Spring 高级特性:事件、资源与异步处理
事件驱动模型:实现组件间的松耦合通信资源管理:统一的资源访问抽象异步处理:提高应用的并发能力和响应速度类型转换:灵活的类型转换机制数据绑定:简化对象与表单数据的映射验证框架:方便的数据验证功能这些高级特性进一步扩展了 Spring 的能力,使开发者能够更专注于业务逻辑,而非基础设施的实现。本文将重点介绍 Spring 的事件机制、资源管理和异步处理,帮助你充分利用 Spring 框架的强大功能。java运行// 自定义事件,继承ApplicationEvent// 订单ID。
2025-09-20 16:49:58
918
1
原创 Spring 事务管理详解:保障数据一致性的实践指南
在数据库操作中,事务(Transaction)是一组不可分割的操作单元,这些操作要么全部成功执行,要么全部失败回滚,从而保证数据的一致性。原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成,不会处于中间状态一致性(Consistency):事务执行前后,数据库从一个一致状态转变为另一个一致状态隔离性(Isolation):多个事务并发执行时,彼此之间不会相互干扰持久性(Durability):事务一旦提交,其修改会永久保存到数据库中在企业级应用中,事务管理至关重要。
2025-09-20 16:48:51
890
原创 Spring AOP 详解:面向切面编程的实践之道
在软件开发中,我们经常会遇到一些横切多个业务逻辑的功能,例如日志记录、事务管理、安全验证等。代码分散:相同功能的代码散布在多个地方,维护困难耦合度高:业务逻辑与横切关注点混杂在一起代码冗余:重复实现相同的功能不利于测试:横切功能增加了测试的复杂度面向切面编程(Aspect-Oriented Programming,AOP)正是为解决这些问题而生的编程范式。它通过将横切关注点从业务逻辑中分离出来,实现了 "关注点分离" 的设计原则,使代码更加清晰、模块化。
2025-09-20 16:47:33
964
原创 Spring 框架入门:深入理解 IoC 容器与依赖注入
Spring 框架自 2003 年首次发布以来,已经成为 Java 企业级开发的基石。它以 "轻量级"、"非侵入式" 的设计理念,解决了传统 Java 开发中组件耦合紧密、配置繁琐等问题,极大地提高了开发效率和系统可维护性。控制反转(IoC):将对象的创建和依赖管理交给容器,降低组件间耦合面向切面编程(AOP):分离业务逻辑和横切关注点(如日志、事务)一站式解决方案:提供数据访问、Web 开发、安全等全方位功能生态系统丰富:与 Spring Boot、Spring Cloud 等项目无缝衔接。
2025-09-20 16:46:23
607
原创 Spring Boot 整合 MyBatis:从入门到企业级实践
Spring Boot 整合 MyBatis 为 Java 持久层开发提供了高效、灵活的解决方案。本文从基础配置到高级特性,全面介绍了两者的整合过程,包括注解与 XML 两种开发方式、分页实现、事务管理和逆向工程等关键技术点。在企业级实践中,还需要关注性能优化和安全问题,合理使用缓存、连接池和事务管理,确保系统的高效稳定运行。通过掌握这些知识,你可以快速构建出高质量的数据库访问层,为业务逻辑提供可靠支持。
2025-09-20 16:18:06
581
原创 MyBatis 缓存机制详解:提升性能的关键技术
数据库压力增大网络传输开销增加应用响应速度降低缓存作为解决这些问题的关键技术,通过将频繁访问的数据存储在内存中,减少对数据库的直接访问,从而显著提升应用性能。一级缓存:SqlSession 级别的缓存(默认开启)二级缓存:Mapper 级别的缓存(需要手动开启)本文将深入解析 MyBatis 缓存的工作原理、使用方式和最佳实践,帮助你在实际开发中合理利用缓存提升系统性能。MyBatis 的缓存机制是提升应用性能的重要手段,一级缓存默认开启,适用于单会话内的数据复用;
2025-09-20 16:17:06
372
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅