自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis-linux下安装redis7配置

最新版linux环境下安装redis7.0。

2024-07-16 16:25:03 1306 1

原创 Java-HashMap和ConcurrentHashMap的区别

HashMap (JDK 8):数组 + 链表 + 红黑树:优化链表过长的情况。当链表长度超过8时(默认设置),链表会被转换成红黑树,以减少查找时间复杂度ConcurrentHashMap (JDK 8):数组 + 链表 + 红黑树:类似于HashMap,也引入了红黑树来优化性能。但是,ConcurrentHashMap更复杂。它不再使用分段锁(Segment),而是采用CAS操作加上一些其他原子操作和少量的synchronized关键字来实现更细粒度的锁,这大大提升了并发性能。

2024-06-25 17:07:52 2037 1

原创 Java-异常:不恰当的异常转换、不充分的日志记录、过度或不当的异常捕获

Java-异常:不恰当的异常转换、不充分的日志记录、过度或不当的异常捕获。

2024-06-22 19:13:41 1051 2

原创 Java-LinkedList和ArrayList的区别、Get/Add操作性能分析以及常见的遍历方式

Java-LinkedList和ArrayList的区别、Get/Add操作性能分析以及常见的遍历方式LinkedList和ArrayList的区别:当需要快速随机访问且元素数量相对稳定时,ArrayList更优;而当频繁进行插入和删除操作,特别是表头或表尾操作时,LinkedList更有优势,但是如果随机插入和修改,可能ArrayList更好。Get/Add操作性能分析:当在随机位置add操作,LinkedList的插入性能按照测试结果来看是比ArrayList差的,ArrayList更快

2024-06-18 13:59:38 1399 1

原创 Java-集合类-Arrays.asList()和subList使用需要注意的大坑

Arrays.asList() 是 Java 中一个常用的方法,它用于将数组转换为列表(List)。这个方法非常方便,但也有一些需要注意的“大坑”。使用subList需要注意OOM、ConcurrentModificationException异常

2024-06-13 16:47:40 793 9

原创 Java-Lambda表达式基本理解及使用

​ Lambda 表达式是Java 8引入的一个重要特性,它旨在简化函数对象的创建过程,使得Java语言更加简洁、功能更加强大,尤其是在处理集合、流和并发编程中表现突出。Lambda允许将功能作为方法参数或将其赋值给变量,这在函数式编程范式中尤为重要,它促进了行为参数化,即代码可以根据传入的行为(函数)动态变化。

2024-06-11 16:37:28 1456 1

原创 SpringCloud-Consul服务注册与发现(一)

Consul官网​ Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。它具有很多优点。包括: 基于 raft 协议,比较简洁;

2024-06-10 19:04:04 1286 1

原创 Java常见错误-内部类-简要分析

​ 内部类是Java语言提供的一种特殊类,它允许类定义嵌套在其他类中,这为程序设计提供了更大的灵活性。不同类型的内部类有着不同的应用场景和访问规则,如成员内部类用于需要访问外部类非静态成员的情况,静态内部类更像一个独立的类但逻辑上属于外部类,局部内部类和匿名内部类则常用于临时性需求,如事件处理或实现特定接口的简短实现。理解并恰当使用内部类,可以使代码更加清晰、高效和易于维护。

2024-06-06 10:45:37 1041 1

原创 Java中常见错误-泛型擦除及桥接方法问题及解决方案

类型擦除:Java泛型在编译后会被擦除,这意味着像Animal< String >在字节码层面等同于Animal< Object >,导致方法签名可能变得不明确。桥接方法为了保证泛型擦除后的多态性,编译器会为某些泛型方法生成桥接方法,这些方法通常指向具体的实现。反射调用直接通过反射调用可能遇到桥接方法,导致意外的行为,如多次调用或不期望的类型转换。正确处理泛型和桥接方法对于避免这些问题至关重要。

2024-06-05 13:47:43 741 2

原创 Java中常见错误-Java中注解是否可以继承

