自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Boot 整合 Caffeine 本地缓存及 Spring Cache 注解的使用

在现代的Web应用程序中,缓存是提高性能和响应速度的重要手段之一。Spring Boot提供了对缓存的良好支持,并且可以轻松地整合Caffeine本地缓存作为缓存提供者。结合Spring Cache注解,可以实现对方法级别的缓存,从而提高系统的性能和响应速度。

2024-01-05 16:38:03 1937 2

原创 Spring Boot 整合多 Redis 数据源配置及操作

本文档介绍了如何在Spring Boot应用程序中配置和操作多个Redis数据源。通过配置多个RedisConnectionFactory和RedisTemplate,可以实现对多个Redis数据源的整合,以便在应用程序中灵活地使用不同的Redis实例。通过本文档的指导,您将能够轻松地在Spring Boot应用程序中实现对多个Redis数据源的整合配置和操作,从而满足不同业务场景下对多个Redis实例的需求。

2024-01-04 14:54:19 2343 1

原创 Spring Boot 如何使用 Maven 实现多环境配置管理

实现多环境配置有以下几个重要原因:适应不同的部署环境:在实际部署应用程序时,通常会有多个不同的部署环境,如开发环境、测试环境、生产环境等。每个环境可能需要不同的配置,例如数据库连接信息、日志级别、缓存配置等。通过实现多环境配置,可以方便地适应不同的部署环境,而无需手动修改配置文件。提高灵活性和可维护性:通过将不同环境的配置分离开来,可以提高系统的灵活性和可维护性。开发人员可以专注于当前环境的配置,而不必担心影响其他环境的配置。同时,当需要修改某个环境的配置时,也可以更加方便地进行管理和维护。

2024-01-02 17:11:40 1030

原创 Spring Boot 整合 AOP 实现接口切面日志

AOP(Aspect-Oriented Programming)是一种编程范式,它允许开发人员将横切关注点(如日志记录、性能统计、安全性等)从主要业务逻辑中分离出来,以便更好地模块化和管理这些关注点。AOP通过定义切面(Aspect)来实现这一目标,切面包含了通知(Advice)和切点(Pointcut),通知定义了在何时、何地执行横切逻辑,而切点定义了在何处执行横切逻辑。通过将切面与应用程序的其他部分进行连接,AOP可以实现横切关注点的统一管理和重用。AOP通常用于解决跨越多个模块的横切关注点,例如日志记

2024-01-02 15:33:59 1117

原创 Spring Boot 整合 Knife4j(快速上手)

Api注解用于描述一个API接口的基本信息,包括接口的名称、描述、标签等。它可以用在Controller类上,表示对整个Controller的描述,也可以用在方法上,表示对单个方法的描述。它通常用在Controller的方法参数上,表示该参数是从请求中获取的参数。Knife4j是一个基于Swagger的API文档生成工具,它提供了一种方便的方式来为Spring Boot项目生成在线API文档。@ApiOperation注解用于描述一个API接口的操作,包括接口的名称、描述、响应信息等。

2023-12-29 12:14:18 2519 3

原创 CentOS7 安装 JDK1.8(手把手教程)

本文将介绍在CentOS 7上安装JDK的详细步骤。JDK是Java开发所必需的工具集,本文旨在为Java开发人员和系统管理员提供安装JDK的指导。文章将包括准备工作、下载JDK安装包、安装JDK等步骤。通过本文,读者将能够轻松地在CentOS 7上安装JDK,并开始进行Java开发工作。

2023-12-28 12:28:18 776 1

原创 HarmonyOS开发实战:如何实现一个运动排名榜页面

本项目使用声明式语法和组件化基础知识,搭建一个可刷新的排行榜页面。在排行榜页面中,使用循环渲染控制语法来实现列表数据渲染,使用@Builder创建排行列表布局内容,使用装饰器@State、@Prop、@Link来管理组件状态。最后我们点击系统返回按键,来学习自定义组件生命周期函数。

2023-12-17 23:03:31 4721 2

原创 HarmonyOS第三章节:快速了解ArkTS语言

在初步了解了ArkTS语言之后,我们以一个具体的示例来说明ArkTS的基本组成。装饰器: 用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如上述示例中@Entry、@Component和@State都是装饰器,@Component表示自定义组件,@Entry表示该自定义组件为入口组件,@State表示组件中的状态变量,状态变量变化会触发UI刷新。UI描述:以声明式的方式来描述UI的结构,例如build()方法中的代码块。

2023-12-16 19:40:08 1915 1

原创 高并发如何实现单用户信息查询接口

-产品:小李,有个单用户信息查询的功能,需要你实现一下- 小李:这还不简单,两分钟我给你实现- 两分钟过去......- 小李:欧克了,部署上线了- 运维:哪个傻蛋写的接口,导致MySQL宕机了- 小李一愣,他写的接口明明没有报错啊,这是怎么回事呢?- 产品:小李赶紧给我排查出来,否则这个月的奖金一分都没有- 小李:这这这,我不知道什么问题啊- 小李纳闷中,思来思去不知道什么问题如何解决......- 小李:老黄,只能求你出马了,这个月我的奖金全部都给你- 老黄听到小李的请求,他微微一笑

2023-12-15 23:42:04 650

