自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring IoC管理&DI注入

容器是⽤来容纳某种物品的(基本)装置.List/Map -> 数据存储容器Tomcat -> Web 容器.其实IoC我们在前⾯已经使⽤了, 我们在前⾯讲到, 在类上⾯添加@RestController 和@Controller 注解, 就是把这个对象交给Spring管理, Spring 框架启动时就会加载该类. 把对象交给Spring管理, 就是IoC思想.IoC: Inversion of Control (控制反转), 也就是说 Spring 是⼀个"控制反转"的容器.什么是控制反转呢?

2025-01-14 14:30:17 980

原创 SpringBoot配置文件

properties 是以 key=value 的形式配置的键值类型的配置⽂件, yml 使⽤的是树形配置⽅式.读取配置⽂件内容, 使⽤ @Value 注解, 注解内使⽤" ${} "的格式读取.yml 层级之间使⽤换⾏缩进的⽅式配置, key 和 value 之间使⽤": "(英⽂冒号)加空格的⽅式设置, 并且空格不可省略.properties 为早期并且默认的配置⽂件格式, 其配置存在⼀定的冗余数据, 使⽤ yml 可以很好的解决数据冗余的问题, 但不适合复杂配置.

2025-01-14 14:29:46 639

原创 Spring web应⽤分层(模块结构)

MVC模式强调数据和视图分离, 将数据展⽰和数据处理分开, 通过控制器对两者进⾏组合.三层架构强调不同维度数据处理的⾼内聚和低耦合, 将交互界⾯, 业务处理和数据库操作的逻辑分开

2024-12-12 21:55:52 1388 2

原创 Spring Web 开发(响应)| lombok工具 | 快速引用依赖

1. @RestController = @Controller + @ResponseBody2. @Controller : 定义⼀个控制器, Spring 框架启动时加载, 把这个对象交给Spring管理.3. @ResponseBody : 定义返回的数据格式为⾮视图, 返回⼀个 text/html 信息4. Spring Web 开发(响应)| lombok工具 | 快速引用依赖

2024-12-01 18:10:30 1343 1

原创 Spring Web开发(请求)获取JOSN对象| 获取数据(Header)

理解cookie当⽤⼾登陆的时候, 服务器在 Session 中新增⼀个新记录, 并把 sessionId返回给客⼾端. (通过HTTP 响应中的 Set-Cookie 字段返回).客⼾端后续再给服务器发送请求的时候, 需要在请求中带上 sessionId. (通过 HTTP 请求中的Cookie 字段带上).服务器收到请求之后, 根据请求中的 sessionId在 Session 信息中获取到对应的⽤⼾信息, 再进⾏后续操作.找不到则重新创建Session, 并把SessionID返回。

2024-12-01 11:22:32 1304

原创 Spring Web开发 MVC框架的注解和请求(1)

Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。它的正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc),但它通常被称为"Spring MVC".什么是Servlet呢?

2024-11-29 18:17:49 954 3

原创 网络原理->DNS协议和NAT协议解

数据链路层• 数据链路层的作⽤: 两个设备(同⼀种数据链路节点)之间进⾏传递数据• 以太⽹是⼀种技术标准;既包含了数据链路层的内容, 也包含了⼀些物理层的内容. 例如: 规定了⽹络拓扑结构, 访问控制⽅式, 传输速率等;• 以太⽹帧格式• 理解mac地址• 理解arp协议• 理解MTU⽹络层• ⽹络层的作⽤: 在复杂的⽹络环境中确定⼀个合适的路径.• 理解IP地址, 理解IP地址和MAC地址的区别.• 理解IP协议格式.• 了解⽹段划分⽅法。

2024-11-28 16:01:44 1174 23

原创 启动SpringBoot

Maven是⼀个项⽬管理⼯具。基于POM(Project Object Model,项⽬对象模型)的概念,Maven可以通过⼀⼩段描述信息来管理项⽬的构建,报告和⽂档的项⽬管理⼯具软件。简单, ⽅便, 提⾼我们的开发效率, 减少我们的开发Bug.项⽬构建管理依赖Spring让Java程序更加快速, 简单和安全. Spring对于速度、简单性和⽣产⼒的关注使其成为世界上最流⾏的Java框架。

2024-11-28 15:58:41 1376 14

原创 初识前端三剑客三 ->JavaScript

