自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 window关闭端口程序

找到对应的进程ID(PID),然后使用 taskkill /F /PID pid_number 来停止该进程。输入 netstat -ano | findstr :8080 来查找使用8080端口的进程。

2024-09-10 08:15:17 182

原创 java大文件分片上传

java大文件分片上传

2024-09-05 19:07:45 713

原创 java和js计算文件的SHA-256哈希值

需要做分片上传,需要在分片合成文件之后校验这个合成的文件是否和上传的一直,具体就是对文件取hash值,于是选择SHA-256取文件哈希值,自己测试之后没问题,特此分享。

2024-09-03 19:10:54 385

原创 canal同步es数据到mysql

所以导致在查询id的时候找不到,导致报空指针异常,就很蒙比,我在想会不会是从mysql里面查的不是最新的表结构,重启mysql,重启canal。日志中发现从mysql数据库中查到的内容和mysql的字段没有对应,数据库中的主键是id,但是canal查出来的竟然是article_id。ok啦铁子,没毛病,但是我不能笃定问题在这,于是我有重新创建了es索引和mysql表,然后同步mysql数据到es中。看了官网和网上各种文档都没找到原因,于是就取找canal报错位置的源码,打印内容重新打包,使用这个jar。

2024-08-04 11:43:27 323

原创 java操作ElasticSearch(包含聚合查询)

java操作ElasticSearch(包含聚合查询)

2024-08-01 19:21:42 325

原创 ElasticSearch入门语法基础知识

ElasticSearch入门语法基础知识

2024-07-31 19:17:15 274

原创 若依前后端分离项目无感知刷新token整合

当accessToken过期的时候,会响应401,在前端响应拦截器中拦截到响应结果,然后带着refreshToken去发起请求,根据refreshToken生成新的accessToken返回给前端,再重新执行原请求。1、 首先就是我们登录成功的时候要返回两个token标识给前端,accessToken(权限认证token)和refreshToken(无感刷新token)2、前端将token保存起来。

2024-07-28 14:19:06 498

原创 windows下mysql开启慢sql监控

windows下mysql开启慢sql监控。

2024-07-22 19:57:04 302

原创 MySQL 是怎么加行级锁的?

mysql怎么加行级锁

2024-07-19 16:29:16 238

原创 mabatis批量查询总耗时问题

在MyBatis框架中,将大量数据的查询合并为一个包含UNION ALL的大查询,理论上可以减少数据库的查询次数,从而提高效率。java的mabatis框架中,我有10万条数据,需要查询数据库10万次,因为返回结果一样,我决定把他们union all 拼起来一起查询,我8000条一次查询,总耗时为什么比5000条一次查询还慢。

2024-07-16 10:40:04 181

原创 ERROR: stack depth limit exceeded HINT: Increase the configuration parameter “max_stack_depth”

检查平台限制:HINT 提醒你,在增加 max_stack_depth 之前,确保你的操作系统或平台的堆栈深度限制是足够的。不同的操作系统可能有不同的堆栈大小限制,如果 PostgreSQL 的设置超过了这个限制,可能会导致问题。使用物化视图或临时表:如果查询涉及到大量的数据和复杂的计算,考虑使用物化视图或临时表来存储中间结果,这样可以减少单个查询的复杂性。有时候,复杂的查询或大量的递归调用可能会导致堆栈深度超出限制。当你看到这条错误信息时,意味着你的查询或事务可能需要比当前设置更多的堆栈空间。

2024-07-16 09:55:34 512 4

原创 PreparedStatement can have at most 65535 parameters

在 JDBC 中,由于内部实现的限制,PreparedStatement 能够接受的参数个数不能超过 65,535 个。在实现上述任何一种策略之前,请确保你已经测试了它们的性能和效果,以选择最适合你情况的方法。

2024-07-16 09:42:27 369

原创 vue父组件样式穿透修改子组件样式

vue父组件样式穿透修改子组件样式。

2024-07-13 17:35:29 380

原创 java.lang.NoSuchMethodError: okhttp3.RequestBody.create()

准备写一个springboot的sdk,经过测试代码没什么问题就打成sdk,给其他项目调用,但是在调用过程中,系统抛异常说这个方法找不到,很纳闷,于是乎查百度、问ai,发现是版本问题;可以把版本退回到3.14.9,或者使用的方法必须是3.14.9版本中有的才行,否则就会报错。

