自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL高级----InnoDB引擎

MySQL的逻辑存储结构和物理存储结构

2024-07-08 20:14:11 827

原创 MySQL高级----详细介绍MySQL中的锁

详细介绍MySQL中的全局锁,表锁,元数据锁,意向锁,行级锁等。

2024-07-07 14:07:29 888

原创 MySQL中的视图是什么?有什么作用?

MySQL的视图有什么用?MySQL视图如何使用?

2024-07-04 00:18:19 870

原创 SQL优化

MySQL如何优化?在多个方面进行解答。

2024-07-02 22:20:07 660

原创 详细介绍MySQL的索引(下)

MySQL索引设计原则,众多索引失效场景,SQL如何进行优化等。

2024-06-30 17:26:24 1030

原创 详细介绍MySQL的索引(上)

索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。索引的优缺点优点 : 提高数据检索的效率,降低数据库的lO成本;通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗。缺点: 索引列也是要占用空间的;

2024-06-29 15:47:00 891

原创 MySQL中的存储引擎

存储引擎就是存储数据,建立索引,更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可以称为表类型(即一个数据库下的表可以选择不同的存储引擎)。1. 如何查看一个表的存储引擎?SHOW CREATE TABLE + '表名' ,可以查看建表语句,这里面会携带存储引擎信息。MySQL从5.5版本后的默认存储引擎是InnoDB(在不特殊指定引擎类型时)。2. 如何查看当前数据库所支持的存储引擎?每一个存储引擎的支持内容均可以在上述查看到。

2024-06-28 17:32:51 548

原创 Redis 集群:主从复制配置指南

通过以上步骤,你可以配置 Redis 主从集群,并使用 Java 客户端进行连接和操作。这将有助于提高应用程序的可靠性和扩展性。在 Java 应用程序中,你可以使用 Jedis 或 Lettuce 这样的 Redis 客户端库来连接和操作 Redis。首先,确保你的系统上已安装 Redis。接下来,我们将配置一个简单的 Redis 主从集群。首先,添加 Jedis 依赖到你的项目中。如果你使用 Maven,可以在。# 开启 RDB 持久化。

2024-06-04 14:09:58 556

原创 深入理解DDD架构的设计思想

DDD架构将应用看成是领域之间的组合,让架构调整贯穿整个项目周期,它是以领域划分为设计基础的,DDD强调的是以业务来理解技术并且以通用语言作为建设核心,以一系列的抽象概念作为开发模式。通常是Controller层(控制器层)-->业务层(Service层)--> 基础设施层(Dao Redis MQ)DDD让复杂的系统保持年轻。通常是用户接口层 --> 应用层 --> 领域层 --> 基础层。DDD架构使技术主动了解业务,业务如何运行,软件就如何构建。传统的MVC架构下的大泥球结构严重的影响系统的灵活性。

2024-05-17 14:52:31 311

原创 深入理解Java类加载器的作用

深入理解Java类加载器的作用

2024-05-17 12:43:56 1332

原创 什么是直接内存(NIO)

直接内存(NIO)

2024-05-15 17:19:38 327

原创 JAVA虚拟机(JVM)中的堆

Java虚拟机中的堆是一个非常重要的区域,它一般用来存储实例对象和数组的区域,它存在于运行时数据区,同时它是线程共享的区域,在堆内存不足时会发生OOM,也是Java中的垃圾回收器回收的主要区域。但是不正确的内存管理可能导致内存泄漏,即不需要的对象也没有被垃圾回收器回收掉。

2024-05-15 16:37:52 215

原创 Java虚拟机栈

Java虚拟机栈

2024-05-14 17:12:05 603

原创 什么是JVM中的程序计数器

什么是JVM中的程序计数器

2024-05-12 13:34:25 592

原创 常见的线程安全类

可以看到StringBuffer首先也是被final关键字修饰的类,StringBuffer的方法中使用了synchronized 关键字进行同步处理,当一个线程想要去访问StringBuffer对象的方法时,其他线程必须等待这个线程执行完后才能继续访问,这样就保证了在多线程环境下,对 StringBuffer 的操作不会发生冲突,从而确保了线程安全性。这里把这两个类放在一起说,因为他们都是不可变类,因为其内部的状态是没法改变的,因此它们的方法都是线程安全的,话不多说直接上源码。他们的每个方法是原子的,

2024-04-06 17:26:10 742 1

原创 用友集团一面面经

用友集团一面面经

2024-04-05 09:34:23 189

原创 uuid作为主键和自增主键的优缺点

uuid和自增主键到底怎么选择