@Inherited是Java中的一个元注解,位于java.lang.annotation包内,它用于修饰自定义注解,表明这个自定义注解具有继承性。子类的类上能否继承到父类的类上的注解?子类方法,重写了父类上的方法,这个方法能否继承到注解?子类方法,继承了父类上的方法,这个方法能否继承到注解?使用特定工具方法(如Spring的AnnotatedElementUtils.findMergedAnnotation())来合并注解信息,父类的类级别、方法注解对子类都是可见

2024-06-03 17:26:34 1020 1

原创 SpringBoot-SchedulingConfigurer源码初识:理解定时任务抛异常终止本次调度,但不会影响下一次执行调度

使用继承SchedulingConfigurer接口动态定时任务调度实现,需要注意:定时任务抛异常终止本次调度,但不会影响下一次执行调度

2024-06-02 17:32:24 1195 1

原创 Java-Stream流-概述、创建、使用:遍历/匹配、筛选、聚合、映射、归约、排序、提取/组合

​ Java 8中的Stream流是一种全新的数据处理抽象,它革命性地改变了开发者处理集合数据的方式。Stream API并不是一个真正持有数据的集合,而是一种数据渠道,用于处理具有集合、数组等数据结构支持的数据序列。Stream的核心思想借鉴了函数式编程语言的处理数据方式,强调声明式编程风格,使得开发者能够以更高效、更简洁的方式表达数据处理逻辑。

2024-05-28 17:26:38 1104 1

原创 SpringBoot-异步编程:@Async原理、使用及自定义线程池

​ 在Spring Boot中,使用@Async注解进行异步编程是一种非常实用的特性,它可以帮助我们提升应用的响应速度,尤其是在执行一些耗时操作(如大文件处理、网络请求、数据库批量操作等)时。异步方法可以在后台线程中执行,而不需要阻塞主线程,从而提高了应用的并发能力和用户体验。

2024-05-19 18:13:43 1393 3

原创 SpringBoot-@Transactional注解失效

可能导致@Transactional注解失效的几种常见场景。在实际使用中,应确保正确配置Spring事务管理器、合理设置事务属性,并遵循Spring AOP代理的使用规则,以确保事务功能正常运作。

2024-05-02 00:53:27 1189 3

原创 MySQL-触发器:触发器概述、触发器的创建、查看删除触发器、 触发器的优缺点

触发器是由`事件来触发`某个操作,这些事件包括`INSERT`、`UPDATE`、`DELETE`事件。所谓事件就是指用户的动作或者触发某项行为。如果定义了触发程序,当数据库执行这些语句时候,就相当于事件发生了,就会`自动`激发触发器执行相应的操作。当对数据表中的数据执行插入、更新和删除操作,需要自动执行一些数据库逻辑时,可以使用触发器来实现。

2024-04-13 23:55:16 1360 4

原创 MySQL-变量、流程控制与游标:变量、定义条件与处理程序、流程控制

变量在MySQL数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据。定义条件是事先定义程序执行过程中可能遇到的问题,处理程序定义了在遇到问题时应当采取的处理方式,并且保证存储过程或函数在遇到警告或错误时能继续执行。这样可以增强存储程序处理问题的能力,避免程序异常停止运行。流程就分为三大类:顺序结构:程序从上往下依次执行分支结构:程序按条件进行选择执行,从两条或多条路径中选择一条执行循环结构:程序满足一定条件下,重复执行一组语句

2024-04-13 23:51:09 1002 1

原创 SpringBoot-自定义注解AOP实现及拦截器示例

当你在编写自定义注解时,@Target、@Retention、@Documented 和 @Inherited 是四个你可能会用到的元注解,它们可以帮助你更好地定义和使用注解。

2024-04-12 23:51:28 1678 1

原创 SpringBoot-自定义Starter精华版

​ 开发的自定义 Starter 需求是,项目依赖starterTest-spring-boot-starter,starterTest-spring-boot-starter 又加载HelloAutoConfiguration,HelloAutoConfiguration自动产生HelloService,项目中引入 starterTest-springboot-start后,用户便可以使用HelloAutoConfiguration 产生的 HelloService 了

