自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 所以spring mvc异常处理工作原理是啥

spring mvc有下面三种方式实现异常处理:实现handlerExceptionResolver+@Component(上古版本)controller里耦合@ExceptionHandler(优先级最高)@ControllerAdvice+@ExceptionHandler(最常用)1.在对应类实现spring的异常处理核心组件handlerExceptionResolver+@Component(在多个异常执行时的优先级最低,并且麻烦,最早期的异常处理)

2024-06-15 18:58:56 789

原创 security如何保存用户信息,如何获取用户信息(一)(含部分securityHolder源码分析)

SecurityContextPersistenceFilter 先从HttpSession中读取SecurityContext出来,存入SecurityContextHolder以备后续使用,当请求离开SecurityContextPersistenceFilter的时候,获取最新的SecurityContext并存入HttpSession中,同时清空SecurityContextHolder中的登录信息。但对于我们的前后端分离的情况,一般都用jwt,若开启session(默认),那么每次。

2024-05-19 15:38:09 430

原创 springBoot+springSecurity基本认证流程

对应springboot版本,直接加依赖,这样版本不会错比如我这里是2.6.4的版本。对应的springSecurity版本是5.6.x没找到springSecurity对应springboot依赖对应表但springboot2.x基本对应security的5.x版本3.x对应6.x版本。

2024-05-18 15:33:50 461 1

原创 为什么一些网站要询问您是否接受cookies,所以到底什么是cookie?token?session?CSRF呢?例子?通俗一点

cookie可以保存:网站名称和唯一对话ID,浏览历史记录,首选项与权限,访问次数,对话持续时间,点击的链接,登录凭证(包含使用者名称和密码),地理标记(地理位置和IP地址),个人数据(如电话号码和邮政编码),购物车活动

2024-05-18 13:37:33 631

原创 电商商品模块就该这么设计

不加任何业务,电商中商品的设计应该有这些属性设计如何区分规格和参数:加个字段分类加parent_id分层设计库存sku_code编码某一规格下的商品的库存 sp_data来区分评论商品对评论,1对N回复评论品牌商品对品牌,N对1。

2024-05-14 15:22:11 954

原创 冒泡排序(思路,代码,优化详解)

每一轮循环,俩俩比较,冒泡出一个最值,经过最多length-1次循环,把数组排序。判断数组何时已经排好序,i不再多余循环 = > 记录标志位isSwap判断数组已经排好序的范围,j不要多余遍历 => 设置结束边界lastSwapIndexallslide=6-6。

2024-05-04 16:03:46 580

原创 数组算法——差分数组

时间复杂度为O(n2)空间复杂度为O(1)(这里没有考虑res)如下图所示Q:为什么要构造这个数组呢?A:因为diff数组记录了nums相邻元素的关系,对于差分数组diff,闭区间元素的整体的±是有下面的规律的而本题需要的是从[i,j]同时+或-来统计从i站到j站 车上的乘客人数。时间复杂度为O(n)空间复杂度为O(n)

2024-02-19 21:03:14 354

原创 leetcode——数组算法——前缀和构建和应用

n维数组如何构建前缀和,如何使用前缀和前缀和技巧适用于快速、频繁地计算一个索引区间内的元素之和。

2024-02-13 22:37:06 907

原创 java——ip黑名单设计方案(大全+实战)

思路:将黑名单ip存入一个txt文件中(置于resources下),用一个bean去加载文件内容,并存入一个Set中。然后自定义拦截器,去对ip进行检查。过滤器依赖于Servlet容器,并且不能获取IOC容器的bean,所以springboot一般不用自定义filter去搞这种,因为不能注入service等@bean。很难受Q:为什么过滤器不能获取IOC容器的bean吗,而拦截器可以A:过滤器由Servlet容器管理(Tomcat,Netty),它的初始化在spring之前。

2024-01-29 19:58:04 1911 1

原创 jvm监控工具:visualVM

virtualVM帮助java开发者快速定位死锁问题

2024-01-22 23:39:39 1211 5

原创 java百万级mysql数据导入excel(多线程)

easyExcel+多线程实战导出excel源码

2024-01-22 09:00:00 1558 1

原创 springboot+ftp服务器上传图片推荐方案

关于前后端交互图片等二进制数据,我们在方案选择上无非要注重的是下面几点:前端怎么传?后端怎么接收?接收要干什么?怎么保存?保存到哪?

2023-11-17 21:14:18 165

原创 RabbitMQ消息队列(二):业务实战订单超时处理

本文主要讲解RabbitMq如何处理超时业务,默认您已经对消息队列RabbitMq已经有了基础了解。声明一个延时交换机,一个死信交换机,一个延时队列,一个处理死信队列,并绑定。🤞我是小酥肉 ,喜欢简单 ,期待您的留言👌。我们可以配置队列TTL或者消息TTL。声明一个生产者,一个消费者,并绑定。❤️弱水三千,只取一瓢饮❤️。在控制器注入生产者,发送消息。❤️弱水三千,只取一瓢饮❤️。后,若该订单超过1天没有被。现在有一个需求:订单被。,则手动处理该超时订单。可以看我之前写的博客。

