自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MyBatis-Plus-Boot-Starter

MyBatis-Plus-Boot-Starter 是 MyBatis-Plus 框架与 Spring Boot 应用程序的集成启动器。它为 Spring Boot 应用程序提供了 MyBatis-Plus 的功能和特性,使得开发者能够更容易地在 Spring Boot 项目中使用 MyBatis-Plus。

2024-07-24 20:21:02 68

原创 SpringBoot自动配置(面试重点)

启动类中有一个@SpringBootApplication注解,包含了@EnableAutoConfiguration代表开启自动装配@EnableAutoConfiguration注解里面组合了一个@Import注解,这个注解是实现自动配置的关键。@Import。

2024-07-24 19:40:04 478

原创 SpringBoot(事务管理,异步任务,任务调度,整合Mail)

spring自身就集成了许多中间件,可以帮助我们进行日常的开发。

2024-07-23 21:03:20 172 1

原创 Redis在SpringBoot中配置

由于redis的序列化方式如果不合适,会导致传入的数据在redis库里是乱码的形式存在,一般使用Jackson2JsonRedisSerializer作为redis的序列化方式。redis的使用方法有两种,jedis和lecttuce,jedis用的不是很多,下面讲解用lettuce的使用方法。配置就完成了,接下来可以使用redis了。序列化object对象为json字符串。可以将任何对象泛化为字符串并序列化。添加ip地址和redis的端口号。这是redis的配置类。

2024-07-23 20:57:38 262

原创 Redis在SpringBoot中遇到的问题:预热,雪崩,击穿,穿透

我们客户端访问不存在的数据时,先请求redis,但是此时redis中没有数据, 此时会访问到数据库,但是数据库中也没有数据,这个数据穿透了缓存,直击数据库,我们都知道数据 库能够承载的并发不如redis这么高,如果大量的请求同时过来访问这种不存在的数据,这些请求就都会 访问到数据库,简单的解决方案就是哪怕这个数据在数据库中也不存在,我们也把这个数据存入到redis 中去,这样,下次用户过来访问这个不存在的数据,那么在redis中也能找到这个数据就不会进入到缓存 了。缓存击穿问题也叫热点Key问题,就是。

2024-07-23 20:56:23 562

原创 jedis

jedis是Redis的java客户端库,为java开发者提供了与redis服务器进行通信的便捷方式。常见的java客户端库有:Jedis,Lettuce,Redisson。

2024-07-22 17:55:16 764

原创 redis命令超详细

redis是一个key-value的数据库,key一般是String类型,但是value的类型有很多:基本类型:String,Hash,List,Set,SortedSet(可排序的不能重复的集合)特殊类型:GEO,BitMap,HyperLog等。

2024-07-22 17:53:27 807

原创 Spring中Bean的循环依赖

一个或多个Bean之间存在相互调用关系就会产生循环依赖。即:A调用B,B调用C,C调用A,这样会导致创建对象时依赖链过长,栈溢出。

2024-07-22 03:00:00 1060

原创 AOP知识点图解

2024-07-20 13:14:15 76

原创 SpringMVC超详细

首先SpringMVC项目需要导包并且在项目中添加config.SpringBootConfig包,这个包用来进行enjoy配置和整合spring对象。

2024-07-19 19:58:34 733

原创 SpringAOP

○ 如果被代理的对象,没有实现某个接口,就无法使用 JDK Proxy 去进行代理了,这时候 Spring AOP 会使用 Cglib,基于继承的方式,生成一个被代理对象的子类来作为代理(Cglib动态代理的核心是MethodInterceptor接口和Enhancer类);○ 如果被代理的对象,已经实现某个接口,则 Spring AOP 会使用 JDK Proxy(反射),基于接口的方式,创建代理对象(JDK动态代理的核心是InvocationHandler接口和Proxy类);切入点是连接点的子集。

2024-07-19 19:32:52 1212

原创 Spring-Boot中的异常处理方法

