- 博客(12)
- 收藏
- 关注
原创 面试场景题
进程进来会先看核心线程是否都在执行任务,如果不是就创建新的工作线程执行任务,如果都在执行任务就去看队列满没满,没满进入队列进行等待,满了的话去看最大线程数,如果没到最大线程数就创建临时线程执行任务,线程数到达最大线程数就执行拒绝策略,将剩下的任务进行拒绝。在写代码的时候如果知道有空指针的情况,一般会将代码写在try catch代码块中,在catch中手动处理,如果是在意料之外的情况,统一走全局异常处理器。值传递是方法调用的时候,传递的是实参的拷贝值,对形参的修改不会影响到实参本身。
2025-11-21 16:24:28
821
原创 ElasticSearch入门
在电商项目中,商品中的搜索功能肯定是常用功能,如果搜索功能是基于模糊查询来实现的会出现很多问题,就比如模糊查询会导致索引失效,在数据量大的时候会降低查询性能。并且在搜索的时候只有正好包含了用户输入的关键词才能正确匹配到数据。综上所述,在面临海量数据的搜索,或者有一些复杂搜索需求的时候,推荐使用专门的搜索引擎来实现搜索功能。elasticsearch是一款非常强大的开源搜索引擎,支持的功能非常多,所以我们了解一下Elasticsearch的基本原理和一些基础概念。
2025-11-11 18:27:20
952
原创 MQ的高级知识
摘要:文章详细介绍了如何确保RabbitMQ消息传输的可靠性。从生产者角度,通过开启PublisherConfirm和PublisherReturn机制获取消息投递状态;在MQ层面,通过持久化交换机、队列和消息来保障数据安全;针对消费者,采用确认机制、失败重试策略及异常消息重定向处理来提升可靠性。此外还介绍了幂等性处理、延迟消息等进阶方案,全面构建了从生产到消费各个环节的可靠性保障体系。文中给出了详细的Spring Boot配置代码示例,包括消息确认回调、Lazy队列、错误消息重发布等具体实现。
2025-11-10 17:18:24
964
原创 MQ学习记录
每个只能配置一个,因此我们可以在配置类中统一设置。@Slf4j@Overridelog.error("触发return callback,");});由于每个消息发送时的处理逻辑不一定相同,因此ConfirmCallback需要在每次发消息时定义。具体来说,是在调用RabbitTemplate中的convertAndSend方法时,多传递一个参数:CorrelationData,包含两个核心,id,消息的唯一标示,MQ对不同的消息的回执以此做判断,避免混淆,另一个是。
2025-11-09 22:39:15
1004
原创 微服务学习记录
直接实现GlobalFilter即可,而且也无法设置动态参数,可以在过滤器进行登录校验@Component@Override// 编写过滤器逻辑log.info("打印全局过滤器");// 放行@Override// 过滤器执行顺序,值越小,优先级越高return 0;实现AbstractGatewayFilterFactory@Slf4j@Component//一定要以GatewayFilterFactory为后缀@Override@Override// 获取请求。
2025-11-05 18:19:19
1031
原创 新环境配置
在勾选了lombok的依赖之后,会在pom.xml中引入如下两个插件,由于第一个插件 maven-compiler-plugin 的引入导致了这个问题,解决这个问题的方案呢,就是直接将第一个插件删除即可。稍微等待一会,如果出现没有出现报错信息,则证明data目录初始化没有问题,此时再查看MySQL 目录下已经有data目录生成。安装包下载,输入注册码,连接本地数据库就可以了(只是个可视化工具,和Navicat一样)5、Druid(德鲁伊)功能强大,性能优秀,是Java语言最好的数据库连接池之一。
2025-10-28 20:38:49
1030
原创 Git和Gitee的使用(新手总结)
Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java文件、yml文件、xml文件等),在软件开发过程中被广泛使用。为什么使用Git(Git的作用)?
2025-09-28 18:03:23
846
原创 Docker部署项目总结
Docker容器化部署实践摘要:本文介绍了Docker的基本概念和使用方法,包括镜像管理、容器操作、数据卷挂载等核心功能。详细讲解了MySQL、Nginx和Java项目的容器化部署步骤,涉及端口映射、环境变量配置、数据持久化等关键技术。文章还涵盖了Dockerfile编写、容器网络配置以及docker-compose编排工具的使用方法,提供了一套完整的项目容器化部署方案,帮助开发者实现跨平台应用部署和环境一致性管理。
2025-09-25 20:50:59
1014
原创 若依项目部署到CentOS上没有验证码怎么解决?
因为请求路径要去的是8080端口的captchalmage,而前端发送的请求是prod-api/captchalmage,所以可以在nginx的配置文件里面增加反向代理,让前端请求prod-api的时候请求的是8080端口号,打开虚拟机nginx的conf文件夹,打开nginx.conf文件,增加反向代理。有get请求,后面的captchalmage应该是后端代码中的mapping路径(采用的是若依的前后端分离的项目),打开若依的java代码,查找captchalmage。
2025-09-24 17:59:31
625
原创 Linux系统部署项目流程总结
本文详细介绍了在Linux系统(CentOS7)上部署项目的完整流程。主要包括:1)通过解压配置安装JDK17并设置环境变量;2)卸载系统自带mariadb后安装MySQL8.0,完成初始化、配置远程访问;3)防火墙端口配置(开放3306、8080、80端口);4)Nginx1.20.2的编译安装与配置;5)后端SpringBoot项目的打包部署(使用nohup后台运行);6)前端项目部署到Nginx并配置反向代理。文档提供了完整的命令行操作步骤,涵盖了从环境搭建到前后端部署的全过程,适合作为Linux环境
2025-09-23 17:03:41
1254
原创 无法使用SSH远程连接本地的Ubuntu怎么办?
摘要:解决Finalshell连接Ubuntu虚拟机报错"Connection refused"的问题,原因是Ubuntu默认未安装SSH服务端。解决方法:1)安装openssh-server并启动服务;2)设置开机自启;3)检查防火墙状态,必要时开放22端口;4)获取虚拟机IP地址。核心步骤为安装SSH服务端、配置防火墙和获取IP地址,完成这三步即可实现远程连接。
2025-09-22 17:31:28
367
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