- 博客(77)
- 收藏
- 关注
原创 [特殊字符] 全面解析 Spring Boot 配置文件:从入门到实战(初学者友好版)
在 Spring Boot 项目中,有一个“隐藏在背后默默工作”的小帮手,那就是配置文件。或(也叫这两个文件负责告诉 Spring Boot:应用运行在哪个端口?连接哪个数据库、用什么账号密码?是否开启调试日志?要不要启用缓存、消息队列等功能?配置文件就像是 Spring Boot 的“说明书 + 设置中心”。你不需要改代码,只要改配置,就能影响程序的运行行为,超级方便。类型配置项示例端口8081上下文路径/api日志级别INFO数据库缓存simple异步无需额外配置消息队列。
2025-04-10 12:25:45
853
原创 深入理解Spring IoC&DI
机制核心要点Bean 生命周期实例化 → 属性填充 → 初始化() → 使用 → 销毁(干预 Bean 初始化过程(如生成 AOP 代理对象)。作用域根据业务需求选择合适的生命周期范围(单例、多例、请求级等)。条件化装配动态控制 Bean 的注册,适配不同环境或配置。
2025-04-08 15:36:46
1070
原创 第五期:深入理解 Spring Web MVC [特殊字符]( 前后端交互的综合性练习)
当我们学习了 Spring MVC 中的各种注解、参数绑定、请求方式、编码处理以及 Cookie/Session 操作之后,下一步就是 ——动手实践!理论再多,不如亲自敲一次代码。为了帮助你真正掌握这些知识点,本期我们特别准备了4 个实战练习案例,从最简单的 GET 请求查询,到复杂的 JSON 请求、表单提交、Cookie/Session 管理、响应处理,全方位模拟实际开发中最常见的场景。通过这些实战练习,你将:学会使用等注解完成数据传参;
2025-04-06 18:07:03
717
原创 第四期:深入理解 Spring Web MVC [特殊字符](获取 Cookie/Session + HTTP 响应全解析)
在 Web 应用开发中,
2025-04-05 06:00:00
1984
原创 第三期:深入理解 Spring Web MVC [特殊字符](数据传参+ 特殊字符处理 + 编码问题解析)
你可以自定义@Bean操作工具注解前端发送 JSON设置后端接收 JSONSpring MVC参数校验JSR-303@Valid返回 JSON或类型方法自动处理使用常用库Jackson(Spring 默认)、Gson、Fastjson(需手动集成)GET 编码靠浏览器自动,POST 编码必须服务端主动设定;用 Spring Boot 就别怕,它自动帮你搞定!数据传参方式与场景路径变量处理 URL 中的动态参数(如/user/{id}),需注意特殊字符(如。
2025-04-04 14:03:41
1127
原创 Spring Boot 快速入手
在学习SpringBoot之前,我们先来认识⼀下Spring我们看下Spring官⽅可以看到,Spring让Java程序更加快速,简单和安全.Spring对于速度、简单性和⽣产⼒的关注使其成为 世界上最流⾏的Java框架。Spring官⽅提供了很多开源的项⽬,覆盖范围从Web开发到⼤数据,Spring发展到了今天,已经形成了⾃ ⼰的⽣态圈.我们在开发时,也倾向于使⽤Spring官⽅提供的技术,来解决对应的问题.
2025-04-01 06:40:49
1021
原创 Maven快速上手
在 Java 开发的漫漫征途中,Maven 早已超越了工具的范畴,成为现代软件工程思想的载体。它通过标准化的项目结构降低协作成本,用自动化流程解放开发者的双手,借生态化的插件体系连接整个技术栈 —— 这正是其历经二十余年仍保持旺盛生命力的核心原因。当您掌握了 Maven 的核心原理,会发现它不仅能构建项目,更能构建团队的开发范式。从单模块到多模块架构,从本地开发到 CI/CD 流水线,从中央仓库到私有镜像,Maven 始终扮演着技术枢纽的角色。
2025-03-31 15:17:38
1084
原创 javaEE初阶(计算机是如何工作的(2) )
随着计算机技术的飞速发展,计算机已经从最初的简单计算工具,演变成如今极为复杂且功能强大的智能系统,深刻地影响和改变了我们的生活方式、工作方式和思维方式。本节将总结计算机如何改变我们的生活,并展望未来计算机技术的发展方向。同时,也会探讨我们如何更好地利用计算机技术,以及提升计算机技术素养和操作技能。计算机技术已经成为现代社会的基石,它深刻地改变了我们的工作、学习、娱乐乃至日常生活。无论是从最初的基础计算工具,到如今的智能应用、云计算、人工智能等先进技术,计算机的进步不断推动着社会的创新与发展。
2025-01-20 21:58:25
700
原创 javaEE初阶(计算机是如何工作的(1) )
计算机硬件是构成计算机系统的所有物理部件,提供计算、存储、输入、输出等功能。硬件是计算机的“身体”,所有操作都依赖于硬件来完成。理解计算机硬件的结构和功能,能够帮助我们更好地使用和维护计算机。计算机软件是与计算机硬件相对应的无形部分,指的是计算机上运行的所有程序、应用和操作系统。软件为硬件提供了智能化的指令和管理,确保硬件能够按需执行任务。软件和硬件共同构成了完整的计算机系统,支持用户进行各种操作。计算机作为现代社会的基础工具,已深刻影响了我们的工作、学习和生活。
2025-01-20 00:09:37
969
原创 数据结构(哈希表(中)纯概念版)
每次查询数据库前,先在存储表中查找存储,若存储中存在对应数据,则直接返回服务器值,从而避免重复的数据库查询。:在数据库查询中,假设有两个表,其中一列分别存储A、B我们的数据,通过哈希表实现交集、并集、差集等操作,可以很大程度上提高查询效率。例如,用户验证、商品查找、推荐系统等应用中可以通过哈希表实现快速查找。:在一个网站中,用户的用户名和密码可以存储在哈希表中,查找时根据用户名找到对应的密码并进行验证。:在编程语言中,哈希表广泛用于实现变量值的映射,例如,在解释器和编译器中使用哈希表实现符号表。
2024-12-24 22:31:30
912
原创 数据结构(哈希表(上)纯概念版)
哈希表(Hash Table)是一种非常高效的数据结构,用于存储和管理键值对(key-value pair)。它可以在常数时间内(平均 O(1) 时间复杂度)完成查找、插入和删除操作。哈希表通过哈希函数将键(key)映射到数组的索引位置,从而在存储和访问数据时能够避免线性查找,提高了存取的速度。特性HashMapHashtable线程安全非线程安全线程安全(通过线程安全(分段锁机制)非线程安全是否允许null键值允许null键值不允许null键值不允许null键值允许null键值插入顺序。
2024-12-23 23:38:45
1096
原创 数据结构十大排序之(基数,计数,桶排)
排序算法是计算机科学中的经典问题之一,它不仅是许多算法和数据结构的基础,也是我们日常生活中不可或缺的一部分。无论是在数据分析、数据库管理、搜索引擎,还是在操作系统的任务调度中,排序算法都扮演着至关重要的角色。随着信息量的剧增,如何高效地对数据进行排序,成为了计算机科学研究和工程实践中不断探索的重要课题。在众多的排序算法中,不同的算法各具特色,适用于不同的应用场景。对于数据量较小的情况,简单排序算法如冒泡排序、插入排序可能已经足够高效;
2024-12-19 11:12:02
1083
原创 数据结构十大排序之(冒泡,快排,并归)
在计算机科学中,排序算法是最基础且最重要的算法之一。无论是大规模数据处理还是日常的小型程序开发,排序算法的效率直接影响到系统的性能表现。因此,了解和掌握常见的排序算法,对于每一个程序员来说,都具有重要的意义。本文将对三种经典的排序算法——冒泡排序快速排序和归并排序进行深入剖析。这三种算法在不同的应用场景下各有优势,分别代表了排序算法的不同发展阶段。从简单直观的冒泡排序到高效且复杂的快速排序,再到稳定且适用于大数据量的归并排序,我们将一一解析它们的工作原理、时间复杂度以及实际应用中的优缺点。
2024-12-18 22:38:05
1187
原创 数据结构十大排序之(选排,希尔,插排,堆排)
排序算法是计算机科学中的基础性算法之一,广泛评估数据存储、查询优化、搜索引擎、数据库管理等多个领域。其主要任务是一个无序的元素序列遵循某种规则(如升序)或降序)重新排列,从而使得数据更加小区,随后进行后续的处理和使用。在不同的应用场景中,排序算法的选择往往受到多种因素的影响,如时间效率、空间效率、算法稳定性、输入数据的特性等。为了解决排序问题,计算机科学家提出了多种不同的排序算法,极限算法在不同的条件下都有其优点和适用场景。
2024-12-17 22:10:00
1379
原创 数据结构(链表)JAVA方法的介绍
在 Java 编程中,数据结构是编写高效、可维护代码的基础。而在众多数据结构中,链表LinkedList)作为一种重要的线性数据结构,常常在需要频繁插入和删除操作的场景中发挥重要作用。与基于数组实现的ArrayList相比,链表在执行插入和删除操作时具有明显的性能优势,尤其是在数据量较大的情况下。Java 的LinkedList类是一个常用的双向链表实现,支持ListDeque和Queue接口,提供了丰富的方法来操作链表元素。
2024-12-15 11:14:33
1199
1
原创 数据结构(顺序表)JAVA方法的介绍
在 Java 中,集合类(Collections)是构建高效程序的核心组件之一,而List接口作为集合框架中的重要一员,是一个有序、可重复的元素集合。与Set接口不同,List保证了元素的顺序性,并允许存储重复的元素。List接口在实际开发中应用广泛,尤其适用于需要按索引访问、频繁修改和管理元素顺序的场景。无论是在处理数据集合、动态数组,还是实现类似链表的数据结构时,List都提供了灵活的解决方案。而它的丰富方法集合,可以帮助开发者高效地操作数据,包括添加、删除、查找、修改元素等常见操作。
2024-12-14 23:44:27
1031
原创 数据结构(优先级队列 :Priority Queue)
在计算机科学中,队列是一种非常常见的数据结构,它遵循先进先出(FIFO)的原则,也就是说,先进入队列的元素会先被处理。然而,在许多实际应用中,我们不仅仅需要按顺序处理元素,还希望能根据每个元素的“优先级”来决定处理的顺序。这时,优先级队列(Priority Queue)就显得尤为重要。优先级队列是一种特殊的队列,它的每个元素都与一个优先级相关联。在优先级队列中,优先级高的元素会比优先级低的元素更早被取出处理。优先级队列常用于任务调度、事件驱动的模拟系统以及各种图算法等场景。
2024-12-13 22:38:23
1116
原创 数据结构(二叉树)
二叉树(Binary Tree)每个节点最多有两个子节点(即左子节点和右子节点)。树的结构是分层的,即从根节点开始,往下逐层分布。在树结构中,节点之间的形成了层次结构。二叉树的根节点是树的起始节点,它没有父节点,而所有其他节点都是从根节点出发,逐层通过左右子节点连接起来。随着对二叉树的深入探究,我们仿佛在数据结构的神秘花园中完成了一次奇妙的漫步。
2024-12-11 19:09:06
1460
原创 数据结构(Queue队列)
队列(Queue)是一种线性数据结构,它遵循先进先出(FIFO,First In, First Out)原则。简单来说,队列就是一排排站着的人,最先排队的人最先得到服务每当有新的元素进入队列时,它总是从队列的尾部进入(入队),而从队列的头部(移除出队)。假设你正在排队买票。你站在队列的尾部,等待自己的顺序。第一个进入队列的人会最先被服务,这就是队列的工作方式。
2024-12-06 19:27:12
1469
原创 数据结构(栈Stack)
在本文中,我们详细探讨了如何实现一个简单的栈数据结构,并对栈的常见操作如pushpoppeek和size进行了深入的分析。通过这些方法,我们不仅了解了栈的基本功能,还能看到如何通过调整usedSize来有效管理栈的状态,保证其操作的高效性和安全性。栈作为一种基本的数据结构,具有广泛的应用场景,尤其在算法、数据解析、函数调用栈等方面扮演着重要角色。通过本文的学习,我们可以更好地理解栈的内在机制,并能够在实际编程中灵活运用栈。
2024-12-04 22:55:24
1193
原创 数据结构(Doubly Linked List双向链表)
成员变量:用于存储节点所代表的值,这个值可以是任何你想要在链表中存放的整型数据,比如整数类型的元素值等,它是节点的关键数据部分。:是一个指向当前节点前一个节点的指针(引用),用于构建双向链表中向后的关联,使得可以从当前节点回溯到前面的节点,这也是双向链表区别于单向链表的重要特性体现。:同样是一个指针(引用),不过它指向当前节点的下一个节点,用于构建链表向前的连接顺序,通过这个指针可以依次访问后续节点。链表头和尾指针声明head和last这两个变量都是ListNode。
2024-12-03 22:30:45
1047
原创 数据结构(Linked List链表)
1.1什么是 Java 链表?在Java中,链表(Linked List)是一种线性数据结构,由一系列节点(Node)组成。数据部分:存储实际的数据。指针部分:指向链表中的下一个节点。该指针帮助连接链表中的所有节点。链表的一个特点是,它的要素不需要在内存中是连续存储的,每个节点通过指针与下一个节点连接起来。1.2。
2024-12-02 23:42:18
1030
原创 每日练题之动态规划(子序列问题讲解 1.最长定差子序列 2.最长的斐波那契子序列的长度)
在算法与数据结构的广袤天地中,动态规划犹如一颗璀璨的明珠,散发着独特的魅力与光芒。它以巧妙的方式解决了众多复杂的优化问题,其中子序列问题更是动态规划领域中极具代表性且应用广泛的一类。随着信息技术的飞速发展,无论是在计算机科学的核心领域,如软件开发、人工智能、数据处理,还是在金融、生物信息学、运筹学等跨学科的应用场景里,对子序列相关算法的深入理解与熟练掌握都变得愈发关键。解决子序列问题能够帮助我们在海量数据中挖掘出有价值的信息模式,优化资源分配,提升系统效率,做出更明智的决策。
2024-11-27 20:33:18
1066
原创 每日刷题之优选算法(滑动窗口)
滑动窗口算法是一种用于给定序列(例如队列或字符串)上突发问题的方法。我们维护一个区间(窗口)并通过“滑动”窗口的起点或终点来更新窗口内容。滑动窗口的大小:窗口大小是固定的,只移动窗口的起始位置,逐步获取所有可能的子队列或子串。动态大小的滑动窗口:窗口的大小不固定,窗口大小随着需求的不断变化,通过移动窗口的起始或结束位置,动态调整窗口范围。滑动窗口的核心是定义一个“窗口”,并决定窗口是如何滑动的。如果是固定大小的窗口,窗口的大小在整个过程中保持不变。
2024-11-26 09:28:42
1125
原创 数据结构(ArrayList顺序表)
在插入数组时,我们需要先考虑,在我们插入这个数据时,数组是否越界,如果不越界我们就正常添加,如果越界了,我们就考虑如何让他不越界(动态扩容):在学习顺序表的过程中,我深刻体会到了数据结构设计的精妙之处。虽然顺序表的概念相对简单,但它却为我们理解更复杂的数据结构奠定了坚实的基础。通过实现顺序表的各种操作,我不仅提高了自己的编程能力,更重要的是培养了逻辑思维和解决问题的能力。在处理插入、删除操作中的边界条件和元素移动问题时,需要仔细思考各种可能的情况,这锻炼了我的严谨性和耐心。
2024-11-25 20:30:35
1280
原创 每日练题之动态规划(子序列问题讲解 1.最长递增子序列的个数 2.最长数对链)
在算法的广袤天地中,动态规划犹如一颗璀璨的明珠,散发着独特的智慧光芒。而子序列问题,则是动态规划领域中极具代表性且应用广泛的重要板块。每日练题,是我们在编程与算法学习之路上的坚实脚印。在深入探索动态规划的旅程里,子序列问题犹如一座充满挑战与奥秘的山峰等待我们攀登。通过对其细致入微的讲解与练习,我们将逐步揭开动态规划处理子序列问题的神秘面纱。无论是最长递增子序列那优雅的递推思路,还是公共子序列蕴含的巧妙状态转移,都将在我们的每日钻研中清晰呈现。
2024-11-25 16:27:20
1120
1
原创 每日练题之动态规划(子序列问题讲解 1.最长递增子序列 2.摆动序列)
定义状态(状态转移方程)动态规划首先需要明确问题的状态(通常是一个二维或一维数据库)。状态数据库dp[i]表示到达位置i时的最优化解(例如最小/顶点、最短/终止路径等) )。填表根据状态转移方程,通过自下而上的方式进行dp内存填充,每个初始子问题的最优化解。逆推最后一个子序列一旦dp表单状态填充完成,通常需要从dp最终形成(例如dp[n-1],这里的n可能是吞吐量的长度或其他标志性参数)开始,逆推找到最终解的子序列。假设我们在解决一个典型的动态规划问题,比如终止递增子序列(LIS)问题。
2024-11-24 23:50:16
1622
原创 前端速通(JavaScript)
创建数组有两种⽅式1. HTML是⼀种超⽂本标记语⾔,主要⽤于⻚⾯内容的显⽰和排版.如果需要更漂亮的样式展⽰和⻚⾯ 效果,需要搭配CSS和JavaScript来使⽤2. 学习HTML主要是学习标签,HTML的标签特别多,了解基本语法即可3. CSS重点是学习CSS的选择器使⽤4. JavaScript是⼀个脚本语⾔,和Java没有关系.JQuery是⼀个JavaScript框架,使⽤JQuery可以轻松 地选择和操作HTML元素,提⾼我们的开发效率.
2024-11-22 17:31:55
996
原创 前端速通(CSS)
1.colorcolor用于设置文本的颜色的属性属性用于设置元素的背景颜色,常见于设置网页或特定元素的背景颜色。常见单位:颜色名称:如redbluegreenblack等。十六(HEX):如#FF5733#000000(表示黑色)。RGB:如,表示红色。RGBA:如,红色,且间隙为50%。HSL:如,表示红色。HSLA:如,红色,且间隙为50%。2字体大小(font-sizefont-size属性用于设置文本的大小。可以使用多种单位来表示字体大小。
2024-11-21 15:25:32
1443
3
原创 优选算法(双指针)
双指针算法是一种常用的算法思想,特别适用于处理涉及阵列、链表或字符串等线性数据结构的问题。通过操作两个一个指针来进行导航或操作数据结构,双指针可以最大程度优化解决方案的效率。提高效率并减少空间复杂度。在Java中使用双指针的核心思想是通过两个变量(通常是索引或节点)来标记处理数据的起点和终点,动态调整它们的位置以实现目标。2.双。
2024-11-20 23:21:47
1992
27
原创 前端速通(HTML)
以下是一篇欢乐风格的 HTML 学习总结结语: 哇哦!我们在 HTML 的奇妙世界里畅游了这么久,现在就像满载宝藏的冒险家,要暂别这一程啦!HTML 就像是搭建梦幻城堡的魔法积木,每一个标签都是一块独特的积木块。我们从简单的``、``开始,一点点构建起属于我们自己的精彩网页,就像从一砖一瓦开始打造我们的梦想家园。``到``是我们的标题魔法棒,能把重要的信息变得醒目又有趣,就像舞台上耀眼的聚光灯。``标签呢,则是默默讲述故事的小精灵,把文字编织成美妙的画卷。
2024-11-19 12:04:53
5984
37
原创 JAVA泛型
通过对Java 泛型的深入学习,我们可以看到泛型的强大和灵活性,它不仅提高了代码的类型安全性和可读性,还减少了冗余代码,增强了程序的可维护性。从基础概念到高级特性,再到实际应用场景,泛型广泛用于集合类、通用工具类、接口设计以及动态类型处理。通过合理地利用泛型的通配符类型约束和反射结合等高级功能,开发者可以编写更高效、健壮和可扩展的代码,从而更轻松地应对复杂的开发需求。
2024-11-18 17:25:23
1139
3
原创 数据结构前言
Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes。其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索 retrieve 、 管理 manipulate ,即平时我们俗称的增删查改 CRUD。例如,一副扑克牌(一组牌的集合)、一个邮箱(一组邮件的集合)、一个通讯录(一组姓名和电话的映射关系)等等。
2024-11-16 16:14:00
1197
21
原创 MYSQL中JDBC的使用
JDBC 是Java 中的一组API,用于执行SQL 操作(例如CRUD 操作:增、删、改、关系),同时可以和各种类型的数据库类型进行连接(MySQL、Oracle、SQL Server 等)。在项目中,可以通过下载MySQL的Connector/J包并添加到项目的类路径中。时,避免了简单的字符串粘贴可能带来的代码差异性差、安全性低的问题(如SQL注入),提供了更安全和清晰的插值方式。
2024-11-14 12:24:32
1629
5
原创 MYSQL事务
事务(Transaction)是一组数据库操作的集合,这些操作要么全部执行成功,要么全部不执行。在MySQL中,事务确保了一组数据库操作的原子性,一致性,隔离性和持久性,简称ACID属性。原子性 (Atomicity):原子性指事务中的所有操作要么全部执行成功,要么全部不执行。即事务不可分割,事务中的操作要么全部完成,要么由于某种原因全部回滚。一致性 (Consistency):一致性确保事务开始前和结束后,数据库状态保持一致。事务执行过程中虽然数据库状态可能临时不一致,但最终状态必须符合预期约束。
2024-11-13 11:11:04
1009
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人