自定义博客皮肤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)
  • 收藏
  • 关注

原创 linux升级MySQL 从5.7版本升级到8.0版本

在mysql启动初始化前,一定要确认根据自己所需的MySQL参数,是否需要修改my.cnf文件,比如区分表名大小写,在第一次初始化启动MySQL前,先进行配置my.cnf。通过navicat或者其它远程连接工具转储成SQL文件(结构和数据)配置my.cnf文件(可选项,如果不需要可跳过,但是建议)使用默认密码登陆后,需要强制修改初始化默认的登陆密码。安装MySQL之后,默认为不自启,需要手动开启。配置mysql允许远程访问(可选)卸载老数据库MySQL5.7。配置开机启动启动(可选)

2024-06-25 17:49:58 411

原创 MySQL从老版本5.7切换到新版本8.0 操作步骤,数据库备份,新库运行脚本

安装程序不仅用来安装MySQL(可安装多个不同版本的MySQL服务),还可以用来修复及卸载MySQL。--更新user为root账号的host,默认是本地。双击打开下载好的 MySQL安装包 mysql-installer-community-8.0.36.0.msi。--查询user表中host、user。刷新权限后(flush privileges),Navicat mysql 可以连上了。此时连接测试会出现以下提示,该主机不允许连接到MySQL服务,需要修改访问权限。--使用mysql这个库。

2024-06-25 10:45:03 637 1

原创 Spring Boot集成RocketMQ简单示例

以上代码是一个简单的示例,实际项目中可能需要根据需求做更多的配置和处理。此外,确保RocketMQ服务器正常运行,并在你的项目中正确配置RocketMQ的连接信息。当你使用Spring Boot集成RocketMQ时,你需要依赖一些相关的库,并配置一些必要的属性。确保替换 your-topic 和 your-consumer-group 为你的RocketMQ Topic和消费者组名。替换 your-topic 为你的RocketMQ Topic。步骤 2: 配置 RocketMQ。步骤 1: 添加依赖。

2023-11-24 14:08:54 424 1

原创 MySql 使用group by 分组 MAX() 排序,获取第一条数据

这个查询语句是一个SQL(结构化查询语言)的查询,用于从指定的表中选择特定的列,并按照这些列进行分组,然后找出每个组中的最大日期。这个查询会返回每个产品的最大订单日期。

2023-08-08 16:03:01 3347

原创 Java Spring Boot 的过滤器(Filter),拦截器(Interceptor),切面(Aspect)

在 Java Spring Boot 中,过滤器(Filter),拦截器(Interceptor)和切面(Aspect)是用于处理请求和响应的关键组件。它们都提供了在请求处理过程中进行自定义处理的能力,但在使用方式和功能上有一些区别。

2023-07-14 11:39:42 625 1

原创 使用dom4j解析XML文档的方法详解

dom4j是一个基于Java的开源XML解析器,它提供了一种简单而灵活的方式来解析和操作XML文档。它使用了DOM(Document Object Model)模型,使开发者能够轻松地读取、写入和修改XML数据。本文将详细介绍dom4j的使用方法,并提供示例代码来说明各种操作。

2023-07-13 17:16:02 4970 2

原创 将List数组中的对象的某个属性拼接起来并输出(Java or Python)

在编程中,我们经常会遇到需要将一个对象数组中的某个属性值进行拼接的情况。这个操作特别适用于需要将一组对象的某个属性组合成一个字符串的场景。本文将介绍如何使用常见的编程语言来实现这个功能。

2023-06-16 15:11:37 2813

原创 # MySQL查询时,解决一对多查询得情况下,查询得List集合是一对一的情况

在MySQL数据库中,当进行一对多查询时,有时候我们希望将多个结果合并成一个字段,形成一对一的结果集合。这种情况下,我们可以使用MySQL的CONCAT()函数来解决这个问题。本文将介绍CONCAT()函数的使用方法,并详细解释CONCAT()函数、函数和函数之间的区别。

2023-06-16 09:30:04 639

原创 Redis如何保证缓存和数据库的一致性?

在事务执行失败时,数据库和缓存中的数据都不会被更新,保证了数据的一致性。使用消息队列实现异步更新时,可以将缓存更新的请求发送到消息队列中,由消息队列异步地处理缓存更新操作。这样就可以保证缓存中的数据是最新的,避免了因为缓存中的数据过期而导致的数据不一致问题。需要注意的是,使用分布式事务框架会增加系统的复杂性和开销,需要仔细考虑是否真正需要在MySQL和Redis之间实现分布式事务。这样就可以保证缓存中的数据是最新的,避免了因为缓存中的数据过期而导致的数据不一致问题。将商品信息更新请求发送到消息队列中。

2023-04-20 13:43:09 250

原创 如何设计一套权限系统

在访问控制中,需要根据用户的身份和权限来判断其是否有权访问某个资源,如果没有,则需要给出相应的提示或错误信息。在日志管理中,需要记录所有的系统操作,包括用户登录、访问资源、修改配置等,以便后续的审计和分析。用户管理是权限系统中最基础的功能,在用户管理中,需要记录每个用户的基本信息,比如用户名、密码、真实姓名、联系方式等。权限管理用于管理系统中每个角色所拥有的权限,以及这些权限对应的资源。在权限管理中,需要定义好各种资源的访问路径和访问方法,并根据业务需求将其划分成不同的权限点。

