- 博客(197)
- 收藏
- 关注
原创 LeetCode215/347/295 堆相关理论与题目
本文系统讲解了堆数据结构的核心概念、操作实现及其应用场景。首先介绍了堆的完全二叉树特性、数组表示方法及核心操作(上浮、下沉、建堆)。然后通过三个典型题目展开:1)第K大元素问题,比较了小顶堆、大顶堆和快速选择三种解法;2)前K高频元素问题,展示了基于小顶堆+HashMap和桶排序的解决方案;3)数据流中位数问题,详细说明了双堆法的实现策略。文章提供了完整的Java代码实现,分析了各解法的时间/空间复杂度,总结了堆的使用技巧和常见优化方法,并给出了调试建议。最后通过对比表格归纳了三类问题的核心思路,为处理堆相
2025-12-30 11:24:11
729
原创 LeetCode 20/155/394/739/84/42/单调栈核心原理与经典题型全解析
本文系统总结了栈的核心应用,涵盖基础题型和单调栈进阶技巧。基础部分包括有效括号(栈+哈希表)、最小栈(辅助栈)、字符串解码(双栈处理嵌套);单调栈部分详解每日温度(递减栈找更大元素)、柱状图最大矩形(递增栈找边界)、接雨水(递减栈找凹槽)。每道题均提供思路分析、多解法实现及避坑指南,强调栈存索引、手推示例的重要性。核心在于理解栈的三种用途:处理匹配/嵌套问题、扩展功能、优化邻域查找。单调性选择口诀:找更大元素用递减栈,找更小元素用递增栈。通过典型例题剖析,帮助掌握从O(n²)到O(n)的优化思路。
2025-12-27 10:34:13
884
原创 LeetCode136/169/75/31/287 算法技巧题核心笔记
本文总结了5道高频算法题的解题技巧:1. 136题利用异或特性找出唯一数字;2. 169题通过摩尔投票法求多数元素;3. 75题使用三指针法原地排序颜色;4. 31题按字典序找下一个排列;5. 287题将数组转为链表检测环找重复数。每道题都包含核心理论、解题思路、代码实现和复杂度分析,重点讲解了位运算、投票算法、指针操作等技巧,并指出常见错误点和拓展题型。这些解法均满足O(n)时间复杂度和O(1)空间复杂度的要求,适合面试快速复习。
2025-12-26 10:51:50
880
原创 LeetCode 124/543/687/968 树形 DP 四题详细总结
本文总结了树形动态规划(DP)的解题方法,通过四道典型题目展示了树形DP的核心思想:后序遍历获取子树信息,计算局部最优解并更新全局结果,最后向父节点传递所需信息。文章详细分析了每道题目的解题思路、实现代码和易错点,包括最大路径和(LeetCode124)、二叉树直径(LeetCode543)、最长同值路径(LeetCode687)和监控二叉树(LeetCode968)。最后提炼出树形DP的通用模板和四题的对比维度,强调后序遍历、子树信息定义和边界处理的重要性。
2025-12-23 16:00:00
775
原创 LeetCode 121/122/123/309 股票买卖问题核心题型总结
本文总结了4类股票买卖问题的动态规划解法:1. 最多一次交易(LeetCode121):定义持有/不持有状态,买入时仅用初始资金,空间优化至O(1)。2. 无限次交易(LeetCode122):买入时依赖前次卖出利润,可用贪心法累加正差价。3. 最多两次交易(LeetCode123):拆分4个交易状态(1次买入/卖出,2次买入/卖出),分别转移。4. 含冷冻期交易(LeetCode309):新增冷冻期状态,买入需从前两天非冷冻期转移。所有问题均可通过状态机模型和变量滚动实现空间优化,核心是明确交易约束对状态
2025-12-23 07:30:00
1817
原创 LeetCode 62/64/5/1143多维动态规划核心题型总结
本文总结了5道经典多维动态规划题目,涵盖路径问题和子串/子序列问题。主要内容包括: 不同路径问题(LeetCode62):使用二维DP或优化为一维DP/数学公式解法,核心是边界初始化和方向约束 最小路径和(LeetCode64):通过二维DP或原地修改优化,关键是最优路径递推 最长回文子串(LeetCode5):采用二维DP或中心扩展法,重点处理回文对称特性 最长公共子序列(LeetCode1143):基于二维DP或一维DP优化,解决非连续子序列匹配 编辑距离(LeetCode72):通过二维DP或一维DP
2025-12-22 20:50:18
814
原创 LeetCode 300/152/416/32 动态规划进阶题型总结(最长递增子序列→最长有效括号)
本文总结了四道动态规划进阶题目的解题思路,涵盖子序列、子数组、子串三类场景。每道题提供两种解法(基础DP和优化/非DP解法),并分析核心难点与易错点: 最长递增子序列:基础DP解法O(n²)定义dp[i]为以i结尾的最长长度,优化解法O(nlogn)使用贪心+二分维护最小结尾数组; 乘积最大子数组:需同时维护最大/最小乘积以处理负数反转情况,优化解法用变量代替数组降空间复杂度; 分割等和子集:转化为01背包问题,注意总和奇偶判断和一维DP的倒序遍历; 最长有效括号:DP解法分直接配对和嵌套配对两种情况,栈解
2025-12-18 21:40:02
850
1
原创 LeetCode 01 背包 & 完全背包 题型总结
本文系统总结了背包问题的核心理论与典型题目解法。主要内容包括: 背包问题分类:01背包(物品只能选1次)和完全背包(物品可重复选),区别在于遍历顺序(01背包倒序,完全背包正序) 通用解题框架: 问题转化:识别物品、容量、优化目标 状态定义:二维/一维DP数组 初始化基准状态 状态转移方程 按类型确定遍历顺序 典型题目详解: 01背包:目标和(方案数)、分割等和子集(可行性) 完全背包:最少硬币数(最值)、完全平方数(最值)、单词拆分(布尔值) 核心对比: 01背包依赖上一状态,完全背包依赖当前状态 遍历顺
2025-12-17 17:22:26
700
原创 LeetCode198打家劫舍:从回溯到动态规划的优化历程
本文系统解析了打家劫舍问题的四种解法:1)暴力回溯法(O(2^n)时间);2)记忆化搜索(O(n)时间/空间);3)动态规划(O(n)时间/空间);4)空间优化DP(O(n)时间,O(1)空间)。通过状态转移分析,逐步优化时间复杂度与空间复杂度,最终实现仅用两个变量的最优解。核心思路是避免相邻房屋同时被偷,通过记录前i-2和前i-1房屋的最大金额来计算当前最优解。
2025-12-16 11:06:21
954
原创 LeetCode 17/78/131 子集型回溯-电话号码组合/子集/分割回文串
本文系统讲解回溯算法,通过LeetCode三题(电话号码字母组合、子集、分割回文串)对比分析回溯的两种实现方式:隐式回溯(String不可变)和显式回溯(List可变)。核心要点包括:1)终止条件设置;2)状态维护方式;3)避免重复策略;4)结果收集技巧。文章详细拆解每题的解题思路、难点重点及Java实现,并给出优化方案(如DP预处理回文)。最后总结回溯通用技巧:控制选择范围、正确处理边界、适时剪枝优化,强调根据问题特性选择合适的数据结构(可变/不可变对象)来实现高效回溯。
2025-12-15 14:25:46
666
原创 LeetCode 46/51 排列型回溯题笔记-全排列 / N 皇后
本文总结了排列型回溯算法的核心特征和解题方法,重点分析全排列和N皇后两类典型问题。排列型回溯要求所有元素参与排列/放置,需满足不重复/不冲突约束,与子集/组合型回溯存在本质区别。全排列问题通过used数组标记已选元素,N皇后问题则需转化为列/斜线约束。文章对比了三类回溯题型的差异,提供通用解题框架和分题型适配方法,并给出避免常见错误的实用建议。核心在于理解"候选列表选择规则"和"约束条件类型"的差异,掌握暴力枚举+剪枝的本质思路。
2025-12-15 14:20:33
994
原创 LeetCode 77/216/22组合型回溯法-组合 / 组合总和 III / 括号生成)
本文介绍了LeetCode中三道经典回溯算法题目:组合(77)、组合总和III(216)和括号生成(22)。这些题目都采用回溯法的核心思路"选择-递归-回溯",但存在不同特点:组合问题通过控制枚举起点避免重复;组合总和III增加了和约束与剪枝;括号生成则通过左右括号数量约束保证有效性。解题关键在于:1)根据问题特点设计选择分支(循环或条件判断);2)利用约束条件进行剪枝优化;3)正确处理回溯时的状态恢复。这些题目展现了回溯法在解决组合类问题时的灵活应用,通过对比分析可以深入理解回溯算法的
2025-12-14 14:54:06
929
原创 LeetCode 102/103/513 二叉树层序遍历(BFS)三类经典题解题总结
本文总结了二叉树层序遍历的核心思路及三种变体:普通层序遍历(LeetCode 102)通过队列按层处理节点;锯齿形遍历(LeetCode 103)在普通层序基础上按层反转结果;找最底层最左节点(LeetCode 513)可通过逆序入队或二维列表定位实现。关键点在于:使用levelSize固定层边界、保持正确的入队顺序(先左后右)、灵活处理结果。易错点包括空节点判断、队列控制错误等。层序遍历本质是"队列控层+按层处理",所有变种都基于此核心逻辑进行扩展。
2025-12-13 15:00:00
1652
原创 LeetCode 235 & 236 最近公共祖先(LCA)解题总结
本文对比分析了LeetCode 236(普通二叉树LCA)和235(BST LCA)两道经典题目。普通二叉树解法采用后序遍历递归分治,通过验证子树存在性确定LCA,时间复杂度O(n);BST解法利用数值有序性预判LCA位置,实现单向递归剪枝,时间复杂度优化至O(h)。文章详细阐述了两题的解题思路、代码实现、易错点及核心差异,强调BST的有序性如何带来算法优化。236题重点在于递归信号传递,235题关键在于数值比较预判,两者对比体现了数据结构特性对算法效率的影响。
2025-12-13 10:20:26
826
原创 Redis与session
传统Session是Web服务器为解决HTTP无状态性设计的服务器端状态存储机制,本质是服务器内存中的键值对对象,通过sessionId关联用户请求并存储临时状态信息。但其与服务器强绑定,存在分布式共享问题、内存限制等局限性。Redis作为高性能分布式内存数据库,支持多数据结构、过期机制和持久化,可替代传统Session存储。通过设计合理的Key-Value结构(如Hash存储用户信息),Redis实现跨服务器会话共享,解决分布式环境下的登录状态失效问题。相比传统Session,Redis在分布式共享、扩展
2025-12-13 01:00:00
950
原创 LeetCode 98. 验证二叉搜索树 解题总结
本文总结了验证二叉搜索树(BST)的两种主流解法:递归边界约束法和中序遍历法。递归法通过为每个节点划定取值范围(左边界<节点值<右边界)来验证,需注意使用Long类型避免int极值溢出。中序遍历法利用BST中序序列严格递增的特性,有递归和迭代两种实现。两种方法时间复杂度均为O(n),空间复杂度为O(h)。常见易错点包括边界类型错误、BST定义理解偏差等。面试中推荐中序遍历法,其代码简洁直观;若需严格实现BST定义或处理深度大的树,可选用递归边界法或迭代中序遍历法。
2025-12-12 11:44:49
850
原创 LeetCode876/141/142/143 快慢指针应用:链表中间 / 环形 / 重排问题
本文系统解析了快慢指针在链表操作中的四大经典应用:1)定位中间节点(876题),通过2:1速度差实现一次遍历定位;2)检测环(141题),利用相对速度1确保必然相遇;3)寻找环入口(142题),基于数学推导a=c+(n-1)L实现精准定位;4)重排链表(143题),组合快慢指针、反转和合并操作。文章通过"盒子-标签-纸条"模型形象解析底层原理,详细标注代码关键点,并指出常见坑点:如循环条件设置不当、初始位置偏移、未断开链表导致死循环等。强调快慢指针的核心在于速度比设计,2:1是最优比例,
2025-12-11 14:53:54
895
原创 LeetCode 100/101/110/199 对称/平衡二叉树与右视图
本文解析了LeetCode中4道二叉树高频题目的解题思路。100题通过递归分治判断两棵树是否相同;101题将对称树转化为镜像比较问题;110题采用后序遍历结合剪枝技巧判断平衡二叉树;199题通过层序遍历或优先右子树的DFS获取右视图。文章总结了二叉树问题的通用解法:1)递归分治拆解子问题;2)遍历控制记录状态。针对不同场景提供了模板选择建议:子树信息问题用递归,层相关特征用BFS,路径/深度问题用DFS。重点强调了边界条件处理和递归返回值逻辑的清晰性。
2025-12-11 14:52:58
856
原创 LeetCode 83/237/82 链表删除问题-盒子模型
本文通过「盒子-标签-纸条」模型解析三种链表删除场景:1)LeetCode83保留重复元素中的一个(逐个跳过重复节点);2)LeetCode237删除指定节点(无法访问头节点时复制下一节点内容);3)LeetCode82删除所有重复元素(批量跳过重复区间)。统一采用哑节点锚点规避边界问题,通过移动临时标签和修改next指针实现删除,保持不销毁节点的操作原则。模型强调标签定位和纸条修改的核心逻辑,提供完整可运行的代码实现及场景对比表。
2025-12-11 10:46:13
818
原创 LeetCode 206/92/25 链表翻转问题-“盒子-标签-纸条模型”
本文通过"盒子、标签、纸条"的比喻系统讲解链表反转问题。核心观点:1)盒子(节点)是固定实体;2)标签(指针)是移动工具;3)纸条(next)决定连接关系。文章详细解析了三种反转场景:基础反转(逐个修改next指向)、局部反转(定位区间后处理)、K组反转(分组处理并衔接)。每种情况都通过标签移动和纸条修改来实现,本质都是同一套操作逻辑。最后强调反转的本质是修改next方向而非节点本身,掌握这一核心思想即可应对各类反转问题。
2025-12-10 15:03:26
858
原创 LeetCode 34排序数组中查找元素的第一个和最后一个位置-二分查找
摘要:LeetCode34要求在非递减数组中查找目标值的起始和结束位置,时间复杂度需为O(logn)。核心解法是通过二分法复用lowerBound函数:起始位置为第一个≥target的索引,结束位置为第一个≥(target+1)的索引减1。采用左闭右开区间实现lowerBound,代码简洁高效,避免边界问题。相比暴力遍历O(n)和传统双二分法,该解法更优,符合面试要求。需注意target不存在和边界情况的处理。
2025-12-10 07:30:00
700
原创 LeetCode 11盛最多水的容器 & LeetCode 42接雨水-双指针2
本文对比分析了LeetCode两道经典双指针问题:"盛最多水的容器"(11题)和"接雨水"(42题)。两题都基于柱子高度数组,通过双指针将O(n²)暴力解法优化为O(n)。"盛水容器"通过"谁矮移谁"策略,计算宽度与最小高度的乘积;"接雨水"则根据左右最大高度中的较小值移动指针,累加各位置雨水。关键差异在于:前者求单次最大容积,后者求总和;移动依据分别是当前高度和左右最大高度。文章提供了详细代码实现,并强调易
2025-12-08 11:20:41
643
原创 LeetCode 167/15 两数之和与三数之和-双指针1
本文总结了有序数组中寻找两数之和的核心方法——双指针法,并延伸至三数之和等类似问题。关键点包括:1)双指针初始化和移动逻辑;2)与三数之和的关联及转化思路;3)剪枝和去重的具体实现方法。文章提供了完整的解题模板,强调数组有序性作为基础,详细说明了剪枝条件(如提前终止无效循环)和去重技巧(跳过重复元素)。最后以三数之和代码为例,展示了如何结合这些技巧解决实际问题,实现高效且无重复的解法。
2025-12-07 22:28:19
805
原创 链表类力扣刷题总结
本文系统介绍了链表数据结构及其常见算法解法。主要内容包括: 链表基础知识:单链表、双链表和循环链表的结构特点; 核心解题方法:双指针、递归、哈希表和虚拟头节点四种经典技巧; 典型问题分类: 基础操作(反转、合并、删除) 环与相交判断 回文检测 排序重组 数值计算 多链表合并等 每种题型配有典型LeetCode题解,展示了如何运用核心方法解决实际问题。文章强调指针操作的关键性,建议掌握各类问题的解题模板和拆分思路。
2025-11-03 21:53:41
810
原创 Java常用数据结构操作详解
Java集合框架核心知识点总结,包括数组、列表、集合和映射的常用操作与实现。数组(Array)是固定长度容器,介绍静态/动态初始化及核心操作;列表(List)重点讲解ArrayList和LinkedList的初始化和增删改查;集合(Set)说明HashSet、LinkedHashSet和TreeSet的特性及排序操作;映射(Map)详解HashMap等实现类的键值对操作。同时涵盖字符串处理、工具类Collections和Arrays的使用技巧,以及流式编程和注意事项。内容全面,适合快速回顾Java
2025-10-17 10:27:49
764
原创 关于容器Docker
Docker是一种容器化工具,能将应用程序及其依赖打包成独立容器,确保跨平台一致性(Windows/Mac/Linux)。核心概念包括镜像(只读模板)、容器(运行实例)和仓库(镜像存储)。相比虚拟机,Docker更轻量(秒级启动)、隔离且可移植。通过Nginx实例演示了拉取镜像、运行容器等基础操作,并介绍了自定义镜像构建方法(Dockerfile)。Docker有效解决了"开发-生产环境不一致"问题,是环境标准化和快速部署的利器。
2025-10-03 21:43:57
1104
原创 全栈学习 —— 前端(三)Vue框架
本文全面介绍了Vue.js这一渐进式JavaScript框架的核心概念与应用。主要内容包括:1. Vue核心思想:数据驱动和组件化设计;2. 环境搭建:从直接引入到Vue CLI工程化开发;3. 基础语法:数据绑定、指令系统、计算属性等;4. 组件化开发:组件定义、通信机制和插槽使用;5. 底层原理:响应式系统和虚拟DOM;6. 路由管理:VueRouter配置与使用;7. 实战案例:通过待办事项应用演示完整开发流程。文章系统讲解了Vue从入门到进阶的知识体系,并附有详细代码示例,适合不同阶段的开发者学习参
2025-08-23 01:00:00
2487
原创 全栈学习 —— 前端(二)JavaScript
本文系统介绍了JavaScript在前端开发中的核心作用。主要内容包括:1) JavaScript基础语法(变量、数据类型、运算符、流程控制等);2) DOM操作技术(元素选择、内容修改、样式调整、事件处理);3) 异步编程方法(回调函数、Promise、async/await);4) 本地存储机制(localStorage、sessionStorage);5) 通过TodoList项目实战演示综合应用。文章还揭示了JavaScript单线程、事件循环等底层原理,帮助开发者全面掌握这门"前端灵魂&
2025-08-20 01:30:00
906
原创 全栈学习 —— 前端(一)HTML 与 CSS
本文系统介绍了HTML和CSS的基础知识与应用。HTML作为网页的结构骨架,通过标签定义内容元素;CSS则负责页面样式美化。文章详细讲解了HTML文档结构、常用标签(文本、链接、图像、列表、表格、表单等)以及语义化标签的使用,并剖析了浏览器解析HTML的底层原理。在CSS部分,重点介绍了三种引入方式、选择器类型、常用样式属性和布局技术(浮动、Flex、定位),解释了样式渲染机制。最后通过一个个人简介网页项目,综合运用所学知识完成页面搭建,涵盖了头部、个人信息、技能展示、教育经历等模块的实现与样式设计,为前端
2025-08-19 00:00:00
968
原创 全栈学习 ——JavaWeb(八)SpringBoot
SpringBoot通过"约定优于配置"理念,大幅简化Spring应用开发。核心优势包括:1)自动配置(基于@Conditional和SPI机制);2)起步依赖(统一版本管理);3)嵌入式容器(独立运行)。实战演示了快速构建Web应用(HelloWorld)、整合MyBatis(@Mapper注解替代XML配置)及用户管理系统(SSM整合),对比传统Spring开发可减少90%配置量。高级特性支持多环境配置(Profiles)、应用监控(Actuator)等。SpringBoot
2025-08-16 02:00:00
3489
4
原创 全栈学习 ——JavaWeb(七)MyBatis
MyBatis是一款优秀的持久层框架,通过XML/注解将SQL与Java代码分离,简化了JDBC操作。本文详解MyBatis从基础到高级应用:1)对比传统JDBC的冗余问题;2)核心组件与工作流程解析;3)CRUD实现与参数/结果映射;4)动态SQL实现灵活查询;5)关联查询与分页处理;6)底层原理与缓存机制;7)实战用户管理系统开发。MyBatis优势在于SQL可控性强、学习成本低,特别适合需要精细控制SQL和复杂查询的场景。
2025-08-14 01:00:00
1087
原创 全栈学习 ——JavaWeb(六)Spring MVC
本文全面介绍了SpringMVC框架的核心原理与实践应用。作为Spring框架的Web模块,SpringMVC基于MVC设计模式,通过DispatcherServlet等核心组件实现了请求处理的标准化流程。文章详细解析了SpringMVC的优势、工作流程、URL映射机制和参数绑定原理,并提供了从环境搭建到用户注册功能的完整实战示例。此外,还涵盖了拦截器配置、异常处理等高级特性,以及前后端分离开发中与Vue的整合方案。SpringMVC通过松耦合设计和丰富功能极大简化了Web开发,是构建Java Web应用的
2025-08-12 02:00:00
930
原创 全栈学习 ——JavaWeb(五)Spring AOP 与事务
Spring的AOP和事务管理是Java开发中的核心技术。AOP通过动态代理实现横向功能抽取,解决日志、权限等跨模块问题;事务管理则确保数据库操作的ACID特性。本文详细解析了AOP的底层原理(JDK/CGLIB代理)和事务的传播行为、隔离级别等属性,并提供了完整的代码示例和项目实战,展示如何通过@Transactional和@Aspect注解简化开发,实现业务代码与非业务代码分离,提升系统可维护性和数据一致性。
2025-08-09 03:00:00
740
原创 全栈学习 ——JavaWeb(四)Spring 容器(IOC 与 DI)
本文全面解析Spring容器的核心机制,重点介绍控制反转(IOC)和依赖注入(DI)的实现原理。传统开发中存在对象创建耦合问题,而Spring通过反转控制权、自动装配依赖来解决。文章详细讲解Spring底层工作流程:从加载配置、生成BeanDefinition到反射创建对象和依赖注入,并分析单例/多例作用域。同时介绍三种依赖注入方式(构造方法、字段、setter)及适用场景,提供完整实战案例展示分层架构实现。最后总结Spring容器通过解耦对象创建、增强可维护性和可测试性等优势,为Java开发带来革命性改进
2025-08-07 04:00:00
1032
原创 全栈学习 ——JavaWeb(三)请求响应与分层解耦
本文系统介绍了JavaWeb开发中的请求响应机制与分层架构设计。第一部分详细解析了Web交互的底层原理,包括TCP/IP协议确保可靠传输、HTTP协议规范数据格式,以及Servlet处理表单、JSON和路径参数三种请求方式的实现方法。第二部分重点阐述分层解耦的最佳实践,通过三层架构(表现层、业务层、数据访问层)重构订单功能案例,展示了如何通过接口和依赖注入降低耦合度。文章强调请求响应是Web交互的基础流程,分层解耦是保障代码可维护性的核心思想,两者共同构成了JavaWeb应用开发的关键技术体系。
2025-08-03 11:36:30
1110
原创 全栈学习 ——JavaWeb(二)Web 服务器
本文系统介绍了Web服务器在JavaWeb开发中的核心作用与工作原理。从计算机网络基础入手,详细解析了TCP/IP协议栈、HTTP协议等底层支撑技术,重点阐述了Web服务器的三大核心功能:运行Java组件、解析HTTP协议和部署Web应用。以Tomcat为例,深入剖析了连接器与容器的协作机制,以及HTTP请求处理的完整生命周期。通过表单提交案例,展示了从浏览器到服务器的全流程交互。文章还对比了主流Web服务器特性,提供了Tomcat安装与部署的实战指南。理解这些知识有助于开发者掌握Web应用的核心运行机制,
2025-07-29 09:00:00
1234
原创 全栈学习 ——JavaWeb(一)基础核心技术 Servlet、JSP 与 JSTL
本文系统介绍了JavaWeb开发中的三大核心技术:Servlet、JSP和JSTL(搭配EL)。Servlet作为底层核心,负责处理HTTP请求和响应,其生命周期包括初始化、服务和销毁三个阶段。JSP则允许在HTML中嵌入Java代码,实现动态网页功能,但存在代码混杂的问题。JSTL和EL通过标签和表达式简化了JSP开发,使页面更清晰易维护。三者在实际开发中分工协作:Servlet处理业务逻辑,JSP负责页面展示,JSTL+EL提供便捷的操作方式,共同构建完整的JavaWeb应用。文章通过代码示例详细演示了
2025-07-27 16:00:00
787
原创 全栈学习 ——javaSE(六)JDBC 与连接池
本文全面解析了Java数据库开发中的两大核心技术:JDBC和连接池。JDBC作为Java操作数据库的标准API,通过DriverManager、Connection、Statement和ResultSet等核心组件实现数据库交互,重点介绍了PreparedStatement防SQL注入机制和资源管理的最佳实践。连接池技术部分深入分析了传统JDBC的性能瓶颈,详细讲解了HikariCP和Druid两大主流连接池的实现原理、配置参数和使用方法,并提供了完整的工具类封装方案。文章还对比了不同连接池的特性,为开发者
2025-07-24 17:25:53
864
原创 全栈学习 ——javaSE(六)泛型、反射与注解
摘要: 本文系统介绍了JavaSE中泛型、反射与注解三大核心技术。泛型通过编译时类型检查确保类型安全,支持代码复用;反射允许运行时动态获取类信息并操作私有成员,是框架设计的核心;注解作为元数据标记代码元素,配合反射实现标记-解析逻辑。三者共同构成Java框架开发的基础:泛型保障类型安全,反射提供动态能力,注解简化配置。文章详细讲解了各项技术的核心概念、基本用法、应用场景及相互关系,并配有代码示例说明实际应用。
2025-07-23 07:00:00
5944
2
原创 全栈学习 ——JavaSE(五)异常处理、枚举、Lambda 表达式
本文介绍了Java编程中的三个核心进阶特性:1. 异常处理机制,包括try-catch-finally结构、异常分类体系以及自定义异常的实现方法;2. 枚举类型的使用,涵盖基本定义、属性方法扩展以及接口实现等高级特性;3. Lambda表达式和函数式编程,详细说明了语法规则、内置函数式接口、集合操作应用以及方法引用等优化技巧。这些特性共同提升了Java代码的健壮性、可读性和简洁性,是Java开发者必须掌握的重要编程范式。
2025-07-22 01:00:00
661
数据结构知识总结与结构网图
2023-08-14
web前端设计大作业-简易淘宝网设计,含项目完整代码、实验报告
2023-08-14
FPGA课程设计:低通滤波器设计,含源码、设计文件、仿真文件
2023-07-30
FPGA课程设计:自动售货机工程文件,含源码、设计文件和仿真文件
2023-07-30
FPGA学习资源:Bassy3开发版使用指南及常见设计
2023-07-30
FGPA课程设计:示波器与显示器的综合设计,含源码、设计文件、仿真文件
2023-07-30
FPGA课程设计:蜂鸣器设计,可以演奏歌曲《起风了》,含工程文件(源码、设计文件、仿真文件、xdc文件)
2023-07-30
FPGA实验:PWM信号调制器设计,含实验所有工程文件
2023-07-30
FPGA实验报告:序列发生器,含实验工程文件,VIVADO
2023-07-30
数据结构与算法-算法设计题
2022-12-23
《备战蓝桥杯》.pptx 数据结构、C语言、蓝桥杯
2022-12-23
人工智能与数据结构-更清晰的了解数据结构
2022-12-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