JavaScript (简称 JS), 是⼀个脚本语⾔, 解释型或即时编译型的编程语⾔. 虽然它是作为开发Web⻚⾯的脚本语⾔⽽出名,但是它也被⽤到了很多⾮浏览器环境中。HTML: ⽹⻚的结构(⻣)CSS: ⽹⻚的表现(⽪)JavaScript: ⽹⻚的⾏为(魂)HTML是⼀种超⽂本标记语⾔, 主要⽤于⻚⾯内容的显⽰和排版.如果需要更漂亮的样式展⽰和⻚⾯效果, 需要搭配CSS和JavaScript来使⽤。学习HTML主要是学习标签, HTML的标签特别多, 了解基本语法即可。

2024-11-26 19:06:29 786

原创 初识前端三剑客二 -> css

CSS(Cascading Style Sheet),层叠样式表, ⽤于控制⻚⾯的样式.CSS 能够对⽹⻚中元素位置的排版进⾏像素级精确控制, 实现美化⻚⾯的效果. 能够做到⻚⾯的样式和结构分离.CSS前 -> CSS修饰后东⽅四⼤邪术。

2024-11-17 09:20:26 964

原创 初识前端三剑客一 -> html

HTML(Hyper Text Markup Language), 超⽂本标记语⾔.超⽂本: ⽐⽂本要强⼤. 通过链接和交互式⽅式来组织和呈现信息的⽂本形式. 不仅仅有⽂本, 还可能包含图⽚, ⾳频, 或者⾃已经审阅过它的学者所加的评注、补充或脚注等等.

2024-11-17 09:20:01 1042

原创 网络原理(应用层)->HTTPS解

大家好我是小帅,今天我们来了解HTTPS,

2024-11-05 22:13:38 1095

原创 网络原理(应用层)->HTTP

1 . 因为 HTTP 协议并没有规定报头部分的键值对有多少个. 空⾏就相当于是 “报头的结束标记”, 或者是"报头和正⽂之间的分隔符".2 .

2024-11-05 22:13:03 1071

原创 网络原理(数据链路层)->以太网帧格式解

了解以太网格式,各部分内容。MAC是一种用于标识网络设备硬件的唯一地址。每个网络接口卡(NIC,也称为网卡)都有一个唯一的MAC地址,这个地址在制造时被烧录到网卡的ROM中,并且通常是不可更改的。

2024-10-29 16:35:52 1639 30

原创 网络原理(⽹络层)-> IP协议解

IP协议格式的详解。网络层主要功能:地址管理,路由选择。在复杂的⽹络环境中确定⼀个合适的路径.

2024-10-29 15:58:03 652 7

原创 网络原理(传输层)->UDP协议解析

1. ⽆连接: 知道对端的IP和端⼝号就直接进⾏传输, 不需要建⽴连接;2. 不可靠: 没有确认机制, 没有重传机制; 如果因为⽹络故障该段⽆法发到对⽅, UDP协议层也不会给应⽤层返回任何错误信息;3. ⾯向数据报: 不能够灵活的控制读写数据的次数和数量;

2024-10-25 17:25:12 359 2

原创 网络原理(传输层)->TCP协议解

TCP⽤于可靠传输的情况, 应⽤于⽂件传输, 重要状态更新等场景;UDP⽤于对⾼速传输和实时性要求较⾼的通信领域, 例如, 早期的QQ, 视频传输等. 另外UDP可以⽤于⼴播;归根结底, TCP和UDP都是程序员的⼯具, 什么时机⽤, 具体怎么⽤, 还是要根据具体的需求场景去判定.

2024-10-25 17:22:04 1193

原创 多线程-进阶(2)CountDownLatch&&ConcurrentHashMap&&Semaphore

1.信号量 Semaphore目的;JUC(java.util.concurrent) 的常⻅类接着上一节课到1.信号量 Semaphore信号量, ⽤来表⽰ "可⽤资源的个数". 本质上就是⼀个计数器。理解信号量可以把信号量想象成是停⻋场的展⽰牌: 当前有⻋位 100 个. 表⽰有 100 个可⽤资源.当有⻋开进去的时候, 就相当于申请⼀个可⽤资源, 可⽤⻋位就 -1 (这个称为信号量的 P 操作)

2024-10-15 22:09:35 1138

原创 初识网络原理

封装和分⽤:不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在⽹络层叫做数据报(datagram),在链路层叫做帧(frame)。应⽤层数据通过协议栈发到⽹络上时,每层协议都要加上⼀个数据⾸部(header),称为封装(Encapsulation)。⾸部信息中包含了⼀些类似于⾸部有多⻓,载荷(payload)有多⻓,上层协议是什么等信息。数据封装成帧后发到传输介质上,到达⽬的主机后每层协议再剥掉相应的⾸部,根据⾸部中的 "上层协议字段" 将数据交给对应的上层协议处理。

2024-10-15 22:09:13 850