在运行程序时我们通常要进行异常的处理,一般有三种处理异常的方式其中,常见的两种有try-catch,throws。

2024-07-18 19:21:32 173

原创 Spring-Boot基础--yaml

YAML文件相对传统的.xml文件更能直观的展示数据序列化格式,更加简洁。所以在Spring-Boot中一般使用.yml(.yaml)

2024-07-18 18:29:57 1313

原创 Spring如果项目加载包下载比较慢或者打开别人的项目运行不了怎么办

如果你是用别人的代码,在你的电脑上运行,最有可能的原因,maven的地址加载错误。把这里换成你本地的maven地址和仓库。点击右下角的Apply和OK,就好啦。打开设置里的Settings。

2024-07-15 19:43:57 114

原创 Spring IOC

spring是一套企业级的开发框架。有良好的生态,可以应对大多数的开发环境。

2024-07-15 19:31:21 463

原创 redis简介

redis是一个键值对的数据库,例如:"id":1001,"name":"张三","age": 21它的结构没有表,没有约束,和传统的sql数据库有很大区别,redis也叫nosql数据库,

2024-05-09 19:13:33 318

原创 DRM/RESP无法连接linux上redis的原因

将bind 127.0.0.1 : 1 注释掉,改成bind 0.0.0.0,让远程所有ip都可以访问。将daemonize yes 守护进程,修改后可在后台运行。protected-mode no 关闭保护模式。记得重新指定配置文件重新启动服务哦。进入到自己的redis软件目录。当然也可以选择开放对应的端口。禁止firewall开机启动。停止firewall。

2024-05-09 17:48:23 352

原创 SQL优化详解

数据库的数据是根据表空间,段,区,页,行的形式存放的,行就是每一条数据,表是InnoDB管理的最小单位。数据的索引分为聚集索引和二级索引,聚集索引使用的是B+树,它的每个主键都会在树的最下面存放,而前面的向上分裂的部分作为查询数据的索引。没有not null约束: InnoDB引擎会遍历整张表把每一行的字段值都取出来,返回给服务层,服务层判断是否为null ,不为null,计数累加。目前由于存储引擎的缘故,没有太好的优化count的方法,常用的就是使用像redis之类的数据库进行自我计数。

2024-05-07 17:55:50 427

原创 RPC的介绍和架构发展

如果使用常见的http协议,会带上很多不需要的数据,会降低传递数据的效率,我们只想要调用B服务的数据,因此,我们可以自定义一种传递格式。不同的应用场景对RPC架构提出了各种需求,如:高并发,低延迟,可拓展性,安全性等,RPC就可以根据需求进行针对性的优化和功能拓展。如果出现了问题,不能直接抛出异常吧,所以如果A挂了,那就调用其他服务,但是如果都挂了,就只能抛出异常了。服务方找注册中心注册,调用方发现注册的提供方,然后调用方就可以调用提供方了。也就是说,如果提供方出现问题,那么调用方也就找不到调用数据了。

2024-04-26 19:05:19 2463 3

原创 索引超详细解析

索引(index)是帮助MySQL高效获取数据的有序数据结构。数据库系统中维护这满足特定查找算法的数据结构,这些数据结构以某种方式引用数据,这样就可以在这些数据结构上实现高级查找算法快速查找数据,这种数据结构就是索引。索引是在第三层存储引擎层实现的,所以存储引擎不同,索引的结构也不同。索引结构描述B+Tree索引最常见的索引,大部分引擎都支持B+树索引Hash索引底层数据结构通过哈希表实现的,只有精确匹配索引列的查询才有效,不支持范围查询R-tree(空间索引)

2024-04-24 20:59:53 1080

原创 在Linux安装mysql

/密码长度设置为4。通过:grep 'temporary password' /var/log/mysqld.log。也可以是:cat /var/log/mysqld.log。这样密码就改成1234了,也可以改成8位密码,要记住奥。重启:systemctl restart mysqld。启动:systemctl start mysqld。停止:systemctl stop mysqld。直接复制过来,密码不显示,就可以进来了。这里密码要设置为8位,且区分大小写。6、启动mysql服务。

