- 博客(18)
- 收藏
- 关注
原创 Spring AOP 从入门到原理:一文搞懂面向切面编程与动态代理
AOP,全称为 : Aspect Oriented Programming,意为 面向切面编程。要理解 AOP 这个思想,我们首先要先明白切面是什么,切面指的就是抽出来的公共模块,也可以理解为某一类特定的问题,比如说 用户登录验证啦、方法耗时统计啦等等,都可以被认为是一个切面。而 AOP 就是针对相同类型的切面进行一些统一的处理的思想,而前文中所提到的拦截器就是 AOP 思想的一种体现,简单来说,AOP 就是一种针对某一类事情进行统一处理的一种思想。
2026-10-13 18:51:48
314
原创 传输层协议:从 UDP 到 TCP,深入理解网络通信的基石
在之前的文章中,我们学习了 HTTP 和 HTTPS 协议。但无论是 HTTP 还是 HTTPS,它们最终都要依赖传输层来真正传输数据。。本文就将带你深入理解这两大协议的核心机制,以及它们各自适用的场景。
2026-09-26 20:55:02
173
4
原创 HTTPS 协议详解:对称加密、非对称加密、中间人攻击与数字证书
HTTPS = HTTP + S(SSL/TLS,专门用来加密的应用层协议)由于在HTTP中,数据都是 “ 明文 ” 传输的,就很容易出现网络安全问题,为了解决这个问题,业界内推出了 HTTPS 协议。
2026-09-26 20:54:26
290
5
原创 从零自定义网络协议:应用层协议设计与数据格式选型
我们在自定义一个网络通信协议时,第一步就是要思考我们要通过这个协议传输哪些信息。就以外卖软件为例,当我们作为一个客户端去搜索我们周围的外卖商家时,我们这个搜索的行为会向服务器传输哪些信息呢?经过思考我们可以知道,我们这个请求可能传输的信息有:我们的位置信息(用来检索周围商家)、我们的用户id(确定是我们这个用户下的单)等信息在接收到我们这个请求时,服务器也会做出相对应的响应。那么,这个响应中又可能传输有哪些信息呢?
2026-09-22 10:10:35
208
2
原创 一文搞懂计算机网络基础|局域网广域网、路由器交换机、网络分层、数据封装分用
局域网的定义:小范围、近距离、私有的本地网络,,一般在同一栋楼、同一个房间、一户家庭、一间办公室内特点:距离近、私有ip、速度快延迟低、自己管理、不能被外网访问。
2026-07-14 21:04:04
179
原创 Java多线程(进阶)
在 之前的 Java多线程初阶中,我们主要学习的是更贴合于工作实际情况的内容,而在 本文 Java多线程进阶中,我们主要学习的是贴合于面试中的内容。本文以下的内容主要是以理解与记忆为主,接下来,就让我们一起走入 Java多线陈进阶的学习吧!
2026-07-13 15:49:07
182
原创 Java多线程(初阶)
定时器就和闹钟一样,时间到了,就会去执行一些逻辑。在 Java 标准库中提供有已经定义好的定时器 Timer。当我们创建好一个 Timer 实例后就可以通过该实例调用 schedule 方法来添加任务(TimerTask)并指定在多长时间之后(单位为毫秒)执行。其中,描述任务的方式稍有不同,正常描述任务是用 Runnable ,而在定时器中则是将 Runnable 封装成了 TimerTask 来进行使用。简单实用定时器的示例代码@Override},3000);@Override。
2026-07-08 22:15:00
207
原创 MySQL--存储过程
变量有一个@符用户自定义变量是在SQL会话中的变量,不用提前声明,作用域为当前会话1.触发器是⼀个与表关联的数据库对象,在对表进行insert、update、delete操作时,触发并执行定义触发器时指定的SQL语句2.触发器可以在对表进行的insert、update、delete操作的之前或之后执行,这个时间被称为触发时间3.触发器可以执行SQL语句或逻辑块,用于实施复杂的业务逻辑或数据验证。
2026-05-20 10:43:37
378
3
原创 MySQL -- 索引
MySQL的索引是⼀种,它可以帮助数据库高效地查询、更新数据表中的数据。索引通过 ⼀定的规则排列数据表中的记录,使得对表的查询可以通过对索引的搜索来加快速度。索引就相当于一本书的目录,通过索引这个目录我们就可以快速地找到数据库这本书中我们要查找的内容。提升数据检索的速率。
2026-04-26 09:18:27
382
1
原创 MySQL -- 事务
事务就是将打包成为一个整体,在这组MySQL语句执行的过程中,要么全部成功,要么全部失败,一个事务中的MySQL语句可以有一条或多条,我们平时写的一条条MySQL语句本质上就是一个个只有一条MySQL语句的事务。
2026-04-23 10:01:08
429
2
原创 高阶数据结构(AVL树、红黑树、位图、布隆过滤器、并查集、LRUCache、B-树、图等)
红黑树的结点的定义相较于AVL树来说,只是多了关于结点颜色的定义,而一个结点的初始颜色默认为红色(由上述的性质5可知,对于每个节点到其后代的简单路径上的黑色节点的数目是相同的,如果在红黑树结点的定义中默认结点的颜色为黑色的话,当一个新的结点插入时必然会破环性质5从而导致要对该红黑树进行调整,效率极低)具体的定义如下代码所示//创建的新节点默认为红色@Override//先将头节点和尾巴节点连接起来。
2026-03-31 16:21:14
396
原创 排序(Java)
排序,简单来说就是将一组数据按一种特定的比较方式来递增或增减地将数据重新排列成有序的序列。排序的稳定性:若在一组数据中存在两个或两个以上的相同的数据,在经过一定的排序算法排序后,这些相同的数据的前后顺序不变,那么我们就称这个排序算法是一个稳定的排序,反之,则为不稳定的排序。
2026-03-13 16:32:52
395
原创 类和对象(Java)
class,class Dog{System.out.println(this.name+"汪汪汪");像这样,我们就简单地定义了一个dog类,里面含有能描述dog对象的姓名、年龄、狗叫等信息。创建完狗这个类之后,我们就可以用这个类去创建对象啦!像这样,我们就创建了一个对象,里面包含了类中所有定义地成员变量和方法。创建对象的过程也叫做类的实例化。三.this关键字为了防止混淆,Java中提供了this关键字来帮助我们提高代码的清晰度,避免变量名相同等导致代码显得混乱。
2026-03-13 08:03:26
384
原创 equals方法、comparable接口、comparator接口的使用方法和辨析
介绍:equals方法是在Object类中的一个非private方法,由于所有的Java类中都会默认继承了Object类,所以所有的Java对象都可以调用equals方法。用法:1.直接用来判断基本数据类型是否相等(如int、double类型等),在这个用法上功能与 ”==“ 类似。int a=10;int b=10;比如上述代码的输出结果便是为ture。
2026-02-06 18:34:31
560
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