自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 SpringBoot 统一功能处理

Component@Slf4j // 日志注解@Override// 从Session获取用户信息,没有则拦截(返回401状态码)log.warn("用户未登录,拦截请求");// 401状态码// 拦截请求log.info("用户已登录,放行请求");// 放行@Data // Lombok注解,自动生成get/set等方法// 成功时的快捷方法// 失败时的快捷方法@ControllerAdvice // 全局异常处理类。

2025-05-19 09:00:00 584

原创 MyBatis (入门)

简化 JDBC:通过配置和映射,减少模板代码。灵活 SQL:支持注解和 XML 两种方式。安全高效:预编译防注入,连接池提升性能。

2025-05-07 09:00:00 553

原创 Spring Boot 日志

当月底发现钱不够用时,你可以翻看账本,找到哪笔开销异常,从而调整消费习惯。就像接待员,提供一个统一接口(如SLF4J),屏蔽底层复杂实现(如Logback、Log4j)。去医院看病时,接待员帮你处理挂号、缴费、取药,你无需直接面对各个科室。就像这个账本,记录程序的运行状态和问题,帮助开发者快速定位错误。类似手环,通过日志分析程序性能,比如某个接口响应过慢,触发报警。通过日志记录用户行为(如点击、浏览),用于数据分析或个性化推荐。智能手环记录你的步数、心率和睡眠质量,发现异常时提醒你。

2025-05-05 09:00:00 1981

原创 SpringBoot 配置文件

像文件夹的层级结构,“Spring” 是父文件夹,“datasource” 是子文件夹,缩进代表 “缩进多少代表层级多深”,错位就像把文件放进错误的文件夹。这时候,咖啡店给你一张“偏好卡”,你可以在卡上写下自己最喜欢的口味(比如“拿铁,少糖,加燕麦奶”)。比如咖啡店的营业时间、WiFi密码,这些可能经常变化的信息,写在“卡片”里更方便修改,不需要重新装修店面(修改代码)。虽然简单,但如果有多个 “地址” 相关的信息(如邮编、街道),每行都要重复 “地址.”,显得啰嗦。:比如配置数据库、第三方服务,用。

2025-05-04 09:00:00 787

原创 Spring IoC&DI

你不需要关心零件怎么来,只管用就行。2.生活类比假设你想组装一辆玩具车,传统方式需要自己买轮子、车身、电池,然后一步步组装。但如果你有一个“万能仓库”,只需要告诉仓库“我要一辆车”,仓库会自动配齐所有零件并组装好。这个仓库就是IoC容器。3.技术解释IoC(控制反转):把对象的创建和管理交给Spring框架(仓库),而不是自己手动创建。好处:代码更灵活,修改零件(比如换大轮子)时,不需要重写所有代码,仓库会自动调整。4.传统程序开发car.run();/*** ⻋⾝类*/

2025-05-03 09:00:00 836

原创 Spring Web MVC基础

Spring MVC是餐厅的“智能点餐系统”,帮你把顾客需求快速转给厨房,并让厨师高效做菜。分工明确:就像相亲介绍所的红娘、顾问、数据库各司其职,MVC 让代码更易维护。高效协作:Spring MVC 像外卖平台一样,快速连接用户需求和服务端处理。灵活扩展:如果想加一个新功能(比如会员系统),只需新增一个“模块”,不用重写整个程序。💡记住MVC是设计模式,帮你组织代码结构;Spring MVC是工具包,帮你快速实现 MVC 模式,就像外卖平台提供现成的接单、配送系统。2.什么是 Servlet?

2025-04-28 09:00:00 1597

原创 JVM相关介绍

JVM(Java 虚拟机)就像一条智能生产线,专门负责把 Java 代码转换成电脑能理解的指令。JDK(Java开发工具包)是工厂的“工具箱”,包含生产汽车(开发程序)需要的所有工具。JRE(Java运行环境)是工厂的“运行车间”,只有这里才能启动生产线,让汽车跑起来。JVM 就好比一个超级翻译官。咱们写的 Java 程序就像是一份中文剧本,而不同的系统(比如 Windows、Linux 等)就像是不同国家的演员,这些演员只懂自己国家的语言。

2025-04-22 09:00:00 562

原创 网络原理 - HTTP/HTTPS