原创 多线程-初阶(2)BlockingQueue&&ThreadPoolExecutor

学习目标:熟悉wait和notify的线程休眠和启动熟悉多线程的基本案例1.单例模式的两种设置模式:懒汉模式和饿汉模式2.阻塞队列(生产者消费者模型)3.线程池4.定时器。

2024-10-10 17:31:29 911 31

原创 多线程-进阶(1)

1.乐观锁 vs 悲观锁目的:了解熟悉常⻅的锁策略.接下来讲解的锁策略不仅仅是局限于 Java . 任何和 "锁" 相关的话题, 都可能会涉及到以下内容.这些特性主要是给锁的实现者来参考的.1.乐观锁 vs 悲观锁。

2024-10-10 17:31:01 1008 13

原创 多线程-初阶(1)

1. 认识线程(Thread)本节⽬标•认识多线程•掌握多线程程序的编写•掌握多线程的状态•掌握什么是线程不安全及解决思路•掌握 synchronized、volatile 关键字1. 认识线程(Thread)1.1 概念1) 线程是什么⼀个线程就是⼀个 "执⾏流". 每个线程之间都可以按照顺序执⾏⾃⼰的代码. 多个线程之间 "同时" 执⾏着多份代码.2) 为啥要有线程⾸先, "并发编程" 成为 "刚需".

2024-10-04 18:30:58 1243 30

原创 Java的JDBC编程(以JAVA为例)

JDBC使用步骤:1.创建数据库连接ConnectionDriverManager创建DataSource获取2.创建操作命令Statement3.使用操作命令来执行SQL//查询操作();//新增、修改、删除操作();4.处理

2024-10-04 18:30:12 1203 13

原创 MySQl索引事务| B树 && B+树

目标:索引事务索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。要考虑数据库表的某一列或者几列创建索引,时要考虑几点: 满足以上条件时,考虑对表中的这些字段创建索引,以提高查询效率。 相关操作:案例:查看学生表已有的索引创建索引 对于非主键、非唯一约束、非外键的字段,可以创建普通索引,看看案例:

2024-09-22 10:00:27 914 15

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

约束类型:NOT NULL指示某列不能存储NULL值。保证某列的每行必须有唯一的值。规定没有给列赋值时的默认值。- NOT NULL和UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。保证一个表中的数据匹配另一个表中的值的参照完整性。保证列中的值符合指定的条件。对于MySQL数据库,对CHECK子句进行分析,但是忽略 CHECK子句。

2024-09-22 09:58:31 656 1

原创 MySQL数据库增删查改(基础)CRUD

比如说:创建一张学生表,有姓名,学号。插入两个学生。可能有点草率看看例子: 顺序不是问题,后面参数和前面括号参数对等就行。比如说上面的例子:把id和name参数倒过来了,后面参数一一对应也可以。不推荐使用全列查询原因:比如说上面例子我只要id或者说只要name;当然也可以查询多个列: 比如说我们创建一个这样的表命令:第一个 效果:第三个总分效果:拓展一个现象: 拓展:语法:比较运算符:逻辑运算符:解释:%在mysql这里代表的是多个任意字符,_代表的是 一个任意字符。揭晓来才是修改硬盘里面的内容。案例:

2024-09-02 07:02:10 1421 1

原创 MySQL数据库基础

数据库的命令可以大写也可以小写命令:showdatabases;//后面符号要注意,是英文的。

2024-09-02 07:01:45 804

原创 数据结构->搜索树的实现和Map和Set

1.2.掌握 Map/Set及实际实现类的使用3.掌握HashMap和HashSet背后的数据结构哈希表的原理和简单实现二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树1.如果树为空树,即根== null,直接插入2.如果树不是空树,按照查找逻辑确定插入位置,插入新结点1.1. cur 是 root,则2. cur不是rootcur是,则3. cur不是rootcur是,则2.1. cur是root,则2. cur不是。

2024-07-17 21:47:31 973 2

原创 Lambda表达式函数式接口的介绍和使用

函数式接口定义:一个接口有且只有一个抽象方法。1. 如果一个接口只有一个抽象方法,那么该接口就是一个函数式接口2. 如果我们在某个接口上声明了@FunctionalInterface 注解,那么编译器就会按照函数式接口的定义来要求该接 口,这样如果有两个抽象方法,程序编译就会报错的。所以,从某种意义上来说,只要你保证你的接口中只 有一个抽象方法,你可以不加这个注解。加上就会自动进行检测的。比如说:多线程里面的Thread的run方法就是一个函数式接口。

2024-07-17 21:46:57 753

原创 数据结构->优先级队列(堆)