2024-04-24 10:58:05 324

原创 linux的一些实用操作

在使用history之后,使用!p是运行上一次最近的以p开头的历史命令,可以节省输命令的时间。yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。语法:yum [-y] [install | remove | search] 软件名。yum命令需要root权限,可以su切换到root,或使用sudo提权。-b:后台下载,会将日志写入到当前工作目录的wget-log文件。wget是非交互式的文件下载器,可以在命令行内下载网络文件。语法:date [-d] [+格式化字符串]

2024-04-23 22:20:40 736 1

原创 Linux的用户及管理

chmod u = rwx,g=rx,o=x hello.txt,将文件权限修改为:rwxr-r--x。u代表user所属用户权限,g代表group组权限,o代表other其他用户权限。r 代表读(read),w 代表写(write),x 代表执行(execute)linux中可以配置多个用户,配置多个用户组,用户也可以加入多个组。chown [-R] [用户] [:] [用户组] [文件或文件夹]-g:指定用户的组,不指定就创建一个和用户同名的组。-是可选的,表示是否在切换用户之后加载环境变量,

2024-04-23 20:00:30 934

原创 Linux命令超详细介绍

本文皆是基于windows操作系统,使用的连接工具是FinalShell,使用MacOS的朋友请注意,因为基础语法虽然一样,但是在部分地方还是略有不同,推荐学习黑马的公开课。vim是v的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。当不用参数,一次创建多个文件时,会报错,因为zixuelinux中没有good文件,所以没法直接创建666文件。意思是以列表的形式,显示/home/work目录中的内容。

2024-04-23 17:15:32 1069 1

原创 存储引擎介绍

存储引擎是存储数据,建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。数据库中的多张表可以使用不同的引擎。

2024-04-22 16:11:30 254

原创 MySQL事务

事务是一组操作的集合,他是不可分割的一个工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么全部成功,要么全部失败。每条sql操作都是一个事务,mysql中sql语句自动提交。

2024-04-20 10:57:03 947

原创 AES两种工作模式的区别

AES算法是一种广泛使用的对称加密算法,支持多种工作模式。对称加密算法的特点:加密和解密需要的密钥是相同的。密钥的长度可以是128,192或256位。对称加密的过程:用函数接受密码和明文,然后输出密文。对称加密的解密过程:用函数接受密码和密文,然后输出明文。AES的常用工作模式有:ECB、CBC、PCBC、CTR....

2024-04-19 22:39:58 250

原创 mysql多表查询

从多张表进行数据的查询。

2024-04-19 20:16:48 852

原创 MySQL约束

1、概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。2、目的:保证数据库中数据的正确、有效性和完整性。3、分类:约束描述关键字非空约束限制该字段的数据不能为nullNOT NULL唯一约束保证该字段的所有数据都是唯一的,不重复的UNQUE主键约束主键时一行数据的唯一标识,要求非空且唯一默认约束保存数据时,如果未指定该字段的值,则采用默认方式DEFAULT检查约束保证字段值满足某个条件CHECK外键约束。

2024-04-18 20:16:43 560

原创 MySQL函数解析

函数就是一段可以直接被另一段程序调用的程序或代码。

2024-04-18 13:56:37 1024

原创 哈希加密算法

哈希算法是一种能将不同长度的内容转化为固定长度的输出的算法,也称摘要算法或者散列算法。

2024-04-16 21:44:35 318

原创 SQL超详细解析

(show后面的空格可以是一个也可以是多个,前提是先进入数据库)将一列数据作为一个整体,进行纵向计算。

2024-04-16 20:02:40 2478

原创 MYSQL概述

