自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (3)
  • 收藏
  • 关注

原创 mysql索引失效问题以及EXPLAIN详解

索引失效场景索引失效场景主要总结出10点索引失效的场景,首先了解下性能查询explain 工具参数的详解。

2024-12-07 17:43:02 865

原创 Jenkins 配置项目前后端工程

Jenkins配置后端与前端服务,一键发布正式环境,并后期优化后端服务构建Docker镜像,jenkins一键发布后端Docker镜像

2024-12-07 11:48:06 2052

原创 Spring Boot框架结合MongoDB实现日志数据的保存和归档

1)数据库设计数据模型:确定你的日志记录所需的字段,如时间戳、日志级别、消息内容、用户ID等。索引:为常用查询字段(尤其是时间戳)设置索引,以优化查询性能。2)数据保存策略实时写入:日志数据应该实时写入数据库,可以使用MongoDB的插入操作来实现。批量插入:如果日志数据量很大,可以考虑使用批量插入来减少数据库压力和提高性能。3)归档策略定时任务:使用Spring的@Scheduled注解来创建定时任务,定期执行归档操作。数据迁移:将最近7天的数据保持在主要的集合中,其余数据迁移到归档集合中。

2024-12-23 11:03:28 1308

原创 RabbitMQ消息队列的10种应用场景

消息队列不只是传递消息的工具,更是系统解耦、提升稳定性和扩展性的利器。在这10种经典场景中,每一种都能解决特定的业务痛点。

2024-12-23 11:02:08 2563

原创 SpringBoot使用 AOP 实现自定义日志记录并保存在Mysql

主要定义了操作日志的一些基本的信息,用来对我们AOP自定义的日志进行存储。`user_id` int DEFAULT NULL COMMENT '用户名',`url` varchar(512) DEFAULT NULL COMMENT '接口',`ip` varchar(100) DEFAULT NULL COMMENT 'ip地址',`param` text COMMENT '接口参数',`time` datetime DEFAULT NULL COMMENT '时间',

2024-12-21 10:31:14 1097

原创 CompletableFuture使用详解

平时多线程开发一般就是使用Runnable,Callable,Thread,FutureTask,ThreadPoolExecutor这些内容和并发编程息息相关。相对来对来说成本都不高,多多使用是可以熟悉这些内容。这些内容组合在一起去解决一些并发编程的问题时,很多时候没有办法很方便的去完成异步编程的操作。Thread + Runnable:执行异步任务,但是没有返回结果Thread + Callable + FutureTask:完整一个可以有返回结果的异步任务。

2024-12-21 10:30:01 1189

原创 SpringBoot整合Spring AOP & Aspectj 框架 快速入门

到底什么是AOP,很多小伙伴八股文背的6的一,但是实际业务可能工作两年都没用过。所以来说AOP到底是什么玩意?AOP 是 Aspect Oriented Programming 的缩写,译为面向切向编程。图片来理解:假设我有四个行为:在我所有行为之前我都需要 洗手在我所有行为之后我都需要 上厕所解决办法一:每个方法之前加入 洗手 逻辑, 每个方法之后加入 上厕所 逻辑。解决办法二:抽取出一个公用的 洗手 和 上厕所 方法,然后每个行为之前调用 洗手方法,每个行为之后调用 上厕所方法。

2024-12-21 10:28:49 1097

原创 线程池的执行流程和原理

线程池是一种线程复用技术,它维护着多个线程等待监督管理者分配可并发执行的任务。处理过程中,将任务添加到队列,然后在线程创建后自动启动这些任务。

2024-12-19 14:56:26 1016

原创 Spring MVC 中,处理异常的 6种方式

异常处理是每个 Java程序员需要面对的一个问题,在Spring中,提供了多种机制来处理控制器抛出的异常,确保应用程序在面对各种错误情况时能够优雅地响应。这篇文章,我们来详细分析Spring MVC中,几种优雅处理异常的方式。

2024-12-19 14:55:27 1037

原创 SpringBoot中基于JWt的授权与续期方案

请求携带Token:在后续的每一次需授权API请求中,客户端都需在HTTP请求的Authorization头部字段中携带此JWT,以便服务端验证用户的身份和权限。用户认证与Token生成:用户成功登录后,服务端生成一个包含必要信息的JWT并返回给客户端。解决token过期续期问题可以有很多种不同的方案,这里举一些比较有代表性的例子,一种是单token续期,一种是双token续期。使用刷新后的Token:客户端在收到新的Token后,自动替换掉旧的Token,并在后续的请求中携带此新Token继续访问服务。

2024-12-18 10:10:56 988 1

原创 微服务中token鉴权设计的4种方式总结

JWT是一种用于双方之间安全传输信息的简洁的、URL安全的令牌标准

2024-12-18 10:05:13 2593

原创 Spring Boot性能提升之虚拟线程

虚拟线程是 Java 21 引入的一个新特性,用于简化并发编程。

2024-12-16 10:28:41 663

原创 HTTPS加密传输的原理与Nginx配置