2023-11-14 23:56:51 717 1

原创 java spring 处理跨域

当请求违反了浏览器同源策略,会印发跨域解决跨域的方式就是添加对应请求头(由cors标准规定的请求头),一般是后端处理可以在servelt容器层处理跨域(filter)也可以在spring mvc层处理跨域(WebMvcConfigure全局配置,拦截器,@CrossOrigin),可以根据自己的需求确定颗粒度filter不可以用bean,而mvc框架的配置则可以(WebMvcConfigure)注意:跨域的方式还有很多。比如网关层:cloud gataway,nginx。

2023-11-09 23:18:21 69 1

原创 RabbitMQ消息队列(一):快速上手和理解消息队列

快速理解 RabbitMQ

2023-10-27 17:01:04 133 1

原创 [springboot] 详述springboot通用开发架构

vo:视图对象,最终返回给前端视图的对象,一般是对baseResponse响应的对象做一些处理,让它可以被前端更好更方便地处理(比如用户脱敏操作,你后端不做前端就得做)如上所示,添加一个user,我们需要填充他的userName,userAccount,userAvatar等等,这里的字段就是前端的一些表单之类所要的。),提示信息(资源不存在?ErrorCode定义了不同错误的枚举,每个枚举都拥有自己的code,message,这将作为baseResponse 企图返回的错误。更符合DDD的模块设计。

2023-10-05 14:26:55 53

原创 java 项目里 自动生成唯一用户名

hutool的UUID雪花算法,可以分布式唯一随机UUID(高性能)定义一个用户名生成规则,包括用户名的长度、字符集和组成规则。Autowired自动装配(但不能自动装配static的)遇到问题:springboot 普通类怎么使用DAO。检查生成的用户名是否已存在,如果存在则重新生成。将生成的用户名保存到数据库或其他持久化存储中。配合RandomStringUtils等工具包。生成随机字符串作为用户名。

2023-09-24 14:37:49 834 1

原创 二叉树基础3:二叉树的深度问题/直径问题

如何计算二叉树的深度问题引申为直径问题呢?

2023-09-18 13:57:13 81 1

原创 二叉树基础2:计算二叉树的节点个数(根据二叉树类型)

从普通二叉树到根据满二叉树,完全二叉树的特点 求二叉树节点个数

2023-09-17 19:26:39 2384 1

原创 二叉树基础1:如何判断二叉树类型(基础篇)

满二叉树,完全二叉树,二叉搜索树的判定特点分析+判断思路+java代码

2023-09-17 13:59:32 455 1

原创 操作系统实习:模拟最高动态优先进程调度

编写并调试一个模拟的进程调度程序,采用“最高动态优先数优先”调度算法对五个进程进行调度。

2023-05-05 21:10:13 113

原创 servlet对象生命周期

初学servlet:生命周期

2023-01-25 21:01:41 80

原创 初学servlet,idea中写servlet+jdbc

用idea从0到1写一个servlet+jdbc

2023-01-25 01:38:31 338

原创 linux下用yum安装tomcat+教训

本来用yum去获取就是不想解压和配置环境变量了,直接一步到位。还不如老老实实从官网下载压缩包,自己配置CATALINA_HOME哪些环境变量呢…然后就去浏览器(虚拟机)输入127.0.0.1:8080(http),然后页面空白无反应。还是要了解清楚yum下载到的包全不全啊!发现8005,8009,8080,8443都在占用。然后面向百度编程了半小时,心态真的有点不行了。Linux下用yum下载tomcat。但是status却是running。看了一下占用端口是否冲突,也没有。然后开放了一下防火墙的端口。

2023-01-20 17:46:32 855

原创 js基础:闭包基本概念

闭包是一种现象,指的是那些引用了其他函数作用域下的变量的函数(js红宝书原文)。通常是在嵌套函数中出现的(套娃)产生的原因:js的作用域链机制和垃圾回收机制。

2022-11-22 16:08:05 156

原创 js基础:执行上下文和作用域链

参考JavaScript高级程序设计阐述了js的执行上下文和作用域链机制

2022-11-19 22:14:24 137

原创 js基础:数据类型

复习javascript高级程序设计详述了js中的数据类型,重点复习了模板字符串

2022-11-15 21:07:12 227

原创 js基础复习:变量

复习《JavaScript高级程序设计》详叙变量声明的let,var,const用法及其各自特点详叙for循环中let和var声明迭代变量的不同

2022-11-13 22:25:12 263 1

原创 vuex基本了解

vuex何时使用?工作原理?本文你会对vuex有一个基本了解,详情看vuex官方文档

2022-11-08 23:06:37 100

空空如也

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

TA关注的人

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