2024-04-12 16:50:37 1573 1

原创 MySQL-存储过程与函数:存储过程概述、创建存储过程、调用存储过程、存储函数的使用、存储过程和函数的查看、修改、删除、关于存储过程使用的争议

存储过程的英文是 Stored Procedure。它的思想很简单,就是一组经过预先编译的 SQL 语句的封装。执行过程:存储过程预先存储在 MySQL 服务器上,需要执行的时候,客户端只需要向服务器端发出调用存储过程的命令,服务器端就可以把预先存储好的这一系列 SQL 语句全部执行。

2024-04-11 23:58:58 1091 1

原创 我的创作纪念日

总的来说,日常创作已经成为我生活中不可或缺的一部分,它与我的工作和学习密切相关,共同构成了我丰富多彩的生活。通过合理安排时间和资源,我努力平衡工作、学习和创作之间的关系,以实现个人和职业的双重发展。总的来说,作为一个创作者,我获得的收获不仅包括技能和经验的提升,还包括情感的满足、与读者的连接以及与同行的交流和学习。总的来说,我的憧憬包括在职业、创作、学习和个人发展等方面取得更多的进步和成就,成为一个更好的自己,为社会的发展和进步做出更大的贡献。

2024-04-11 23:52:42 764 1

原创 MySQL-数据类型:整数类型、浮点类型、定点数类型、位类型:BIT、日期与时间类型、文本字符串类型、ENUM类型、SET类型、二进制字符串类型、JSON 类型、空间类型

MySQL-数据类型:整数类型、浮点类型、定点数类型、位类型:BIT、日期与时间类型、文本字符串类型、ENUM类型、SET类型、二进制字符串类型、JSON 类型、空间类型

2024-04-10 23:54:51 1078 1

原创 MySQL-创建和管理表:基础知识、创建和管理数据库、创建表、修改表、重命名表、删除表、清空表、拓展

因为从系统架构的层次上看,MySQL 数据库系统从大到小依次是数据库服务器、数据库、数据表、数据表的行与列。

2024-04-10 23:40:37 2182 1

原创 MySQL-多表查询:多表查询分类、SQL99语法实现多表查询、UNION的使用、7种SQL JOINS的实现、SQL99语法新特性、多表查询SQL练习

多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。

2024-04-09 23:58:40 1127 1

原创 MySQL-聚合函数:聚合函数概述、GROUP BY使用、HAVING使用、SELECT的执行过程、聚合函数SQL练习

聚合函数作用于一组数据,并对一组数据返回一个值。可以使用GROUP BY子句将表中的数据分成若干组过滤分组:HAVING子句FROM -> WHERE -> GROUP BY -> HAVING -> SELECT 的字段 -> DISTINCT -> ORDER BY -> LIMIT

2024-04-09 23:48:19 2182 1

原创 MySQL-复杂SQL语句编写:子查询分析与练习

子查询(内查询)在主查询之前一次执行完成。子查询的结果被主查询(外查询)使用 。注意事项:子查询要包含在括号内,将子查询放在比较条件的右侧单行操作符对应单行子查询,多行操作符对应多行子查询。

2024-04-07 23:56:42 744 1

原创 MySQL-主从复制:概述、原理、同步数据一致性问题、搭建流程

一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是采用数据库集群的方案,做主从架构、进行读写分离,这样同样可以提升数据库的并发处理能力。但并不是所有的应用都需要对数据库进行主从架构的设置,毕竟设置架构本身是有成本的。如果我们的目的在于提升数据库高并发访问的效率,那么首先考虑的是如何优化SQL和索引,这种方式简单有效;其次才是采用缓存的策略,比如使用 Redis将热点数据保存在内存数据库中,提升读取的效率;最后才是对数据库采用主从架构,进行读写分离。

2024-04-07 23:53:23 2265 1

原创 MySQL-基本SQL语句编写:运算符练习

MySQL-基本SQL语句编写:运算符练习

2024-04-06 15:35:16 786 1

原创 MySQL-用户与权限管理:用户管理、权限管理、角色管理

