自定义博客皮肤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微服务+dubbo框架,某一服务启动时提示多个bean存在

用于注入Dubbo服务代理对象,适用于远程调用。@Autowired用于注入Spring容器中的Bean,适用于本地调用。根据你的需求选择合适的注解,避免冲突。如果你引用的类是本地Spring Bean,使用@Autowired是正确的选择。如果你需要远程调用,确保使用并且避免Bean冲突。

2025-02-19 15:19:33 556

原创 为什么扫描二维码时返回数据会缺失

后来发现是因为在程序内部去调用生成二维码的接口时,因为在拼接的url中含有了&特殊字符,这种情况下内部去调用生成二维码的接口时,会因为存在&特殊字符,把&字符后面的拼接的参数当成了一个新的参数,而不是和原来的url地址绑定在一起,这样就导致生成的二维码中的文本信息会缺少。经过调整,把拼接的参数当成一个新的参数,重新获取并进行拼接,保证数据的完整性,这样修改完之后在去扫码就可以获取完整的文本信息了。新增参数之后,直接通过生成二维码的api接口时是可以正常生成二维码且二维码中含有的文本信息是完整的。

2025-02-14 10:55:05 238

原创 Java中常见分页方式有哪些

适用于查询速度较快的数据库,否则大数据量情况下offset会导致性能下降。在java中实现分页的方式有几种主要方式,可以根据场景选择合适的分页方式。是 MyBatis 的分页插件,可以自动处理 SQL 分页。如果数据存在redis中,(如排行榜、缓存分页等),可以使用。适用于大数据量分页,不需要在java内存中处理大量数据。在数据量不大的情况下,可以手动截取List()进行分页。在sql查询时,使用limit和offset进行分页,在mybatis-plus中使用分页。直接在数据库处理分页,效率高。

2025-02-11 13:53:54 959

原创 为什么有时候在使用@Value注解在获取配置时,拿不到配置信息

通常,spring boot会自动处理,但如果你是要的是自定义的配置类,可能会需要@ConfigurationProperties或者@EnableConfigurationProperties。注解无法获取配置数据,通常是由于配置文件未正确加载、属性名不匹配、Spring上下文未正确初始化等原因导致的。确保配置类被spring boot 扫描到,如果使用自定义的包扫描路径,确保配置类所在的包在扫描范围内。如果使用的是自定义的配置文件,确保在配置类上使用了@PropertySource注解来指定文件路径。

2025-02-08 17:31:15 2779

原创 在spring boot 项目中远程调用时,如果使用subList()方法报错原因分析

解决方法是把subList()的结果转换为新的ArrayList或者其他可序列化的集合类型,确保在远程调用时能够正常进行序列化和反序列化,保证数据能够正确传输和处理。为避免出现这些问题,可以在远程调用中避免直接使用subList(),而是将其转化为内ArraList或者其他可序列化的集合类型。在spring boot 项目调式中,接口一直报错,后来才发现是因为在微服务中,远程调用接口时,如果方法中包含。ArrayList.subList()返回的是一个视图(subList),而不是一个新的独立列表。

2025-02-07 17:21:30 487

原创 Java异步执行任务方法简单了解

从而优化整体用户体验。我们简单了解一下Java中异步执行任务的方法有那些。适用于简单的异步任务,但不推荐手动管理线程,推荐使用线程池。适用于手动管理线程池,可以更好的控制线程数量和生命周期。1.使用CompletableFuture。适用于大规模递归计算(如分治算法)(适用于 Spring 项目)1.1 无返回值的异步任务。1.2 有返回值的异步任务。1.3 使用自定义的线程池。(定时 & 延迟异步执行)4. 使用Thread类。(适用于大规模并行计算)适用定时任务、周期任务。6.3 调用异步方法。

2025-02-07 16:10:42 399

原创 AtomicLong简介及其用法

AtomicLong是java并发包(java.util.concurrent.atomic)中的一个类,用于在多线程环境下对long类型变量进行原子操作。boolean compareAndSet(long expect ,long update): 如果当前值等于expect,则更新为update,成功返回true。long getAndSet(long newValue): 获取当前值并设置新值。long getAndAdd(long delta): 获取当前值并加上delta。

