GaryLee's Blog
Mybatis中有哪些占位符?区别是什么? Mybatis中有哪些占位符?区别是什么?
一、Mybatis中有哪些占位符?Mybatis有两个占位符,分别是#{}和${} 二、Mybatis中#{}和${}有什么区别?-- #{} select id from #{table} where id = #{id} -- ${}
2023-09-09
ThreadLocal是什么?实现原理呢? ThreadLocal是什么?实现原理呢?
一、ThreadLocal是什么?ThreadLocal是java.lang包下的一个类,用来解决高并发下线程安全的问题,具体是通过为每一个线程创建一份共享变量的副本来保证各个线程之间的变量的访问和修改互不影响。 比如一次用户的页面请求操作
2023-09-08
Spring中Bean的作用域有哪些? Spring中Bean的作用域有哪些?
一、Spring中Bean的作用域Spring中支持以下五种Bean的作用域: singleton(默认):单例,也就是Spring容器中只会有一个Bean实例 prototype:每次获取都会创建一个新的Bean实例 request:每
2023-09-08
Kafka如何解决消息积压问题? Kafka如何解决消息积压问题?
一、Kafka如何解决消息积压问题?首先分析一下消息积压问题的原因,如果不是系统BUG导致的,那就需要优化消费端的逻辑,来提高消费速率。 如果是系统BUG导致的,那么需要先修复系统BUG,然后再做临时扩容来消费大量的积压消息,具体步骤如下:
2023-09-06
JVM运行时数据区域是怎样的? JVM运行时数据区域是怎样的?
一、JVM运行时数据区域是怎样的?JVM运行时数据区域组成有以下几项: 堆:线程共享,用于存放对象实例,同时还用于垃圾回收 虚拟机栈:线程私有,用于存放局部变量(每次方法调用都会创建一个栈帧,用于存放局部变量表、操作数栈、动态链接、返回地
2023-09-06
Spring事务 Spring事务
一、什么是事务?参考《MySQL事务》 二、Spring支持哪些事务管理类型?Spring支持两种类型的事务管理: 编程式事务管理:用户需要通过编程的方式手动管理事务的开启、提交、回滚等操作(比较灵活,但是比较难维护) 声明式事务管理:用
2023-09-06
Redis的持久化机制是怎样的? Redis的持久化机制是怎样的?
一、Redis提供了哪些持久化机制?Redis提供了两种持久化的机制,分别是RDB和AOF(在Redis 4.0之后采用混合方式)。 二、RDB和AOF有什么区别?1、RDBRDB是将Redis内存中的数据定期保存到磁盘中,防止数据在Red
2023-09-05
InnoDB和MyISAM有什么区别? InnoDB和MyISAM有什么区别?
一、InnoDB和MyISAM有什么区别?InnoDB和MyISAM都是MySQL的存储引擎,MySQL在5.5之前默认使用MyISAM作为存储引擎,5.5之后默认使用InnoDB作为存储引擎,它们的区别主要是以下几点: InnoD
2023-09-05
如何实现一个分布式锁? 如何实现一个分布式锁?
一、什么是分布式锁?分布式锁,是一种跨进程、跨机器节点的互斥锁,它可以用来保证多机器节点对于共享资源访问的互斥性。 二、分布式锁的特点想要实现一个分布式锁,主要要有以下几个特点: 互斥性:同一时间只能有一个线程获取到锁,然后去访问共享资源
2023-09-05
什么是倒排索引? 什么是倒排索引?
一、背景在ElasticSearch中,通过关键字/关键词去查找对应文本的过程,是由全文检索引擎实现的。 全文检索引擎就是对非结构化文本进行解析、搜索的技术,而非结构化文本的处理关键在于分词与倒排索引。 二、什么是倒排索引?在Elastic
2023-08-26
为什么要使用ElasticSearch? 为什么要使用ElasticSearch?
一、为什么要使用ElasticSearch?因为在我们的业务场景中,可能会有大数据量的查询场景,这时候如果我们用常规的缓存和数据库来提供支持,在极端情况下可能会出现实例负载过高,导致系统不可用。 所以我们需要选择一款支持大数据量查询的框架或
2023-08-26
什么是服务降级? 什么是服务降级?
一、什么是服务降级?服务降级是一种提高系统稳定性和可用性的策略,简单来说,就是当服务器压力增加时,根据业务需求判断,从而不对外提供部分非核心服务的功能。 简单举个例子,在秒杀系统中,如果秒杀过程中服务器出现宕机或者部分依赖服务不可用了,做与
2023-08-25
7 / 15