1. 掌握堆的概念及实现2. 掌握 PriorityQueue 的使用2.3.1建堆的时间复杂度因为堆是完全二叉树,而满二叉树也是完全二叉树,此处为了简化使用满二叉树来证明(时间复杂度本来看的就是近似值,多几个节点不影响最终结果): 因此:建堆的时间复杂度为O(N)。 2.4 堆的插入与删除 2.4.1 堆的插入代码:类似于

2024-06-05 20:37:24 848 3

原创 数据结构->排序/插排/希尔排/堆排/二分排/归并/选排/冒排

1.直接选择排序思考非常好理解,但是效率不是很好。实际中很少使用2.时间复杂度:O(N^2)3.空间复杂度:O(1)4.稳定性:不稳定。

2024-06-05 20:35:35 917 1

原创 深入入IAEA底层LinkedList

LinkedList的官方文档LinkedList的底层是双向链表结构链表后面介绍,由于链表没有将元素存储在连续的空间中,元素存储在单独的节点中,然后通过引用将节点连接起来了,因此在在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。双向不循环链表图:在集合框架中,LinkedList也实现了List接口,具体如下:【说明】实现了List接口的底层使用了双向链表没有实现接口,因此LinkedList不支持随机访问。

2024-05-09 16:56:34 1107 69

原创 深度解析:数据结构二叉树(1)

1.2.3.树是一种的数据结构,它是由nn>=0)个有限结点组成一个具有层次关系的集合。。它具有以下的特点:有一个特殊的结点,称为根结点,根结点没有前驱结点除根结点外,其余结点被分成M(M > 0)个互不相交的集合T1T2......Tm,其中每一个集合Ti (1

2024-05-09 16:54:14 1035 51

原创 无脑入单向无头链表的实现| ArrayList和LinkedList的区别

通过源码知道,ArrayList底层使用数组来存储元素。由于其底层是一段连续空间,当,效率比较低,因此。因此:java集合中又引入了LinkedList,即链表结构。链表是一种存储结构,数据元素的是通过链表中的次序实现的。实际中链表的结构非常多样,以下情况组合起来就有8种链表结构:1.2.3.虽然有这么多的链表的结构,但是我们重点掌握两种,一般不会单独用来存数据。实际中更多是作为,如哈希桶、图的邻接表等等。

2024-04-28 17:54:44 1642 98

原创 IDEA的内层实现ArrayList|顺序表实战小项目

线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列...线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。

2024-04-27 17:43:08 1068 43

原创 【JAVASE】手搓异常:如何手动抛出异常|如何构建防御系统|常用异常防御案例|自定义异常类

程序先执行 try 中的代码如果 try 中的代码出现异常, 就会结束 try 中的代码, 看和 catch 中的异常类型是否匹配.如果找到匹配的异常类型, 就会执行 catch 中的代码如果没有找到匹配的异常类型, 就会将异常向上传递到上层调用者.无论是否找到匹配的异常类型, finally 中的代码都会被执行到(在该方法结束之前执行).如果上层调用者也没有处理的了异常, 就继续向上传递.一直到 main 方法也没有合适的代码处理异常, 就会交给 JVM 来进行处理, 此时程序就会异常终止.

2024-04-27 17:41:01 885 18

原创 【JAVASE】包装类&简单认识泛型

一般的类和方法,只能使用具体的类型要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的 代码,这种刻板的限制对代码的束缚就会很大。-----来源《Java编程思想》对泛型的介绍。泛型是在JDK1.5。

2024-04-26 11:23:24 1197 34

原创 JAVASE->数据结构|顺序表底层逻辑

在集合框架中,List是一个接口,继承自Collection。

2024-04-26 11:20:51 842 32

原创 java项目实战之图书管理系统(1)

图书管理系统是一种用于管理图书馆或书店藏书、借阅、归还等相关信息的软件系统。图书管理系统的背景是信息化和自动化的发展需求,旨在提高图书管理的效率、准确性和服务质量,同时为图书馆或书店提供更好的数据支持和管理手段。

2024-04-14 20:14:26 1637 31

原创 c语言->贪吃蛇实战技巧结合EasyX简单实现页面管理(简单实现)

1.游戏背景1.游戏背景贪吃蛇是久负盛名的游戏,它也和俄罗斯⽅块,扫雷等游戏位列经典游戏的⾏列。在编程语⾔的教学中,我们以贪吃蛇为例,从设计到代码实现来提升学⽣的编程能⼒和逻辑能⼒。2.游戏效果演⽰。

2024-04-13 13:39:56 2912 72

空空如也

空空如也

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

TA关注的人

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