2024-07-12 14:58:35 338

原创 java调用kimi大模型聊天接口

一个kimi大模型api的调用工具,传入一个apiKey即可对kimi聊天。

2024-07-11 09:42:28 1106

原创 mysql查询语句执行流程

mysql查询语句底层执行流程

2024-07-09 17:14:50 166

原创 redis命令的底层执行流程

检查缓冲区状态:写入前,Redis 会检查输出缓冲区的状态:如果缓冲区还有足够空间,响应数据会被写入缓冲区。写事件触发:当操作系统缓冲区有足够空间时,epoll 触发写事件,Redis 收到通知后会尝试发送剩余的数据。注册写事件:如果数据没有立即发送,Redis 会注册写事件,以便在操作系统缓冲区有空间时继续发送数据。操作系统缓冲区:数据首先被写入到操作系统的缓冲区,然后由操作系统负责将数据发送到网络。缓冲区满了:如果操作系统的缓冲区已满,Redis 会等待缓冲区有足够空间后再发送数据。

2024-07-08 21:00:43 177

原创 vue在线预览excel、pdf、word文件

在线预览文件

2024-07-08 16:38:47 826

原创 redis的Bitmap 、HyperLogLog、Geo相关命令和相关场景

redis的Bitmap 相关命令和相关场景

2024-07-05 09:38:06 489

原创 openfegin中动态添加请求头

1、在Feign接口的方法上使用 @RequestHeader 注解,并在方法的参数中传入动态值。

2024-07-04 16:38:44 411

原创 一致性hash

(Consistent Hashing)是一种特殊的哈希算法,它在分布式系统中用于解决节点(如缓存或数据库分片)动态变化时的数据分布问题。一致性哈希由麻省理工学院的Karger和Ruhl提出,主要用于解决缓存分布式中的一些问题。

2024-07-02 21:09:00 261

原创 redis相关命令(string hash list set zset)

应用场景:常规计数、分布式锁、共享 Session 信息。

2024-07-02 19:56:56 286

原创 uniapp组件通讯

uniapp组件通讯

2024-07-02 10:06:30 410

原创 后台管理系统通用表结构

后台管理系统的设计通常需要考虑以下几个关键的表:后台管理系统的表结构设计:

2024-06-27 11:36:08 965

原创 前后端中的cookie和session

的Set-Cookie响应头后,浏览器会自动保存这个Cookie(只要浏览器设置允许使用Cookie)。对于后续发送到同一域名下的所有请求,浏览器会自动在HTTP请求头中附加这个。这样,服务器就可以识别出这是同一个会话,维持用户的登录状态和会话数据。:当用户成功登录后,服务器会创建一个新的Session(如果之前还没有的话),并生成一个唯一的。实际上,在大多数Web应用中,这个过程通常是自动处理的,不需要手动操作。:因此,在初次登录后,每当用户浏览应用程序的不同页面或发出Ajax请求时,浏览器会自动将。

2024-06-26 22:56:20 550

原创 使用 zkCli 操作 ZooKeeper 节点

【代码】使用 zkCli 操作 ZooKeeper 节点。

2024-06-13 19:37:21 196

原创 java单体服务自定义锁名称工具类

同样,释放锁也只是改变锁的状态,使其可以被其他线程获取,这同样是一个轻量级的操作。操作员能够对自己权限下的用户数据进行数据填充,但是不同操作员之间可能会有重复的用户数据,为了避免操作员覆盖数据或者重复操作数据,应该在操作用户数据时加锁,要求加的这一把锁必须是细粒度的锁,不能锁住所有用户的操作 ,只锁当前操作用户,锁的名字为用户id,在获取到锁之后执行业务操作,否则阻塞等待, 这个单体服务锁工具如何设计?确保你的应用程序有适当的机制来管理资源,避免无限制地添加新的锁。

2024-06-12 14:17:26 552 3

原创 sockjs-client和stompjs连接websocket服务被拒绝导致vue项目崩溃问题