2023-03-08 10:32:03 243

原创 使用springboot 整合 shiro

getUser方法和updateUser方法分别对应获取用户和更新用户两个操作,而在这两个方法上,我们使用了@RequiresPermissions注解来进行权限控制。在getUser方法中,我们使用了@PathVariable注解将{id}占位符绑定到方法参数中的id变量上,以获取URL中的动态参数。而在updateUser方法中,我们使用了@RequestBody注解将请求体中的JSON数据绑定到方法参数中的user对象上,以获取更新后的用户信息。当然,具体的实现方式还会因项目需求而异。

2023-03-08 10:23:17 201

原创 shiro框架的使用流程

如果登录成功,则输出"登录成功!否则根据不同的异常类型输出相应的错误消息。在这里,我们直接将用户名和密码固定为"admin"和"123456",实际应用中需要从数据库或其他数据源中获取。总的来说,Shiro框架的使用主要包括引入Shiro依赖、配置Shiro环境、编写Realm对象、实现认证和授权操作、通过SecurityManager对象进行访问控制,以及实现会话管理等步骤。总的来说,Shiro框架的认证流程主要包括提交认证请求、创建Token对象、执行认证操作、认证成功处理和认证失败处理等步骤。

2023-03-08 10:05:52 1117

原创 Spring Security的认证流程 附实例展示

简单来说Spring Security的验证流程如下:如果密码不正确,则返回错误消息并重新显示登录表单。更具体地说,Spring Security的验证流程如下:这个过程可以通过配置文件进行自定义,例如更改认证方式、添加额外的过滤器等等。以下是一个简单的Spring Security认证流程示例,包括了UserDetailsService和PasswordEncoder的实现:在该示例中,Spring Security的认证流程如下:在上述示例中,MyUserDetailsService实现了UserDe

2023-03-07 15:07:49 570

原创 缓存穿透、缓存击穿、缓存雪崩的理解以及解决策略

缓存击穿,穿透以及缓存雪崩的概念缓存穿透在高并发下,查询一个不存在的值时,缓存不会被命中,导致大量请求直接落到数据库上,如活动系统里面查询一个不存在的活动。也就是说:缓存穿透是指,请求的是缓存和数据库中都没有的数据!对于缓存穿透问题,有一个很简单的解决方案,就是缓存NULL值~从缓存取不到的数据,在数据库中也没有取到,直接返回空值。缓存击穿在高并发下,对一个特定的值进行查询,但是这个时候缓存正好过期了,缓存没有命中,导致大量请求直接落到数据库上,如活动系统里面查询活动信息,但是在活动进行过程中活

2022-04-27 09:58:05 1487

原创 Java线程池的使用

在一个应用程序中,我们需要多次使用线程,也就意味着,我们需要多次创建并销毁线程。而创建并销毁线 程的过程势必会消耗内存。而在Java中,内存资源是及其宝贵的,所以,我们就提出了线程池的概念。线程池: Java中开辟出了一种管理线程的概念,这个概念叫做线程池,从概念以及应用场景中,我们可以看出,线程池的好处,就是可以方便的管理线程,也可以减少内存的消耗。那么,我们应该如何创建一个线程池那?Java中已经提供了创建线程池的一个类:Executor而我们创建时,一般使用它的子类:ThreadPoolExec

2022-04-19 16:29:31 119

原创 List数组去重的几种方法

1,使用 LinkedHashSet 删除 arraylist 中的重复数据LinkedHashSet 是在一个 ArrayList 删除重复数据的最佳方法,LinkedHashSet 在内部完成两件事:1) 删除重复数据2) 保持添加到其中的数据的顺序示例代码:import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedHashSet; public class ArrayListExample {

2022-04-19 09:07:18 5308

原创 fastjson使用-string-json-数组-list-object

fastjson使用

2022-04-12 15:21:33 272

转载 MyBatis框架中Mapper方法中的参数问题解决方案

参数问题解决1.当Mapper方法中的参数只有一个参数时,1.1当参数是个普通对象时,例如EmployeeMapper接口中的一个方法为public Employee selectEmp(Integer id);,我们在映射文件EmployeeMapper.xml上要配置<select id="selectEmp" resultType="com.neuedu.entity.Employee"> select id,e_name,gender,email from employe

2021-09-01 17:23:03 1708

原创 Android Studio 开发中遇到的依赖冲突问题

Android Studio 开发中遇到的依赖冲突问题解决Program type already present通过 add在我导入新的依赖包的时候

2021-09-01 17:04:57 154

转载 Android开发——常见软件闪退问题及解决方案

1、nullpointer——就是使用一个对象的时候还没有对其进行初始化导致该问题一般在何种情况下容易出现呢?(1)父窗口+子窗口同时出现的,父窗口因为某种原因消掉了,子窗口还在,操作子窗口找不到父窗口的pid,就会出现问题(2)加载过程中进行刷新或者其他点击操作,可能某种资源还没有初始化成功,就会出现该问题(3)异常情况下,比如断网了,比如需要连接的设备没有连接,则相应资源拿不到,此时点击某些按钮,也会出现该问题2、OOM——在视频\图片的来回切换,比如横竖屏的来回切换过程中比较容易出现,因为本

2021-09-01 16:59:11 3736

空空如也

空空如也

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

TA关注的人

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