2024-03-24 11:08:16 621

原创 关于类加载器的双亲委派机制

双亲委派机制指的是:当一个类加载器接收到加载类的任务时,会自底向上的去检查这个类是不是被加载过,如果没有加载过再自上到下进行加载。如果在向上检查是否加载过的过程中发现已经加载过,那么直接返回这个Class对象,加载过程结束,这样有效的避免了一个类重复加载。如果一个类从来未被加载过,那么会自顶向下加载,加载关键是查看此类是否在自己的加载路径中。1.保证类加载的安全性:通过双亲委派机制避免恶意代码替换jdk中的核心类。2.避免重复加载:双亲委派机制可以避免同一个类被重复加载。双亲委派机制的作用是什么。

2024-01-29 17:28:18 339

原创 RabbitMQ-如何保证消息不丢失

由于mq是基于内存存储消息的,那么在mq服务宕机等一些情况下可能导致消息的丢失。RabbitMQ提供了publisher confirm机制来避免消息发送到Mq的过程中丢失,消息发送到Mq以后,会返回一个结果给发送者,表示消息的发送成功。第三种是correlated:MQ异步回调方式返回回执消息,即生产者发送完消息后可以干其他的事情,直到接收到mq的回执。第二种是 simple:表示同步阻塞并等待mq的回执消息,即发送完消息后不能干其他的事情,只能等待mq的回执,很显然这样效率很低。

2024-01-25 12:30:45 8060

原创 模拟缓存击穿并提供解决方案

模拟缓存击穿并提供代码解决方案

2024-01-21 11:52:57 925

原创 模拟缓存穿透并提供解决方案

模拟缓存穿透并提供解决方案

2024-01-14 19:37:54 1085 2

原创 Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException

当你尝试对一个键执行某种特定数据结构的操作时,如果该键所存储的值的数据结构与你尝试的操作不匹配,就会触发这个错误。1. 键对应的值的数据结构与操作不匹配:确认你正在对正确的键执行正确的操作。确保键对应的值是你期望的数据结构(如字符串、哈希、列表等),并且执行的操作与值的数据结构相匹配。请检查你的代码逻辑,确认对键的操作与键对应的值的数据结构相匹配,同时确保键的存在和其他操作对键的干扰。3. 键对应的值已经被其他操作修改了数据结构:在执行操作之前,确保键对应的值没有被其他操作修改为不匹配的数据结构。

2023-07-14 17:54:20 17063

原创 @Resource注解和@Autowired在注入时的区别

@Resource注解和@Autowired在注入时的区别

2023-07-12 16:47:13 137

原创 java中静态变量的作用

java中静态变量的作用

2023-07-12 09:45:39 1092

原创 静态代码块的作用(static)

静态代码块的作用(static)

2023-07-12 09:43:04 1457

原创 @Configuration的作用(详解)

@Configuration的作用(详解)

2023-07-12 09:36:06 1661

原创 数据库选择

设学生关系S(SNO,SNAME,SSEX,SAGE,SDEPT)的主健为SNO,学生选课关系SC(SNO,CNO,SCORE)的主健为SNO和CNO,关系R(SNO,CNO,SSEX,SAGE,SDEPT,SCORE)的主健为SNO和CNO,关系R满足(A)设学生关系S(SNO,SNAME,SSEX,SAGE,SDEPT)的主健为SNO,课程关系C(CNO,CNAME)的主键为CNO,学生选课关系SC(SNO,CNO,SCORE)的主健为SNO和CNO,则这三个关系都(D)语句执行完成后的结果是?

2023-04-22 08:20:13 545

原创 数据库大题练习题

CREATETABLE选课表(选课idCHAR(4)PRIMARYKEY,学生idCHAR(4),课程idCHAR(4),成绩INT,FOREIGNKEY(学生id)REFERENCES学生表(学生id),FOREIGNKEY(课程id)REFERENCES课程表(课程id))CHARSET=utf8;CREATETABLE学生(学生idINTPRIMARYKEY,学号INT,专业VARCHAR(30),年纪INT,姓名VARCHAR(30),姓名拼音缩写VARCHAR(30));

2023-04-22 08:16:37 153

原创 有关数据库的简答题

1、数据库设计过程一般包括哪些内容?答:需求分析、概念设计、逻辑设计、物理设计、应用开发(系统实施)、系统维护。2、数据库系统的特点?答:数据结构化、数据共享性高,数据独立性强,数据粒度小,统一的管理和控制,独立的数据操作界面。3、简述数据库的三级模式结构?答:(1)、内模式也称为物理结构、物理模式,是对数据的物理结构和存储方式的描述(2)、模式也成为整理逻辑结构、逻辑模式,是对数据的整体数据逻辑结构和特征的描述,是现实世界信息内容集合的表示。模式是数据库模式结构的中间层,通