2025-02-07 10:13:25 1297

原创 ImmutablePair 的用法

ImmutablePair 是Apache Commons Lang库(org.apache.commons.langs.tuple.ImmutablePair)提供的一个不可变的键值对结构。它用于存储两个相关的对象,并保证它们是可不变得的。Immutablepair 不可修改,以下代码在运行时会报错。1.在使用ImmutablePair时要先引入依赖。4.ImmutablePair 不可变特性。3. 获取ImmutablePair的值。2. 创建ImmutablePair。2.2 使用of()方法创建。

2025-02-06 15:32:54 1064

原创 Java自定义拦截器

来拦截请求、修改 SQL 语句、记录日志等。拦截器的使用方式因不同的场景而有所不同。,可以拦截 SQL 执行前后,实现 SQL 解析、日志记录、权限控制、动态表名等功能。如若需要拦截所有Service/Contoller方法,可以使用Spring AOP。3. Spring AOP 拦截器(拦截调用方法)1.MyBatis 拦截器(拦截 SQL 执行),可以使用 Spring MVC 拦截器。日志记录:记录请求参数,响应时间。sql日志:记录sql执行信息。权限控制:可以动态修改sql。

2025-02-06 11:30:33 520

原创 nacos如何导入新的配置

3.在导入成功之后,可以看到已导入的配置文件 ,这个时候可以看到当前配置项右边会有一个编辑的选项,这是你可以点进去进行对应文件修改。在使用spring微服务时,可能会创建新的微服务,这个时候我们可能需要在nacos控制中心新增对应的微服务配置。2.第二步,在导出之后,在进行导入,同样的操作步骤,登录nacos控制台。1.第一步我们可以先导出已经存在的配置,作为备份。

2024-12-11 09:48:03 1881

原创 微服务的了解与使用

通俗的讲, 负载均衡就是将负载(工作任务,访问请求)进行分摊到多个操作单元(服务器,组件)上进行执行。基于Ribbon实现服务调用, 是通过拉取到的所有服务列表组成(服务名-请求路径的)映射关系。借助 RestTemplate 最终进行调用OpenFeign是Spring Cloud提供的一个声明式的伪Http客户端, 它使得调用远程服务就像调用本地服务一样简单, 只需要创建一个接口并添加一个注解即可。

2023-05-14 17:18:07 2142

原创 Docker的使用

项目在开发时面临的环境有:(1)开发环境 (2)测试环境 (3)线上环境在不同环境上部署项目时可能使用的jdk版本不一致,就可能导致项目部署不成功。使用docker技术,解决项目的跨平台问题。

2023-05-12 20:23:41 453 1

原创 了解jenkins及如何使用jenkins完成项目自动化部署

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于 监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以 进行(持续集成)

2023-04-27 16:44:59 3815

原创 Redis相关面试题

Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,就顺理成章地采用单线程的模式了。缓存穿透时在查询数据时,数据库中不存在该数据,缓存中也不存在该数据。这时可能会受到恶意攻击的可能,大量请求会访问数据库,从而出现数据库压力过大。情景:(1)id不合法 (2)数据库确实不存该数据解决方式:(1)在控制层进行校验(2)可以使用布隆过滤器。

2023-04-26 21:07:37 119

原创 java连接redis及redis应用场景

(1)jedis ----------传统项目 ssm(2)lettuce ------- 被springboot整合(3)spingboot连接redis。

2023-04-26 20:10:20 662

原创 redis的应用场景、持久化方式及其集群方式

1、热点数据的缓存 ----由于redis访问速度块、支持的数据类型比较丰富,所以redis很适合用来存储热点数据,另外结合 expire,我们可以设置过期时间然后再进行缓存更新操作,这个功能最为常见。2、限时业务的运用redis中可以使用expire命令设置一个键的生存时间,到时间后redis会删除它。利用这一特性可以运用在限时的优惠活动信息、手机验证码等业务场景。3、计数器相关问题什么是计数器,如电商网站商品的浏览量、视频网站视频的播放数等。