原创 第二章:企业级 Spring Boot 整合 Shiro 安全框架(详解优化版)(含项目代码)

在本文中,我们将深入探讨如何使用Spring Boot和Shiro框架来实现认证、授权和安全策略的配置。我们还将分享一些优化技巧和最佳实践,以确保整合后的应用程序能够在安全性和性能方面达到最佳状态。此外,我们还将提供完整的项目代码,以便读者可以直接参考并应用于实际项目中。

2023-12-14 17:25:27 1470 1

原创 数据库三范式及反范式设计、对比(详解版)

范式来自英文Normal Form,简称NF。实际上你可以把它粗略地理解为 一张数据表的表结构所符合的某种设计标准的级别。就像家里装修买建材,最环保的是E0级,其次是E1级,还有E2级等等。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式5NF,又称完美范式)。满足最低要求的范式是第一范式(1NF),在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。

2023-12-13 22:23:12 1125 1

原创 HarmonyOS第二章节:TypeScript 快速入门

ArkTS兼容TypeScript语言,拓展了声明式UI、状态管理、并发任务等能力。由此可知,TypeScript是JavaScript的超集,ArkTS则是TypeScript的超集,他们的关系如下图所示:

2023-12-12 22:36:26 1184

原创 第一章:Shiro 的基本使用(含示例代码)

Shiro是一个强大且易于使用的Java安全框架,用于身份验证、授权、加密和会话管理等安全功能。它提供了简单直观的API,使得开发人员能够轻松地集成安全功能到他们的应用程序中。Shiro的设计目标是使安全变得简单,同时提供高度的可定制性和可扩展性,以满足各种复杂的安全需求。Shiro框架的核心概念包括:Subject:代表当前用户,可以是一个人、设备或者第三方服务。Subject可以执行身份验证和授权操作。SecurityManager:负责管理所有的Subject,是Shiro框架的核心。

2023-12-11 23:20:09 1112 1

原创 HarmonyOS第一章节:运行 Hello World 及开发环境安装

手把手教你安装鸿蒙开发者工具及运行Hello World项目工程

2023-12-10 15:21:41 1251 1

原创 Spring 事务(Transactional)失效的七种原因及解决方案(含项目代码)

Spring框架提供了强大的事务管理功能,能够确保数据库操作的一致性和可靠性。然而,有时候我们可能会遇到Spring事务失效的情况,导致数据不一致或操作失败。本文将探讨Spring事务失效的原因,以及如何避免和解决这些问题。通过深入了解失效原因,我们可以更好地利用Spring事务管理功能,确保系统的稳定性和可靠性。

2023-12-09 17:22:25 3541

原创 Redis 为什么这么快?(详解版)

1. 内存存储:Redis将数据存储在内存中,因此读写速度非常快。此外,Redis还可以将数据持久化到磁盘,以防止数据丢失。2. 单线程模型:Redis采用单线程模型,避免了多线程的上下文切换开销,同时利用了现代CPU的多核优势,通过多路复用技术实现高并发。3. 非阻塞IO:Redis 基于 IO 多路复用实现了非阻塞式 IO,可以在IO操作完成之前继续执行其他操作,提高了系统的并发能力。4. 数据结构丰富:Redis支持丰富的数据结构,如字符串、哈希、列表、集合、有序集合等,可以满足不同场景的需求,

2023-12-08 12:51:36 1262

原创 Java 线程池核心原理

线程池是一种管理和复用线程的机制,它可以在需要执行任务时分配线程,执行完任务后将线程放回线程池中,以便重复利用。线程池可以有效地控制并发线程的数量,提高系统的性能和资源利用率。

2023-12-06 17:19:41 1058 1

原创 Java 四种主要的 IO 模型

不同的IO模型在处理并发IO请求时有各自的特点和适用场景。阻塞IO模型简单易用,但在高并发情况下性能较差。非阻塞IO模型通过轮询IO状态来实现并发处理,适用于中等并发场景。IO多路复用模型通过select、poll、epoll等机制实现高并发处理。异步IO模型通过回调函数实现高并发处理,性能最佳。

2023-12-05 15:19:38 1314

原创 JDK 与 CGLIB 的区别及应用

动态代理是一种在运行时动态创建代理对象的机制,它可以在不修改源码的情况下为原始对象添加额外的功能。在软件开发中,动态代理被广泛应用于AOP(面向切面编程)、事务管理、远程调用等方面。JDK动态代理和CGLIB动态代理是两种常见的动态代理实现方式。JDK动态代理是基于接口的代理,它要求目标对象实现一个接口,然后通过反射机制来创建代理对象。而CGLIB动态代理则是基于继承的代理,它可以代理没有实现接口的类,并通过生成目标类的子类来实现代理。

2023-12-04 12:57:13 1560

原创 VMware 安装 CentOS 7 详细教程

功能:允许用户在一台物理计算机上创建和运行多个虚拟机,每个虚拟机可以运行不同的操作系统作用:安装 CentOS 7 可以帮助用户在虚拟环境中进行开发、测试和学习目标群体:系统管理员、开发人员、测试人员以及对虚拟化技术感兴趣的个人用户使用场景:搭建开发和测试环境、学习和实践 Linux 系统管理、以及在企业环境中部署虚拟化解决方案

2023-12-02 12:09:01 875 2

空空如也

空空如也

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

TA关注的人

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