- 博客(65)
- 收藏
- 关注
原创 从零做起的学生信息查询网页
本文介绍了从零开始搭建学生信息查询网页的开发过程。首先创建Maven项目并配置必要的依赖,包括Servlet、JSP、数据库连接等组件。然后构建项目目录结构,包括前端JSP页面和后端Service、DAO层。接着实现Servlet控制器处理请求,使用Ajax异步获取数据并动态渲染表格。文章详细展示了实体类Student的定义,以及Service层的接口和实现,为后续分页查询功能打下基础。整个项目采用分层架构,为开发者提供了一个完整的Java Web应用开发案例。
2025-07-25 21:23:09
457
原创 前端之jQuery
常量与变量数据类型表达式流程控制数组 (Array)函数 (Function)对象 (Object)起手式 (Ready Event) 函数与选择器jQuery 对象特性jQuery 对象 vs DOM 对象常用方法 (Getter/Setter)筛选遍历事件处理其他要点
2025-07-22 20:53:48
729
原创 前端之CSS
解决父元素高度塌陷(因浮动元素脱离文档流导致父元素高度计算为0)问题。HTML 页面设计与实现的过程,本质就是布局的过程。CSS 将每个元素视为一个矩形盒子 (Box)精确控制元素在页面中的位置,打破文档流规则。用于指定 CSS 规则应用的目标元素。在 CSS3 前兼容):规范要求使用双冒号。
2025-07-18 20:35:28
973
原创 前端之HTML学习
2. 文本标记标记描述类型-标题(重要性递减)块段落块水平分割线块换行块粗体文本行内强调文本(语义更强)行内斜体文本行内强调斜体(语义更强)行内下标文本行内上标文本行内字体样式(已废弃,建议用CSS)行内无样式块容器块无样式行内容器行内3. 列表标记无序列表有序列表定义列表
2025-07-17 18:46:06
733
原创 少侠,这里有本AI秘籍
御剑飞行者未必是铸剑宗师,使唤黄巾力士何须自己搬山?「借势者智,善器者赢」(拂尘轻扫)去吧!洞天福地(GitHub)已为你开,灵禽(Copilot)自会引路。
2025-07-17 11:03:19
245
原创 250716 Java 回顾
本文介绍了Java开发的基础知识,包括环境配置、开发工具、基础语法和面向对象编程。主要内容包括:1) 环境配置需安装JDK并设置JAVA_HOME和Path变量;2) 常用开发工具如Eclipse和IntelliJ IDEA;3) 基础语法涵盖变量、数据类型、运算符、流程控制和数组;4) 面向对象编程特性(封装、继承、多态)及抽象类与接口的区别。文章还提供了详细的代码示例,适合Java初学者快速掌握核心概念。
2025-07-16 18:58:16
1039
原创 LeetCode Hot100 算法题 (图论篇)
岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。(水)组成的的二维网格,请你计算网格中岛屿的数量。此外,你可以假设该网格的四条边均被水包围。的新鲜橘子都会腐烂。
2025-06-28 20:10:52
277
原创 LeetCode Hot100 算法题 (回溯篇)
2 和 3 可以形成一组候选,2 + 2 + 3 = 7。注意 2 可以使用多次。给出数字到字母的映射如下(与电话按键相同)。代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且。子集问题:状态 = 当前已选元素集合 + 可用元素起始位置。如果至少一个数字的被选数量不同,则两种组合是不同的。排列问题:状态 = 当前已选元素序列 + 可用元素集合。的字符串,返回所有它能表示的字母组合。组合问题:状态 = 当前组合 + 剩余可选元素范围。7 也是一个候选, 7 = 7。,并以列表形式返回。
2025-06-27 15:12:05
597
原创 LeetCode Hot100 算法题 (堆篇)
/ 返回 1.5 ((1 + 2) / 2)是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。返回到目前为止所有元素的中位数。以内的答案将被接受。
2025-06-27 10:26:09
379
原创 LeetCode Hot100 算法题 (十大排序篇)
请注意,你需要找的是数组排序后的第。你必须设计并实现时间复杂度为。,请你返回其中出现频率前。个最大的元素,而不是第。
2025-06-26 21:42:13
203
原创 LeetCode Hot100 算法题 (二分查找篇)
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。给你一个满足下述两条属性的。请必须使用时间复杂度为。
2025-06-25 11:14:47
392
原创 LeetCode Hot100 算法题 (技巧篇)
之中任意元素的全部前缀元素和后缀的乘积都在。,将数组中的元素向右轮转。之外其余各元素的乘积。时间复杂度内完成此题。
2025-06-24 17:59:06
129
原创 LeetCode Hot100 算法题 (贪心算法篇)
在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。像 "ababcbacadefegde", "hijhklij" 这样的划分是错误的,因为划分的片段数较少。同时,你不能在买入前卖出股票。可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。数组中的每个元素代表你在该位置可以跳跃的最大长度。返回一个表示每个字符串片段的长度的列表。
2025-06-24 12:22:00
527
原创 LeetCode Hot100 算法题 (多维动态规划篇)
是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。horse -> rorse (将 'h' 替换为 'r')网格的左上角 (起始点在下图中标记为 “Start” )。最长公共子序列是 "ace" ,它的长度为 3。因为路径 1→3→1→1→1 的总和最小。是这两个字符串所共同拥有的子序列。
2025-06-23 15:41:14
1113
原创 LeetCode Hot100 算法题 (动态规划篇)
2、第一版代码 -> 发现超时 -> 使用记忆数组(剪枝) -> dp数组以状态记录 -> 滑块数组(斐波那契数列方法)你有多少种不同的方法可以爬到楼顶呢?有两种方法可以爬到楼顶。1. 1 阶 + 1 阶。
2025-06-22 11:24:37
365
原创 LeetCode Hot100 算法题 (二叉树篇)
英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。是指从根节点到最远叶子节点的最长路径上的节点数。深度优先搜索属于图算法的一种。给定一个二叉树的根节点。
2025-06-17 15:45:29
230
原创 LeetCode Hot100 算法题 (双指针篇)
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。,编写一个函数将所有。
2025-06-15 21:16:10
159
原创 LeetCode Hot100 算法题 (栈篇)
匹配字符,左右对称的这种,对半拆开来看的话,左边最右一定与右边最左是匹配的,这时如果将左边放进栈里面,后入先出,这样就能维护匹配的顺序了,右边进行匹配,此时匹配二字就要想起map这个数据结构。输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。天,下一个更高温度出现在几天后。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数。给定一个经过编码的字符串,返回它解码后的字符串。操作,并能在常数时间内检索到最小元素的栈。,表示每天的温度,返回一个数组。,判断字符串是否有效。
2025-06-15 11:31:26
367
原创 Spring Boot分页查询实战:PageHelper与自定义分页响应对象
通过PageResp✅ 保持接口响应格式一致性✅ 减少重复分页代码✅ 提高查询可维护性✅ 简化前端分页处理TIP:对于超大数据集(百万级+),考虑采用基于游标的分页方案(如使用lastId分页),避免的性能瓶颈。
2025-06-06 16:09:38
860
原创 Hutool工具库核心工具类总结
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅。
2025-06-06 15:42:58
728
原创 Spring AOP实现Controller层日志切面详解
匹配com.sdut包及其子包中所有Controller结尾的类匹配所有public方法日志切面的核心价值统一日志格式,便于日志分析非侵入式监控,无需修改业务代码自动记录关键信息,提升排查效率性能监控,识别系统瓶颈最佳实践建议:生产环境中建议将敏感字段过滤配置提取到配置文件中,根据不同环境动态调整过滤规则,同时建议添加请求唯一标识便于链路追踪。
2025-06-06 15:13:55
355
原创 2025/6/1 12306项目的部分工具代码和插件
对于业务异常,如:用户名密码错、用户名已存在等,通过抛出业务异常,中断流程,再通过最外层的统一异常处理,返回给前端错误信息。及各种框架都不建议用最新版本,其中一个大原因,就是怕其依赖的第三方没有配套升级,导致不兼容。对于可能出现的未知异常,如:空指针、唯一键冲突等,通过统一拦截,可以避免将一大堆异常信息返给前端。,生产运行过程中,都不应该出现这句话,这句是为了一些未知异常,统一话术给用户,出现了就说明系统有。一个应用一般是多节点,可停止节点,等时间过了,再启动。:通过正则表达式检查字符串的格式,此注解的。
2025-06-01 20:57:20
398
原创 SpringBoot3-GraalVM代替JDK实现AOT
是一个跨语言的通用虚拟机,不仅支持了。有可能会超时报错,多试几次。下载社区版,安装时勾选。跳到项目所在目录,使用。的语言,还支持其它像。
2025-05-31 15:43:54
300
原创 Java 必须知道的事情(1)
基于泊松分布,链表长度≥8的概率极低(约0.00000006),避免不必要的树化开销。多线程同时扩容可能导致环形链表(JDK1.7)或数据覆盖(JDK1.8)。决定,用户不可控顺序(LinkedHashSet除外)。属性,结合UNSAFE内存屏障。
2025-05-29 18:08:02
592
原创 JDBC 知识点
JDBC是Java连接数据库的标准API,提供统一接口访问关系型数据库。其原理是通过Java官方定义的接口规范,由数据库厂商提供具体实现驱动。使用JDBC时需加载驱动、建立连接、执行SQL语句(增删改用executeUpdate(),查询用executeQuery())。为解决SQL注入问题,推荐使用PreparedStatement预编译SQL语句。为提高代码复用性,可将数据库连接参数(驱动名、URL、用户名、密码)封装到配置文件中,通过静态代码块加载配置。典型使用流程包括:获取连接、创建语句对象、执行S
2025-05-29 09:26:39
892
原创 Java 反射
Reflection(反射)是动态语言的关键,允许程序在执行期通过Reflection API获取任何类的内部信息,并直接操作对象的内部属性和方法。加载类后,堆内存的方法区中会生成一个Class对象,这个对象包含完整的类结构信息,通过它可以看到类的结构,因此称为。
2025-05-29 09:22:49
401
原创 Java 多线程
(program):是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。(process):是程序的一次执行过程,或是正在运行的一个程序。动态过程:有它自身的产生、存在和消亡的过程。(thread):进程可进一步细化为线程,是一个程序内部的一条执行路径。
2025-05-29 09:21:12
872
原创 Java IO处理
I/O是的缩写,I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读 / 写文件,网络通讯等。IO 流是一组有序的,有起点和终点的数据集合,是对数据传输的总称和抽象。IO人机交互文件数据读取写入,数据持久化保存IO 流内存控制台磁盘文件网络端点关于Input和OutputInput 读取外部数据 (磁盘、光盘等存储设备的数据) 到程序 (内存) 中;Output 将程序 (内存) 数据输出到磁盘、光盘等存储设备中。
2025-05-29 09:20:38
665
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人