下载了MySQL之后,计算机就成为了MySQL数据库容器,可以通过客户端连接数据库管理系统DBMS,然后使用sql语句通过DBMS创建数据库,也可以使用sql语句通过DBMS在专门数据库中创建表。建立在关系模型基础上,由多张互相链接的二维表组成的数据库。简而言之,通过表存储数据的数据库就是关系型数据库。SQL:操作关系型数据库的编程语言,定义了一套操作关系型数据库的统一标准 SQL。二维表:由表头和数据组成,并且有一列数据和另一个表对应。不通过表存储数据的就是非关系型数据库。数据库:存储数据的仓库 DB。

2024-04-14 19:15:17 303

原创 集合二:Map

注意:当重复使用put()方法存放同一个key时(比如map.put("apple", 10)之后又写map.put("apple", 30)),由于一个key对应一个value,所以key对应的是最新放进去的值(也就是30),前面放的值会被覆盖。ii、TreeMap:TreeMap基于红黑树实现,可以自动保证键的有序性,但是没有HashMap那么快的访问速度,当遍历排好序的键值对时,TreeMap更有优势。i、HashMap:HashMap使用哈希表来实现键值对的存储,具有快速的访问速度。

2024-03-26 22:03:40 286

原创 线程安全介绍

线程安全(Thread Safety)是指一个对象或代码块在多线程环境中能够安全地被多个线程同时访问,而不会导致任何预期之外的行为或竞态条件。换句话说,线程安全的对象或代码可以被多个线程同时使用,而不会出现数据不一致或程序崩溃等问题。在多线程程序中,线程安全是非常重要的,因为多个线程可能会同时读写同一数据,如果没有适当的同步措施,就会导致数据竞争和不一致。线程是抢占式的执行,线程间的调度充满了随机性多个线程对同一个变量进行修改操作对变量的操作不是原子性的内存可见性导致的线程安全。

2024-03-26 21:34:25 363

原创 单调栈(算法)

找第一个/下一个最大元素,维护递减栈;找第一个/下一个最小元素,维护递增栈。下面是一道简单的题,可以帮助理解496. 下一个更大元素 I - 力扣(LeetCode)

2024-03-23 20:43:09 464

原创 集合一:List

集合是由若干个确定的元素所构成的整体,在程序中一般代表保存若干个元素(数据)的某种容器。

2024-03-23 20:30:35 998

原创 java中常用的查询算法

其实就是因为方便,简单,但是如果我能在二分查找的基础上,让中间的mid点,尽可能靠近想要查找的元素,那不就能提高查找的效率了吗?我们可以将查找的点改进为如下: mid=min+(num-a[min])/(a[max]-a[min])*(max-min), 这样,让mid值的变化更靠近关键字num,这样也就间接地减少了比较次数。反之,数组中如果分布非常不均匀,那么插值查找未必是很合适的选择。元素必须是有序的,无序的话要先排序,但是排序再在查找得到的值就不是数据原来的值了,就只能判断目标数字是否在容器内。

2024-03-11 20:28:09 1036 1

原创 java中常用的排序方法

在内部循环中,我们将要插入的元素与已排序部分的元素进行比较,如果要插入的元素小于已排序部分的元素,则将已排序部分的元素向右移动一位,以便为要插入的元素腾出空间。快速排序是,先把一个数放在数组中他应该在的位置,比如2,6,3,7,1中,6应该在数组的第4个位置,也就是下标为3的位置。归并排序是通过把有n个数的数组分成n部分,然后再合并,合并的时候进行排序,大的放右边小的放左边,每组排序通过对比每组最小的数,谁小谁先放,最后就可以从小到大排出来,其中利用了分治思想。小型列表上性能非常好。

2024-03-11 20:25:46 375

原创 JFinal浅了解

JFinal 是基于Java 语言的极速 web 开发框架,其核心设计目标是开 发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、 Restful。又称为中国的spring;

2024-01-23 19:20:24 439

基于java的健身房管理系统

需要连接数据库,内有数据,直接按步骤连接即可,在源码文件中选1个即可,里面有说明文档,根据文档进行操作。

2023-11-18

BMS图书管理系统.zip

BMS图书管理系统.zip

2023-11-18

空空如也

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

TA关注的人

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