自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot项目中读取resource目录下的文件(六种方法)

源码里还是方法三、方法四,只不过做了一些封装,更方便开发。2)启动jar包指令。

2024-05-07 16:44:22 12811

原创 IDEA 格式化代码快捷键失灵

排查了很久,查了很多文章,最后发现是网易云的全局快捷键搞的鬼,快捷键冲突了,大家可以看看目前开了什么软件,一个个关掉,再尝试是否可以格式化了。Mac快捷键:option(⌥) + command(⌘) + L)Win快捷键:Ctrl + Alt + L。

2024-05-06 00:37:23 310

原创 项目上线后,前端与后端分别处于不同ip,前端每发一次请求,SessionID都会改变

原因:之前本地测试,ip相同,端口不同,所以我们配置了跨域,使得请求成功携带了sessionId。但现在直接是ip不同,就导致跨源了,跨源是不允许携带cookie的,所以你即使配置了跨域也是没作用的,cookie带不过去。要注意的是,配置了代理后,你的请求必须发送到前端的启动的ip:prot上,比如我这前端启动的是localhsot:80,那么请求也应该发送到localhsot:80。解决:居然跨源不允许携带cookie,那我们就想办法让他们同源,最简单的就是。

2024-03-10 18:37:18 495

原创 Callable接口与FutureTask类

进行实现,这个Callable实现类会提供一个call()方法,调用这个方法就会执行实现类中call()方法的并且返回执行结果,但是Callable实现类并不能作为传入。现在有一个需求,是异步执行一段代码,然后主线程去干其他事情,等过一会我需要这段代码的执行结果时,我需要去获取到这段代码的执行结果。2)构造器中传入的就是Callable的实现类,在FutureTask的run()方法中就。3)FutureTask创建的线程在执行之后,调用FutureTask的。的参数,因为他没实现Runable。

2023-11-20 00:11:13 137

原创 CopyOnWriteArrayList的原理及与Vector的区别

这样的特性也使得它只有在多个线程间一起写时会阻塞,而读写、读读并不会阻塞try {size++;这写的方法都已经上锁了,还CopyOnWrite,不是脱裤子放屁嘛,这不是跟Vector一样吗?【精选】Volatile关键字的作用_FighterLiu的博客-CSDN博客假设有一个共同变量一般情况下,如果线程A先读取了这个变量为false,线程B中再去修改flag为true,无论A去读取多少次flag,它永远都是false,因为默认情况下多线程之间是不可见的。

2023-11-17 23:05:12 178 1

原创 OpenFeign的使用及接口中方法参数踩坑

1) 只有oj-backend-service-client(公共服务接口模块)需要导入OpenFeign依赖,启动时报错缺少负载均衡器依赖,父工程中添加。3) xxxFeignClient中的方法标记好@GetMapping…和@RequestBody…,其中name 是服务注册在Nacos中的名字,path会为下面的每一个方法都加上这个前缀。2) xxxFeignClient的类加上。4)业务模块的启动类加上两个注解。

2023-11-01 23:18:48 193 1

原创 分布式Session登录态失效

问题探究:Debug发现,不同模块的sessionID都不一样,并且HttpServletRequest的实现类已经变成了。在登陆后发现,只有在User模块内才能获取到用户的登录态,而其他模块从Session获取到的登录态为空。1)application.yaml添加Redis配置,并且设置Session的type为Redis。,所以Redis分布式Sessin配置地没有问题,可以确定是前端发送请求的问题。3)主类取消Redis自动配置的移除。

2023-11-01 23:13:17 253 1

原创 2023.7.24

【代码】2023.7.24。

2023-07-25 00:17:43 224

原创 2023.7.23

昨天(7.22)搞了一个@RestControllerAdvice + @ExceptionHandler 实现的全局异常处理器,专门处理AuthenticationException这种认证时异常,结果今天发现,如果用户未登录时访问需要登陆才能访问的资源,只会报403,全局异常处理器根本捕获不了,原因是全局异常处理器只能捕获Controller层的异常,而未登录的异常是在过滤器链中被抛出的,根本就捕获不了。

2023-07-24 00:22:38 53

原创 2023.7.22 SpringSercurity Session登录态 数据校验

有状态应用:cookie+session+spring session redis。

2023-07-23 00:16:57 112

原创 2023.6.8 RabbitMQ

​ MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。

2023-06-08 22:08:07 60

原创 2023.6.6 异步化 线程池

不用等一件事做完,就可以做另外一件事情。等第一件事完成时,可以收到一个通知,通知你这件事做好了,你可以再进行后续处理。(烧水的时候,水壶有一个蜂鸣器;烧水时人可以同时处理工作。水烧好后,人能听到声音,就知道水烧好了)这里假设corePoolSize(核心线程数)=2,maximumPoolSize(最大线程数)=4,workQueue(工作队列)的长度为4。一件事情做完,再做另外一件事情。一般情况下,任务分为。密集型和计算密集型两种。