2023-04-25 10:14:58 558

原创 初识redis及学习redis中常用命令

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

2023-04-24 12:09:45 92

原创 Nginx的核心功能及其高可用

(1)反向代理:代理的是服务器,对应客户端来说不知道真实的服务器信息。--nginx(2)正向代理: 代理的是客户端,对应服务器而言不知道真实的客户信息。---翻墙软件1.1nginx如何实现反向代理(1)springboot项目--部署运行起来(2) 修改nginx的配置文件--代理springboot服务器(3) 客户访问nginx-----真实服务器的资源。

2023-04-23 10:10:19 142

原创 nginx的初了解

Nginx(engine x) 是一个高性能的和web服务器 [13],其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

2023-04-22 17:45:04 218

原创 linux中安装常用软件

安装方式:(1)二进制安装。---只需要解压就可以。只针对特殊平台。比如jdk tomcat(2)RPM: 按照一定的规范就可以按照该软件。无法安装依赖的文件。(3)yum 远程安装 基于RPM 帮你把依赖的文件安装上去。多(4)安装源码安装。编译--->打包---->安装。

2023-04-22 16:42:47 1522

原创 linux中常用的命令

1.1cd 切换目录cd / :切换到根目录cd ../ :切换到上一级目录1.2 ls 列出当前目录或指定目录下的内容ls /目录 列出指定目录的内容ls -a 列出指定目录或者当前目录下所有的内容[包含隐藏文件]ls -l 详细列出指定目录或者当前目录下的内容1.3 pwd 查看当前目录所在的目录1.4 mkdir 创建目录mkdir -p /a/s/d 创建多层目录1.5 touch 创建文件1.6 rm 删除文件或目录rm 文件名 会弹出信息提示。

2023-04-22 15:44:45 121

原创 Linux系统简介及如何安装centos服务器及其客户端finalshell

1.1系统简介Linux,全称GNU/Linux,是一种免费使用和自由传播的操作系统,其内核由(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到和思想的启发,是一个基于的多用户、、支持和多的。它支持和硬件,能运行主要的工具软件、应用程序和网络协议。1.2 为什么要学习linux系统(1)高安全性linux下不需要担心病毒和后台程序,因为linux的框架和软件的分发机制不允许病毒的存在。(2)高可用性。

2023-04-22 12:49:04 403

原创 vue+NodeJs+vue-cli 帮你创建标准的vue工程

1.1注意安装时不要安装在中文目录下1.2 查看是否完成安装 显示版本号表示已安装成功。

2023-04-22 11:39:07 130

原创 vue+elementui+axios

1.1Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库1.2入门使用(1)引入对应的js及css--引入vue的js-->--引入elementui的js前必须引入vue的js-->--引入elemengtui的css样式-->(2)在body标签中创建div标签--:data 引入vue中的变量tableData 必须为数组类型--><el-tableborder。

2023-04-21 09:57:17 433

原创 vue快速入门

Vue (读音 /vjuː/,类似于) 是一套用于构建用户界面的。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与以及各种结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

2023-04-17 19:44:33 145

原创 springboot整合swagger2及定时器

1.1swagger2简介Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务的。目前的项目基本都是,后端为前端提供接口的同时,还需同时提供接口的说明文档。但我们的代码总是会根据实际情况来实时更新,这个时候有可能会忘记更新接口的说明文档,造成一些不必要的问题。也就是说,swagger就是帮你写接口说明文档的。1.2如何使用swagger2(1)添加依赖(2)创建swagger2配置类(3)swagger2常用注解。

2023-04-15 10:11:04 232 1

原创 springboot自动装配原理及如何整合mybatis-plus

支持全局通用方法注入( Write once, use anywhere )

2023-04-14 10:48:56 703 1

原创 springboot入门

SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。

2023-04-13 10:58:57 153 1

原创 Java九九乘法表

双重for循环实现九九乘法表打印。内层for循环控制每行的个数。外层for循环控制总行数。

2023-04-12 10:09:42 707 1

空空如也

空空如也

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

TA关注的人

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