本文主要介绍了 HTTPS 加密传输的原理与 Nginx 配置攻略。解释了 HTTPS 相较 HTTP 的安全性,包括对称加密、非对称加密、数字证书的验证方式。还阐述了 HTTPS 的流程,即 TCP 三次握手加 TLS 四次握手。最后给出了在 Nginx 中配置 HTTPS 的相关代码和参数。

2024-12-16 10:27:45 823

原创 RocketMQ怎么实现延时消息

RocketMQ实现延时消息的功能,为开发者在需要基于时间触发事件的场景中提供了便利。

2024-12-14 09:30:06 737

原创 java Spring Cloud 如何设计一个高并发系统

这篇文章高并发系统设计一些关键点,18个常用设计技术

2024-12-14 09:28:55 1176

原创 Spring Boot启动流程详解

Spring Boot 是一个用于简化 Spring 应用程序开发的框架,提供了便捷的配置和自动化功能。这篇文章,我们将深入探讨 Spring Boot 的启动流程,包括其背后的重要组件和原理。

2024-12-14 09:27:31 945

原创 Nginx 性能优化方案

Nginx是一款高性能的Web服务器,广泛应用于互联网领域。然而在高并发、大流量的情况下,Nginx的性能可能会受到一定的影响。因此,对Nginx进行性能优化是非常必要的。

2024-12-13 09:05:01 665

原创 Mysql 深度分页查询优化

在 MySQL 中,分页是一个常见的功能,mysql在数据量大的时候,深度分页数据偏移量会增大,导致查询效率越来越低

2024-12-13 09:00:55 803

原创 Docker镜像拉去问题处理,实测有用

Docker镜像失败,最新的更新docker源方式

2024-12-12 10:01:40 269

原创 Redis缓存的穿透,击穿,雪崩,热点key等问题

缓存雪崩:由于缓存层承载着大量请求,有效地保护了存储层,但是如果缓存层由于某些原因不能提供服务,比如同一时间缓存数据大面积失效,那一瞬间Redis跟没有一样,于是所有的请求都会达到存储层,存储层的调用量会暴增,造成存储层也会级联宕机的情况。第二,缓存层和存储层的数据会有一段时间窗口的不一致,可能会对业务有一定影响。缓存击穿是指一个Key非常热点,在不停的扛着大并发,大并发集中对这一个点进行访问,当这个Key在失效的瞬间,持续的大并发就穿破缓存,直接请求数据库,就像在一个完好无损的桶上凿开了一个洞。

2024-12-12 09:42:59 624

原创 Java 实现接口幂等的九种方法

在分布式系统中,接口的幂等性至关重要,它能确保重复请求不会导致意外的副作用。本文深入探讨了 Java 实现接口幂等的九种方法,包括数据库唯一约束、状态机、分布式锁等,并通过详细的代码示例和实际应用场景,帮助读者全面理解和掌握这些方法,以提升系统的稳定性和数据一致性。

2024-12-12 09:40:55 1409

原创 JVM调优

在项目开发过程中,生产环境中,任何问题的解决,性能的调优总结下来就三个步骤,即发现问题、定位问题、解决问题。本文将从这个步骤入手,详细阐述内存溢出(OOM、OutOfMemeory)、CPU飙高、GC频繁等JVM问题的排查、定位,以及调优。

2024-12-12 09:38:09 1139

原创 一个注解,优雅的实现接口幂等性

简单来说,就是对一个接口执行重复的多次请求,与一次请求所产生的结果是相同的,听起来非常容易理解,但要真正的在系统中要始终保持这个目标,是需要很严谨的设计的,在实际的生产环境下,我们应该保证任何接口都是幂等的,而如何正确的实现幂等,就是本文要讨论的内容。/*** 参数名,表示将从哪个参数中获取属性值。* 获取到的属性值将作为KEY。* @return*//*** 属性,表示将获取哪个属性的值。* @return*//*** 参数类型* @return*/

2024-12-07 17:40:16 823

原创 Centos使用Docker方式安装部署RocketMQ

使用官网Docker安装方式安装RocketMq,按步骤一步一步执行。

2024-12-07 17:25:16 426

原创 将设计模式运用到实际项目中

所谓 “设计模式”,是一套被反复使用和验证的方法论。从更宏观的角度看,只要能够解决实际问题并符合使用场景,设计模式既可以应用于领域驱动设计(DDD),也可以用于具体的项目开发。

2024-12-07 13:35:24 960 1

原创 Mybatis基础(1)

1.Mybaties配置文件  1)SqlMapConfig.xml    --- 为主配置文件, 一般用于配置数据库连接参数。且只有一个。2)SqlMap.xml   --- 用于定义SQL语句和映射信息, 项目中会有多个。SqlMapConfig.xml 文件 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DT

2016-06-03 23:49:30 141

echarts 地图 省市 json文件

echarts 地图的json文件,前端数据可视化的数据显示,直接在js文件中请求json文件,即可显示,有这方面的问题,联系我qq649651826

2017-12-04

16*16点阵滚动屏

16*16点阵滚动屏

2015-06-16

apache-tomca

用于JAVA学习方面,

2015-06-02

空空如也

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

TA关注的人

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