平时我们俗称的"网址"其实就是说的URL(Uniform Resource Locator统一资源定位符).互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它.URL 的详细规则由 因特网标准RFC1738 进行了约定.(https://datatracker.ietf.org/doc/html/rfc1738)2.Cookie3. body4.url 的path认识请求 "正文" (body)

2025-04-21 09:00:00 1016

原创 网络原理 - TCP/IP

应用层就像我们日常用的各种 APP(如外卖软件、社交软件),程序员通过调用系统提供的网络 API 写代码,实现功能。这里不仅有现成协议(如 HTTP),更多时候需要根据场景自定义协议,约定客户端和服务器交互的信息、数据格式。以点外卖打开外卖 APP,首页要显示附近商家列表。此时客户端需把用户位置发给服务器,服务器返回商家名称、图片、评分等信息。交互哪些信息由产品经理和程序员共同确定,数据怎么组织(格式)就是程序员自定义协议的工作。约定请求响应:客户端按约定发请求,服务器按约定解析;

2025-04-14 09:00:00 962

原创 网络编程套接字

flush方法的主要作用是强制把缓冲区里的数据发送出去。在代码里,对象会先把数据存于缓冲区,调用flush方法后,缓冲区的数据就会立刻发送给服务器。close方法的作用是关闭资源,释放系统资源,保证数据完整传输。在代码里,语句块结束时会自动调用close方法,关闭等资源。因为TCP是字节流,数据像流水一样源源不断的传输。线程池,解决的是频繁创建销毁的问题如果,当前的场景是线程频繁创建,但是不销毁呢每个客户端如果处理过程很短(网站)每个客户端处理过程都很长呢?(游戏服务器)

2025-04-07 09:00:00 1029

原创 网络原理 - 初识

网络发展史网络发展史独立模式独立模式:计算机之间相互独立;网络互连将多台计算机连接在一起,完成数据共享。数据共享本质是网络数据传输,即计算机之间通过网络来传输数据,也称为网络通信。根据网络互连的规模不同,可以划分为局域网和广域网。局域网LAN(1)基于网线直连(2)基于交换机组建(3)基于交换机和路由器组建交换机下面还能再接路由器,路由器下面还能再接交换机,理论上是可以无限延伸的,当前网络就是这么构造出来。

2025-04-04 09:00:00 873

原创 文件操作和IO

字节流:适用于所有文件(图片、音乐、文字等),精准操作字节。字符流:专注文字处理,自动处理编码,写文字文件更便捷。

2025-04-03 09:00:00 565

原创 多线程-进阶

CAS(一种操作机制)在执行时,会判断当前内存值是否和寄存器中的值一样,一样就修改,不一样就不操作。而 ABA 问题的本质是,在代码执行过程中,有其他线程 “插足”,让数据先从 A 变成 B,又从 B 变回 A。看似数据没变,但中间经历了变化。

2025-04-01 09:00:00 653

原创 多线程 - 初阶

代码核心问题代码中count++操作在单线程下正常,但多线程下会出问题。因为count++底层由三个 CPU 指令组成:读取(load):从内存读数据到 CPU 寄存器;计算(add):寄存器里的数据 +1;保存(save):把结果写回内存。多线程时,CPU 调度线程的顺序不可控,可能导致两个线程的指令交叉执行,最终结果比预期值(10 万)小。线程不安全的本质多个线程操作共享数据(如代码里的count)时,因操作步骤拆分且调度无序,导致数据被错误修改。它们和join类似,作用是。

2025-03-30 09:00:00 980

原创 计算机是如何工作的

PCB 就像进程的 “全能档案”,操作系统通过这些属性管理进程,如同餐厅通过顾客档案优化服务。每个属性各司其职:标识身份(PID)、管理资源位置(内存指针、文件描述符表)、跟踪状态(状态、优先级)、记录开销(记账信息)、保存进度(上下文),最终让计算机高效有序地运行。好好理解各部分之间的关系。

2025-03-15 22:08:06 1039

原创 Java的JDBC编程

ResultSet对象就像快递员拿给你的包裹清单,需要用next()逐个查看。

2025-03-11 17:58:35 804

原创 MySQL索引事务

若查询涉及到某个字段的范围筛选(如查询年龄在 20 到 30 岁之间的用户),或者需要对结果进行排序(如按时间顺序显示订单记录),B - tree 索引是很好的选择,因为它能高效地处理这类操作。但如果给笔记本做个 “索引”(搞个目录),提前记好 “哪一页写了周一的事、哪一页写了周三的事”,之后找内容时,看一眼目录(索引),直接翻到对应页就行,找得又快又准。比如点外卖选了三道菜,下单时这三道菜要么都成功加入订单,但凡其中一道菜售罄(某个操作失败),整个订单都不会成立,不会只留部分菜在订单里。

2025-03-08 11:23:24 932

原创 MySQL表的增删改查(进阶)

返回查询到的数据的 数量查找同伴同学,关键突破就是拿到这个班级的id,因为同班=在一个班,在一个班 -> name1. 一对一:2. 一对多:3. 多对多:需要创建中间表来映射两张表的关系。

2025-03-04 09:01:18 1096

原创 MySQL表的增删改查

目录1.CRUD2.新增(C)2.1语法2.2单行插入 + 全列插入2.3多行数据+指定列插入2.4如何获取当前的时间?3.查询(R)3.1全列查找语法注意3.2指定列查询语法注意3.3 查询字段为表达式表达式不包含字段表达式包含一个字段表达式包含多个字段例子实践3.4别名语法别名的解释3.5去除重复的数据语法例子3.6 order by 排序语法例子 注意3.7条件查询(where)比较运算符逻辑运算符例子基本查询and和or范围查询1.between ... and ...2.in模糊查询likeNUL

2025-02-24 19:01:06 675

原创 MySQL数据库基础

1.数据库的操作。

2025-02-18 21:31:17 235

原创 反射、枚举以及lambda表达式

Java的反射(reflection)机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到那么,我们就可以修改部分类型信息。Java 反射机制允许程序在运行时获取、操作类和对象的信息。通过Class类 、Field类、Method类、类,可获取类的构造函数、方法和字段等。其优点是增加程序灵活性与扩展性,应用于众多框架;缺点是存在性能开销且破坏封装性,使用时需注意安全。

2025-01-27 14:52:56 743

原创 数据结构--排序

int i =0;i++;j++;//输出每一趟的修改后的结果d++) {}*///那么如果我只想让你只输出发生修改了的结果//我们可以利用设计标志去记录这个情况//将这个包含在循环里面,如果这个情况发生则输出//输出发生修改后的结果d++) {i++;j++;}*/i++) {// 希尔排序的实现// 初始化 gap,并逐步减小 gapgap > 0;// 对当前步长进行插入排序i < n;

2025-01-15 11:25:23 532

原创 再谈Java中的String类型是否相同的判断方法

目录第一部分代码展示画图展示第二部分代码展示画图展示

2024-12-01 19:40:38 225

原创 HashSet的常用方法及其源码展示

先计算元素的哈希值,然后根据哈希值找到元素可能存储的位置(索引),再检查该位置及其关联的链表(如果有哈希冲突)中是否存在与给定元素相等的元素。它用于获取当前迭代器位置之后的下一个元素,并将迭代器的指针向前移动一位,以便下次循环时能够获取到下一个新的元素。将获取到的下一个元素输出到控制台,并在元素后面添加一个空格,从而实现逐个元素的输出展示,直到。用于获取下一个元素并移动迭代器指针,它们共同协作实现了对集合元素的有序、完整的遍历操作。通过使用泛型,编译器可以在编译时检查元素的类型是否符合集合的要求。

2024-12-01 15:04:12 1182

原创 HashMap的put&get源码流程

目录put部分例子展示第一部分第二部分第三部分get部分例子展示第一部分第二部分第三部分

2024-11-30 21:35:37 537

原创 Java抛出自定义运行运行

1.重新生成异常的.java文件 Empty:空 Exception:异常 加起来就是 空指针异常的文件。4.在需要抛出异常的地方写上:throw new Run。2.打上extends + 运行的异常(异常的类型)3.点击ctrl+o,选着这两个快捷重写。5.若要自定义异常类型。

2024-11-30 21:15:39 299

原创 JavaIEDA8如何查看方法源码

2024-11-30 21:15:14 145

原创 数据结构--java对象的比较

将基本数据类型包装成对应的包装类(如。

2024-11-14 20:37:45 217

原创 数据结构--PriorityQueue

Java集合框架中提供了。

2024-11-14 18:56:06 960

原创 对于大根堆的计算时间复杂度的过程

接着每一层节点需要调整的次数= (每一层的节点个数 * 这一层节点需要调整的所在高度)再全部相加起来。优化答案,再结合树知识中高度的求法公式,发现两个函数的关系再优化。然后求解出每一层的节点个数+这一层节点需要调整的所在高度。利用*2T(n)构造出等差数列。

2024-11-10 20:08:36 292

原创 数据结构--二叉树

树是一种非线性的数据结构,它是由nn>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:1.有一个特殊的结点,称为根结点,根结点没有前驱结点2.除根结点外,其余结点被分成M(M > 0)个互不相交的集合3.树是递归定义的。注意:树形结构中,子树之间不能有交集,否则就不是树形结构。

2024-11-08 18:52:38 1039

原创 数据结构--栈和队列

只允许在固定的一端进行插入和删除元素操作的特殊线性表,数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出的原则。如果是两个栈(一个空,一个非空)来进行交换数据的话,特点是“倒进去”---刷题很大用处1.2栈的使用方法1.3栈的关系图栈是最底层的操作,当使用cloneable等操作时候可以延申2.队列(Queue)2.1只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表---先进先出2.2 队列的使用方法主要是区分栈,队列两者的特点!!!

2024-10-20 14:43:39 406

原创 数据结构--线性表双向链表的实现

部分方法大体上写法都大致相同,关键在于具体方法部分,比如:删除的节点就只有一个,而且这个要删除的节点就是头结点,那么这种特殊情况是在写完正常删除操作后,输入数据判断得到的结果,针对这样的情况要画图分析,一步一步慢慢思考如何设计程序代码,出错没有关系,再次调试画图看看有没有漏掉的地方,一次次修改相信最终会获得成功完成任务的代码。数据结构的核心就是,代码容易写,思考最难想的一个学习过程,由此可见画图在帮助我们理清思路,规整代码写法的时候就尤为重要!希望这篇博客能给读者在学习数据结构时提供一些帮助。

2024-10-07 19:58:26 629 1

原创 数据结构--ArrayList与顺序表

的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。int lastindexOf(Object o) 返回最后一个O的下标。选择合理的方式进行使用顺序表的方法,特别是扩容的大小,合理使用的话即可节省空间提高效率。ArrayList是一个动态类型的顺序表,即:在插入元素的过程中会自动扩容。底层是一段连续的空间,并且可以动态扩容,是一个动态类型的顺序表。不是线程安全的,在单线程下可以使用,在多线程中可以选择。是以泛型方式实现的,使用时必须要先实例化。是一个普通的类,实现了。

2024-10-07 14:25:34 898

原创 数据结构--List的介绍

在集合框架中,

2024-10-07 13:59:56 1165

原创 数据结构--包装类&简单认识泛型

包装类为基本数据类型提供了对象的表示形式,如`Integer`对应`int`、`Double`对应`double`等。在数据结构中,像`ArrayList<T>`、`HashMap<K, V>`等泛型类,可以根据实际需求指定不同的类型希望这篇博客能帮助到读者。

2024-10-02 18:58:26 622

原创 数据结构--时间和空间复杂度

在设置程序时,尽量选择设计复杂度小的程序写法来简化代码,提高代码的效率希望读者在编写程序时多思考如何编写,选择效果较好的写法。

2024-10-02 18:36:22 412

原创 数据结构--集合框架

学习数据结构建议多画图,多思考,多刷题尽管数据结构困难,但不要放弃向前走。

2024-10-02 18:23:36 625

原创 JAVASE总结

/动态定义,只定义大小// 静态定义,只定义内容// 创建类field;// 字段(属性) 或者 成员变量method;// 行为 或者 成员方法// 抽象类:被abstract修饰的类// 抽象方法:被abstract修饰的方法,没有方法体// 抽象类也是类,也可以增加普通方法和属性// 面积错误写法// 实现接口的方法如果是一个接口,那么MyClass必须实现接口中定义的所有方法。正确写法@Override// 实现方法。

2024-10-01 16:49:23 1756

原创 JAVA认识异常

以上是一些常见的异常信息,针对不同的异常要根据其特点选择怎么样去修改,会事半功希望这篇博客能帮助正在学习的读者,提供一点思路和方法。

2024-10-01 16:49:15 690

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除