MySQL-用户与权限管理:用户管理、权限管理、角色管理

2024-04-06 15:18:23 1952 1

原创 MySQL-排序与分页

MySQL-排序与分页

2024-04-05 23:56:26 1009 3

原创 MySQL-存储引擎

如果在创建表的语句中没有显式指定表的存储引擎的话,那就会默认使用`InnoDB`作为表的存储引擎。

2024-04-05 23:55:12 807 1

原创 MySQL-单行函数:数值函数、字符串函数、日期和时间函数、流程控制函数、加密与解密函数、MySQL信息函数、其他函数、单行函数练习

MySQL数值函数、字符串函数、日期和时间函数、流程控制函数、加密与解密函数、MySQL信息函数、其他函数、单行函数练习

2024-04-04 23:51:44 1201 1

原创 MySQL-逻辑架构:逻辑架构分析、SQL执行流程、数据库缓冲池

MySQL三层结构:连接层:客户端和服务器端建立连接,客户端发送 SQL 至服务器端;SQL 层(服务层):对 SQL 语句进行查询处理;与数据库文件的存储方式无关;存储引擎层:与数据库文件打交道,负责数据的存储和读取。

2024-04-04 21:32:04 1463 1

原创 MySQL-SQL编写练习:基本的SELECT语句

DDL:数据定义语言。CREATE \ ALTER \ DROP \ RENAME \ TRUNCATEDML:数据操作语言。INSERT \ DELETE \ UPDATE \ SELECT (重中之重)DCL:数据控制语言。COMMIT \ ROLLBACK \ SAVEPOINT \ GRANT \ REVOKE

2024-04-03 23:57:08 625 1

原创 MySQL-视图:视图概述、创建、查看、更新、修改、删除

视图是一种虚拟表,本身是不具有数据的,占用很少的内存空间,它是 SQL 中的一个重要概念。视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。视图的创建和删除只影响视图本身,不影响对应的基表。但是当对视图中的数据进行增加、删除和修改操作时,数据表中的数据会相应地发生变化,反之亦然。向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的SELECT语句

2024-04-03 23:47:22 4653 3

原创 MySQL-执行计划、explain关键字查询执行计划以及explain案例分析

MySQL 的执行计划(Execution Plan)是数据库查询优化器生成的一种指导性信息,它描述了 MySQL 执行查询时所采用的具体执行策略。执行计划通常由 MySQL 的查询优化器根据查询语句、表结构、索引等信息进行生成,并且用于指导 MySQL 数据库引擎执行查询操作。

2024-04-02 23:58:41 1940 1

原创 MySQL-linux安装-万能RPM法

MySQL-linux安装-万能RPM法

2024-04-02 13:48:46 1193 4

原创 每日一练:LeeCode-70. 爬楼梯【动态规划】

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

2024-03-30 23:58:58 406 3

原创 redis集群配置(精华版):分片集群模式

​ Redis 分片集群是一种用于横向扩展 Redis 数据库的方法,它将数据分散存储在多个 Redis 节点中,从而提高了系统的吞吐量和容量。在 Redis 分片集群中,数据被分割成多个片段(或分片),然后分布在不同的 Redis 节点上。

2024-03-30 03:01:11 1232 2

原创 redis集群配置(精华版):哨兵模式

主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。

2024-03-29 19:37:29 1806 1

原创 redis集群配置(精华版):主从复制模式

主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master/Leader),后者称为从节点(Slave/Follower), 数据的复制是单向的!只能由主节点复制到从节点(主节点以写为主、从节点以读为主)。默认情况下,每台Redis服务器都是主节点,一个主节点可以有0个或者多个从节点,但每个从节点只能由一个主节点。

2024-03-29 17:11:17 851 1

SpringBoot-自定义注解AOP实现及拦截器示例

SpringBoot-自定义注解AOP实现及拦截器示例代码

2024-04-12

MySQL-SQL编写练习:基本的SELECT语句

练习的建表语句及数据

2024-04-04

空空如也

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

TA关注的人

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