自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Maven高级

将项目按照功能拆分成若干个子模块<dependencyManagement>与<dependencies>的区别是什么?<dependencies>是直接依赖,在父工程配置了依赖,子工程会直接继承下来。<dependencyManagement>是统一管理依赖版本,不会直接依赖,还需要在子工程中引入所需依赖(无需指定版本)

2024-07-16 14:52:29 241

原创 Axios 使用和Ajax原理

使用浏览器的 XMLHttpRequest 对象 与服务器通信的一个交互技术例如:浏览器网页中,使用 ajax技术(XHR对象)发起获取省份列表数据的请求,服务器代码响应准备好的省份列表数据给前端,前端拿到数据数组以后,展示到网页上面。

2024-07-16 14:08:29 237

原创 授权认证登录之 Cookie、Session、JWT 详解

第一次访问时,服务端会生成会话seesion对象并存储,对应一个sessionId,并通过http的响应头自动返回,值在Set-cookie里面,本质其实就是一个字符串,常见的令牌技术有很多,例如JWT、OTP、ORTOken、OAuth令牌等以JWT为例进行讲解。

2024-07-15 11:14:19 600

原创 Stream流

stream流是用来高效处理容器数据一种操作。

2024-07-12 11:52:41 238

原创 Lambda表达式、方法引用

>的左边:lambda形参列表,参数的类型都可以省略。如果形参只有一个,则一对()也可以省略->的右边:如果方法体中只有一行执行语句,则一对0可以省略。如果有return关键字则必须一并省略。

2024-07-11 17:31:11 248

原创 HashMap的数据结构

当元素过多的时候,该用什么来代替链表呢?我们想到的就是二叉查找树,这样我们遍历的时间复杂度就会由链表的O(N)变为二叉查找树的O(logN)但是,对于极端情况,当子节点都比父节点大或者小的时候,二叉查找树又会退化成链表,查询复杂度会重新变为O(N),如下所示:所以,我们就需要二叉平衡树(AVL树)出场,他会在每次插入操作时来检查每个节点的左子树和右子树的高度差至多等于1,如果>1,就需要进行左旋或者右旋操作,使其查询复杂度一直维持在O(l0gN)。但是这样就万无一失了吗?

2024-07-02 22:10:25 119

原创 关于重写了equals方法后是否重写hashcode方法

先上结论:重写equals不一定要重写hashcode,特列就是在没有使用容器(集合)时。

2024-06-27 16:42:51 226

原创 Exception基础小测试

请问:上述代码都存在哪些问题?

2024-06-22 21:15:36 105

原创 字符集知识

注意:UTF-8不是一种字符集,它是Unicode字符集的一种实现,只是其中的一种编码方式!由于只能存128个英文,不能存汉字,所以又推出了一些包含汉字的字符集。

2024-06-22 15:10:33 179

原创 Docker部署前后端分离项目

2.将前端静态资源上传至html文件夹,将本地nginx配置文件内容复制至nginx.conf,随后进行一些修改,例如。1.创建父文件夹nginx,里面创建一个html文件夹,在创建一个nginx.conf配置文件。4 .在jar包和Dockerfile文件的目录下,开始构建镜像。2 安装成功后,执行命令,配置Docker的yum源。生成的三个文件夹,将刚刚sql脚本放入init文件夹。1.将本地redis缓存数据移入redis容器。1.使容器都加入一个网络,联通并能互相访问。3.创建nginx容器。

2024-06-21 15:31:33 406

原创 Redis缓存更新策略

原因在于,如果你选择第一种方案,在两个线程并发来访问时,假设线程1先来,他先把缓存删了,此时线程2过来,他查询缓存数据并不存在,此时他写入缓存,当他写入缓存后,线程1再执行更新动作时,实际上写入的就是旧的数据,新的数据被旧数据覆盖了,但实际上两种都有问题,但相对1来说,先操作数据库,再删好一点。缓存更新是redis为了节约内存而设计出来的一个东西,主要是因为内存数据宝贵,当我们向redis插入太多数据,此时就可能会导致缓存中的数据过多,所以redis会对部分数据进行更新,或者把他叫为淘汰更合适。

2024-05-22 22:44:36 170 1

原创 高并发时优惠卷秒杀(单机情况下)

具体操作逻辑如下:比如时间是否充足,如果时间充足,则进一步判断库存是否足够,然后再根据优惠卷id和用户id查询是否已经下过这个订单,如果下过这个订单,则不再下单,否则进行下单​​​​。

2024-05-22 22:01:39 605 1

原创 新学一招:@RequiredArgsConstructor

2.使用lombok下提供的注解,将要注入的字段进行final修饰即可。但是假如字段有很多,岂不是要写很多。1.传统的构造函数注入。

2024-05-14 15:30:00 126

原创 pom.xml显示ignore

是因为刚开始删除了这个模块,后面又创建了一样名字的模块。将底下的勾去掉,重新加载即可!

2024-05-14 13:00:00 195 1

原创 苍穹外卖项目简单总结

JWT及JSON Web Token,是一种在两方之间以紧凑、可验证的形式传输信息的方式,简单来说就是验证用户信息,本项目就是用来验证用户登录信息。

2024-05-14 08:32:58 1117

原创 MySQL

数据定义语言。

2023-11-27 11:41:49 965 1

空空如也

空空如也

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

TA关注的人

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