2023-04-22 08:14:53 421

原创 数据库题库

所以B+Tree的查询效率更加稳定。32. (单选题, 2分)【单选题】数据库的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,Mysql 的数据库的默认隔离级别为( )。2. (单选题)数据库的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、rializable,Mysql 的数据库的默认隔离级别为( )。

2023-04-21 10:23:06 1967 1

原创 干净整洁的SSM整合配置文件

将配置文件分开写很清楚,最后在applicationContext.xml文件中import导入即可。最后分开写后一定要把它们都放在application这个域中进行导入整合。spring-service的配置文件。下面给出resources的配置文件。spring-dao的配置文件。最后给出大家我的maven配置。mybatis的核心配置文件。spring-mvc配置文件。首先我的项目结构如下。

2023-04-19 08:28:11 239 4

原创 List和反射你必须知道的内容

反射可以提供运行时的类信息,并且这个类可以在运行时才加载进来,甚至在编译时期该类的 .class不存在也可以加载进来。具体来说,程序运行时,通过反射机制,我们可以通过反射获得任意一个类的Class对象,并通过这个对象查看这个类的信息;代表一个未知的类型,但它必须是T的子类型,即可以接受任何继承自T的类型的List。代表一个未知的类型,但它必须是T的父类型,即可以接受任何T 的父类构成的 List;是类型通配符,List<?> 可以表示各种泛型List的父类,意思是元素类型未知的List;

2023-04-04 11:22:29 215 1

原创 关于数据库中的DDL,DML,DCL,DQL之间的区别

所有的 DDL 语句都会导致事务隐式提交,换句话说,当你在执行 DDL 语句前,事务就已经提交了。2.DML (Data Manipulation Language)是用来操作数据库中的数据的语言,如插入、更新、删除数据等,在DML中支持事务的提交和回滚操作。4.DQL (Data Query Language)是用来查询数据库中的数据的语言,如 SELECT 语句。除了 GRANT 和 REVOKE 之外,其他的创建、更新或者删除用户的操作也会导致事务隐式提交。

2023-03-30 11:45:07 923

原创 一小段代码让你彻底明白AoP

为了大家更加方便的理解,薛豆豆先把示意图给大家放出来(本图只是方便读者理解,具体代码实现并不是和本图非业务逻辑代码相似,请读者理性观看)Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。之前薛豆豆仔给大家出来一篇什么是面向AoP编程的概念,这次薛豆豆就带着大家用一段简单的 代码来告诉大家AoP的基本实现过程。本次模拟的核心业务有两个,分别是用户的登录认证和用户的退出认证。本文的代码实现的动态代理使用的是cglib。

2023-03-10 15:33:27 87 1

原创 将Spring6和Log4j2进行整合。(log4j2.xml文件内容可以拷贝)

将Spring6和Log4j2进行整合。(log4j2.xml文件内容可以拷贝)

2023-03-07 08:03:22 196 3

原创 finally的一些小知识

finally一定会被执行吗?finally中声明的是一定会被执行的代码,即使catch中又出现了异常、try中有return语句或catch中有return语句等情况。当在try块或catch块中遇到return语句时,finally语句块将在方法返回之前被执行。finally可以有return吗?在通常情况下,不要在finally块中使用return、throw等导致方法终止的语句,一旦在finally块中使用了return、throw语句,将会导致try块、catch块中的return、th

2023-03-04 18:32:08 69 1

原创 一篇文章带你彻底了解AOP面向切面编程

一篇文章带你了解AOP面向切面编程

2023-03-03 19:24:39 102 2

原创 你真的了解hashCode()和equals()?

hashCode()和equals()hashCode()的作用是获取哈希码(int整数),哈希码的作用是确定该对象在哈希表中的索引位置。equals()是用于比较两个对象是否相等。如果两个对象的hashCode值相等,那这两个对象不一定相等(哈希碰撞),同样的hashCode有多个对象,继续使用 equals()来判断是否真的相同;如果两个对象的hashCode值相等并且equals()方法也返回true,我们才认为这两个对象相等;如果两个对象的hashCode值不相等,我们就可以直接认为这两个对象不

2023-03-01 20:58:18 125 1

原创 GoF代理模式中的代理模式

GoF代理模式的重点

2023-03-01 20:27:41 143 3

空空如也

空空如也

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

TA关注的人

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