- 博客(27)
- 收藏
- 关注
原创 编程算法学习——数组与排序算法
排序算法平均时间复杂度最好情况最坏情况空间复杂度稳定性适用场景冒泡排序O(n²)O(n)O(n²)O(1)稳定小规模数据,教学用途选择排序O(n²)O(n²)O(n²)O(1)不稳定小规模数据,交换次数最少插入排序O(n²)O(n)O(n²)O(1)稳定小规模或基本有序数据快速排序O(n log n)O(n log n)O(n²)O(log n)不稳定大规模数据,性能好归并排序O(n log n)O(n log n)
2026-01-01 16:34:13
436
原创 编程算法学习——线性结构
不同的使用场景需要不同的操作效率 - 有的需要快速随机访问,有的需要高效插入删除,有的需要特定访问顺序(先进先出/后进先出)。知道座位号就能直接找到(访问快),但中间加座位很麻烦(插入慢)。:很多现实问题天然就是线性的 - 排队的人群、待处理的任务列表、文本中的字符序列等。必须按线索逐个寻找(访问慢),但插入新线索只需修改指引(插入快)。后进先出(LIFO)的线性结构,只能在表尾进行插入和删除。先进先出(FIFO)的线性结构,在表尾插入,在表头删除。:线性结构是构建更复杂数据结构(树、图)的基础。
2025-11-29 16:22:13
682
原创 变量与数据类型
基本数据类型 → 对应包装类对象(如包装类对象 → 对应基本数据类型(如分两部分存储—— 变量本身存 “引用地址”,对象实际数据存 “堆”(常量池除外);具体位置:变量(局部 / 成员):存储在栈帧中,值是对象在堆中的内存地址(类似 “指针”);对象实例:存储在堆中(包含对象的成员变量、方法元数据引用等);特殊情况:字符串常量(如)、Integer 缓存池对象,存储在方法区的常量池中(复用对象,优化内存);(栈帧存缓存池对象的地址,常量池存对象本身,数值 100)。类型。
2025-11-27 22:03:12
850
原创 编程算法学习——复杂度分析
爬楼梯/斐波那契:就像计算到达目的地有多少条路径,不要傻傻地每条路都走一遍(递归),而是记住已经算过的路径(动态规划)。移动零:就像整理书架,把所有书(非零元素)先拿到前面摆好,空出来的位置再放垫书板(零)。冒泡排序:像水中的气泡,轻的(小的)往上冒,每次比较相邻的两个。归并排序:像合并两个有序的队伍,总是比较两个队伍的排头,选小的出来。快速排序:像选举班长,先选个基准(候选人),把支持他的人放左边,反对的放右边,然后在两边继续选举。复杂度分析的意义。
2025-11-12 19:18:04
796
原创 Spring Boot 2.x 集成 Knife4j (OpenAPI 3) 完整操作指南
本人在进行Java项目开发时,集成Knife4j 遇到了多方面的问题,在这里进行了一下记录总结。
2025-11-11 17:19:33
1172
原创 Java进阶学习——5,注解原理与自定义注解处理器
学习目标:深入理解注解原理与自定义注解处理器文章目录一、注解的基本概念1. 注解的定义二、注解的详细原理1. 注解的本质2. 注解的保留策略3. 注解的目标类型三、自定义注解处理器1. 编译时注解处理器创建自定义注解实现注解处理器2. 运行时注解处理器创建运行时注解实现运行时处理器四、完整示例1. 定义实体类2. 使用示例五、注解处理器的应用场景1. 代码生成2. 依赖注入3. 配置管理4. 验证框架六、最佳实践1. 注解设计原则2. 处理器性能考虑总结注解(Annotation)
2025-11-07 08:48:41
848
原创 Java进阶学习——4,Java异常体系和自定义异常
目录学习目标:深入理解Java异常体系和自定义异常一、异常体系的基本概念1. 什么是异常?2. Java异常体系结构二、异常分类详解1. 受检异常 (Checked Exception)2. 非受检异常 (Unchecked Exception)三、异常处理机制1.核心概念区别2.详细使用场景a. try-catch-finally 使用场景b. throws 使用场景3. try-catch-finally 结构4. throws 声明5.总结四、自定义异常1. 为什么要自定义异常?
2025-11-05 20:32:04
668
原创 Java进阶学习——3,强引用,软引用,弱引用,虚引用
引用类型GC行为使用场景get()返回值强引用永远不会被GC回收普通对象引用对象本身软引用GC后内存仍不足时回收内存敏感缓存对象本身(未被回收时)弱引用仅有弱引用时回收规范化映射、监听器列表对象本身(未被回收时)虚引用回收前入队列资源清理、对象回收跟踪总是null。
2025-11-04 20:02:10
541
1
原创 Java进阶学习——1,JVM内存模型(堆、栈、方法区)
1,Person person :这会在当前线程(main) 的栈帧的局部变量表中创建一个person变量。2,new Person("Alice", 25): new关键字会在堆中开辟一块内存空间,用于存储新创建的Person对象。每个方法从调用大执行完毕,都对应这一个栈帧在虚拟机栈中从入栈到出栈的过程。3,调用add方法:在计算add(a, b)时,add方法的栈帧被压入栈。5,main方法执行完毕:main方法栈帧出栈,栈空,线程结束。1,程序启动:main线程启动,JVM为其创建虚拟机栈。
2025-10-31 21:07:03
918
原创 Java基础知识——字面量
3.14'A'true类型示例说明420x2F(十六进制)默认int类型;长整型需加L(如100L3.141e-47f默认double类型;float需加F(如3.14F'A''\u0020'单引号包裹;支持 Unicode 转义(如'\u0041'表示'A'truefalse仅两个值,01"Hello"双引号包裹;支持转义符(如\nnull表示对象引用为空L100Lint0x0X0x1F0077类型示例说明123-456默认为int类型。0b10100B1010以0b或0B开头,表示十进制的。
2025-06-17 20:56:35
1132
原创 Java基础知识——基本数据类型
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。低 ------------------------------------> 高。第一章 Java基础知识学习——基本数据类型。
2025-06-16 17:50:09
864
原创 Linux学习
不同领域的主流操作系统,主要分为以下这么几类: 桌面操作系统、服务器操作系统、移动设备操作系统、嵌入式操作系统。1). 桌面操作系统操作系统特点Windows用户数量最多MacOS操作体验好,办公人士首选Linux用户数量少(桌面操作系统,Linux使用较少)2). 服务器操作系统操作系统特点Unix安全、稳定、付费Linux安全、稳定、免费、占有率高付费、占有率低3). 移动设备操作系统操作系统特点Android。
2025-05-28 22:34:14
872
原创 Web开发—Vue工程化
本文介绍了Vue工程化开发的基本概念和步骤。首先,Vue是一款用于构建用户界面的渐进式JavaScript框架,企业开发中更注重前端工程化,包括模块化、组件化、规范化和自动化。接着,文章详细说明了如何使用Vue官方提供的脚手架工具create-vue来创建工程化的Vue项目,包括安装NodeJS、配置npm、创建项目、安装依赖等步骤。此外,还介绍了Vue项目的结构、启动方式以及开发流程。最后,文章对比了Vue的两种API风格:组合式API和选项式API,帮助开发者更好地理解和选择适合的开发方式。
2025-05-11 21:59:52
1240
2
原创 Web开发-Spring AOP
Spring的AOP底层是基于动态代理技术来实现的,也就是说在程序运行的时候,会自动的基于动态代理技术为目标对象生成一个对应的代理对象。在代理对象当中就会对目标对象当中的原始方法进行功能的增强。到此我们两种常见的切入点表达式我已经介绍完了execution切入点表达式根据我们所指定的方法的描述信息来匹配切入点方法,这种方式也是最为常用的一种方式如果我们要匹配的切入点方法的方法名不规则,或者有一些比较特殊的需求,通过execution切入点表达式描述比较繁琐annotation 切入点表达式。
2025-05-05 16:20:51
1038
原创 Web开发-统一拦截技术:过滤器Filter、拦截器Interceptor
在请求头中携带JWT令牌到服务端,而服务端需要统一拦截所有的请求,从而判断是否携带的有合法的JWT令牌。那怎么样来统一拦截到所有的请求校验令牌的有效性呢?这里我们会学习两种解决方案:Filter过滤器Interceptor拦截器。
2025-05-04 11:06:10
909
原创 Web知识学习-会话技术,JWT令牌
什么是会话?在我们日常生活当中,会话指的就是谈话、交谈。在web开发当中,会话指的就是浏览器与服务器之间的一次连接,我们就称为一次会话在用户打开浏览器第一次访问服务器的时候,这个会话就建立了,直到有任何一方断开连接,此时会话就结束了。在一次会话当中,是可以包含多次请求和响应的。JWT全称 JSON Web Token (官网:https://jwt.io/),定义了一种简洁的、自包含的格式,用于在通信双方以json数据格式安全的传输信息。由于数字签名的存在,这些信息是可靠的。
2025-05-04 09:14:59
1014
原创 Markdown 教程
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。Markdown 编写的文档后缀为 .md, .markdown。
2025-04-29 10:49:27
3259
原创 Web后端开发-数据库
修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。,操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准。约束是作用于表中字段上的规则,用于限制存储在表中的数据。插入数据时,指定的字段顺序需要与值的顺序是一一对应的。分页查询是数据库的方言,不同的数据库有不同的实现,语言操作,标准统一,使用方便,可用于复杂查询。
2025-03-15 18:56:01
782
原创 JavaWeb基础-Vue
什么是VueVue是一款用于构建用户界面的渐进式的JavaScript框架。(官方:https://cn.vuejs.org/)框架:就是一套完整的项目解决方案,用于快速构建项目。优点:大大提升前端项目的开发效率。缺点:需要理解记忆框架的使用规则。(参照官网)Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。
2025-03-12 12:22:28
659
原创 JavaWeb基础-JavaScript学习
Web标准也称网页标准,由一系列的标准组成,大部分由W3C(World Wide Web Consortium,万维网联盟)负责制定。
2025-03-11 19:11:45
885
原创 JavaWeb基础前端学习
标记语言:由标签 "<标签名>" 构成的语言 HTML标签都是预定义好的。例如:使用<h1>展示标题,使用<img>展示图片,使用<video>展示视频。Web标准也称网页标准,由一系列的标准组成,大部分由W3C(World Wide Web Consortium,万维网联盟)负责制定。3,表单项:不同类型的 input 元素、下拉列表、文本域等。作用:是一种一维的布局模型,为元素之间提供强大的空间分布和对齐能力。高度和宽度的计算方式;作用:控制元素尺寸、内边距、边框、外边距,从而控制页面的布局展示。
2025-03-10 17:12:15
634
原创 JDBC重点知识
/ 必须反向关闭(ResultSet → Statement → Connection)Class.forName("com.mysql.cj.jdbc.Driver");// MySQL 8.0+驱动。应用程序 → JDBC API → JDBC Driver Manager → 数据库驱动 → 数据库。Java标准API,用于连接和操作关系型数据库(如MySQL、Oracle)。// 参数索引从1开始。// 添加批处理语句。// JDBC操作...
2025-02-24 17:42:36
1629
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