2023-06-07 00:43:08 61

原创 2023.6.5 检查文件上传的安全性 数据存储优化 限流

垂直分库,指的是根据业务模块的不同,将不同的字段或表分到不同的数据库中。:水平分表是将同一张表中的数据按一定的规则划分到不同的物理存储位置上,以达到分摊单张表的数据及访问压力的目的。**补充:**比如下图这张表,我只想要x,y这两列,就要先把所有的原始数据查出来,然后再去做过滤。**规状:**找们巴每个图表的泉始数居全部存放仕了同一个数居表(chart表)的字段里。**问题:**使用系统是需要消耗成本的,用户有可能疯狂刷量,让你破产。**思考:**限流阈值多大合适?**比如:**我们的。

2023-06-06 01:55:13 260

原创 聚合搜索项目记录

前端源码地址:https://github.com/z-h-u-a-i/junso-frontend后端源码地址:https://github.com/z-h-u-a-i/junso-backend

2023-04-06 11:11:39 644

原创 Linux学习笔记

ls -ahl:在ls指令加了-l选项后的这一列就是文件的相关权限(共10位)第1位确定文件或目录的类型**l:**是链接,代表windows的快捷方式**d:**是目录,代表windows的文件**c:**是字符设备文件:鼠标,键盘**b:**是块设备,比如硬盘**-:**是普通文件,例如 .txt第 1-3 位确定文件所有者对该文件或目录的操作权限**-:**普通占位,凑够10位**r:**可读,代表可以用 ls 查看目录内容、cd进入目录、tab补全文件名。

2023-04-06 11:02:37 657

原创 Vue学习笔记

备注:props是只读的,Vue底层会监测你对props的修改,如果进行了修改,就会发出警告,若业务需求确实需要修改,那么请复制props的内容到data中一份,然后去修改data中的数据。用处:当我们需要监视data域中的一个对象內部值的变化时,就需要用到深度监视,因为处于效率原因,Vue默认是浅度监视,也就是说只是监视当前监视对象的地址是否发生改变,而对象里面的数据是否发生改变并不能监视到。理解:数据在组件的自身,但根据数据生成的结构需要组件的使用者来决定。

2023-04-04 20:16:01 444

原创 Git学习笔记

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)

2023-04-04 20:15:26 134

原创 CSS学习笔记

1.1语法格式:标签名 {} 会将此页面中所有的此类标签都选中1.2语法格式:.类名 {}在HTML标签中使用class="类名"来继承类,class="类名1 类名2"来继承多个类类可以被多个标签调用类名有多个单词时用短横线'-'分割见名知意,特定场景用以下类名:头:header内容:content/container尾:footer导航:nav侧栏:sidebar栏目:column页面外围控制整体布局宽度:wrapper左右中:left right center。

2023-04-04 19:37:10 472

原创 JavaScript学习笔记

JavaScript学习笔记

2023-04-04 19:29:22 52

原创 Ajax学习笔记

Ajax

2023-03-22 21:23:17 56

原创 千禧计算机组入队问题

千禧科技计算机组招新

2023-03-18 15:35:57 189

原创 JavaWeb学习笔记(总结)

http://localhost:8080/qqZone_ssmjar/page.do?operate=page&page=login一、访问这个URL,执行的过程是什么样的?1)中央控制器DispatcherServlet拦截(urlPattern -> *.do) ,再通过request.getServletPath()获取到"/page.do"2)处理字符串,将/page.do变为page,用page当作key去IOC容器(BeanFactory)中寻找value值,即Pag

2022-05-31 20:22:19 743

原创 浅学Java图形化编程笔记

package com.zjh.draw;import javax.swing.*;import java.awt.*;public class DrawCircle extends JFrame {//2.继承JFrame, Frame(框架) JFrame相当于一个画框 private MyPanel mp = null;//3.定义一个面板 public static void main(String[] args) { //11.new一个创建好的窗口 .

2022-03-05 13:43:37 422

原创 idea中debug的step into失效的解决方案

这篇文章是写给那些把其他文章都翻了个遍的读者,这里也讲一下常规的解决方法吧点开File->setting->Build,Exception,Deployment->Debugger->Stepping->Do not step into the classes里面的java.*和javax.*前面的勾勾取消掉,然后就可以进去了。但是对于一下特殊情况(没有取消掉上面的勾勾点击强制步入也进不了源码,取消了之后step into也进不去源码)就需要特殊处理,本...

2022-02-28 22:05:10 896 2

空空如也

空空如也

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

TA关注的人

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