3、解决方式:因为当前版本的socketjs内部没有捕捉连接失败抛出的异常,所以最好的解决方式就是对websocket服务器进行健康检查,如果请求服务器有响应说明没挂进行连接,否则就舍弃websocket相关应用,舍车保帅,保证nodejs服务的正常运行。

2024-06-12 09:52:44 591

原创 ConcurrentHashMap 方法的详细介绍

虽然 ConcurrentHashMap 提供了高并发性能,但在极端情况下仍可能遇到性能问题。因此,应合理评估应用场景和并发级别。ConcurrentHashMap 不支持 null 键或值,尝试插入 null 键或值将抛出 NullPointerException。在遍历 ConcurrentHashMap 时,应注意其他线程可能会修改映射,这可能导致遍历过程中出现意外的行为。综上所述,ConcurrentHashMap。

2024-06-06 08:19:10 733

原创 springboot请求中创建对象的被回收的过程

对于定义为请求作用域(@RequestScope 或 @Scope(“request”))的Bean,Spring容器会在每个请求中创建一个新的实例,并在请求结束时销毁这个实例。在控制器(Controller)的方法中,可能会创建一些对象,例如服务(Service)层的实例、数据传输对象(DTO)、命令对象(Command Object)等。请求结束后,请求作用域的Bean被销毁,它们持有的所有引用(包括对请求过程中创建的对象的引用)也会被清除。

2024-06-05 19:49:21 334

原创 java判断对象是否还在被引用

java判断对象是否还在被引用

2024-06-05 19:29:07 523

原创 js空数据校验工具Boolean

所有其他值都会被转换为 true。

2024-05-30 10:11:28 110

原创 vue中将文字复制到剪贴板

【代码】vue中将文字复制到剪贴板。

2024-05-30 08:42:49 1462 1

原创 java自定义注解+aop实现

java自定义注解+aop实现。

2024-05-17 10:57:48 160

原创 在Java中,如果使用foreach循环修改List集合中的元素,那么原List中的内容确实会发生变化

如果在foreach循环中对List中的对象进行修改,那么原List中的对象确实会被修改。通过这个引用的副本,可以访问并修改对象的属性,而这些修改会反映到原List中的对象上。:Java中的对象存储在堆内存中,而变量(包括List中的引用)存储在栈内存中。当通过foreach循环修改List中的对象时,实际上是在修改堆中的对象,因此List中对应的引用指向的对象也会被修改。:尽管可以在foreach循环中修改List中的对象,但是不能通过foreach循环来添加或删除List中的元素。

2024-05-16 08:29:55 906

原创 pgsql中如何in数组

这个查询将从表中选择所有id等于1、2或3的行。你可以将数组中的值替换为你的字符串数组。unnest 函数将数组展开为一组行,然后 IN 子句用来匹配这些行。

2024-05-16 08:26:49 626

原创 pgsql的存储过程中$$ 和$dbvis$有什么区别

1、$$:通常用于创建函数或存储过程时,定义PL/pgSQL代码块的开始和结束。这种语法要求在创建函数或存储过程时,将整个PL/pgSQL代码块包含在两个$$符号之间。这是创建函数或存储过程时最常见的用法。2、$dbvis$:是一种特殊的代码块语法,用于DBVIS(数据库可视化)工具中。它允许在代码块中使用特殊的变量引用方式,这些变量在执行期间会被替换为实际值。这种语法主要用于DBVIS工具中的动态SQL执行,不是标准的PL/pgSQL代码块定义方式。

2024-05-15 09:31:01 425

原创 pgsql执行动态sql语句的存储过程

上述代码创建了一个名为get_employee_details的存储过程,该过程接受一个参数:p_employee_id表示员工ID。存储过程返回一个表,包含员工的详细信息,包括员工ID、名字、姓氏和部门名称。**

2024-05-15 09:24:32 623

原创 SQL语句作为参数传入mybatis执行

只需要写好sql语句参数准备好传进去,mybatis会自动进行映射。

2024-05-14 15:15:25 322

原创 vue组件循环依赖

在这种情况下,虽然它们循环引用,但只要它们不是在创建时就相互引用(例如在created或mounted钩子中),通常不会有问题。Vue的响应式系统会确保只有在实际需要时才渲染相关组件。2、解决方式:使用异步注册。

2024-05-11 08:45:03 421

空空如也

空空如也

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

TA关注的人

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