GaryLee's Blog
08
16
Redis过期策略 Redis过期策略
一、Redis过期策略有哪些?Redis有三种过期策略,分别为: 定时过期:指每个设置过期时间的key都会创建一个定时器,等到过期时间就会清除该key(可以节省内存,但会占用大量cpu资源,影响缓存的响应时间和吞吐量) 惰性过期:指每个设
2023-08-16
15
如何排查MySQL索引失效的问题? 如何排查MySQL索引失效的问题?
一、索引失效分析MySQL索引失效是一个比较常见的问题,这种情况一般会在发生慢SQL时需要考虑是否存在索引失效的问题 一般MySQL索引失效的原因有: 索引列参与计算:如… where a + 1 = 2 对索引列进行函数操作:如… wh
2023-08-15
13
介绍一下Spring的AOP 介绍一下Spring的AOP
一、什么是AOP?AOP(Aspect-Oriented Programming),一般称为面向切面编程,用来将与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装成一个可重用的模块,这个模块就叫做切面AOP的优点: 减少系统中
2023-08-13
12
Java动态代理 Java动态代理
一、什么是代理?代理是一种设计模式(代理模式),当我们要访问某个目标类的时候,不是直接访问目标类,而是通过访问代理类,然后代理类调用目标类来完成的,也就是直接调用变成间接调用 1、代理的好处 解耦 方便扩展:不修改目标类逻辑的前提下,起到增
2023-08-12
08
Redis集群 Redis集群
一、Redis集群有哪几种实现方式?Redis集群有三种实现方式: 主从复制 哨兵模式 Redis Cluster集群 1、主从复制优点: 读写分离:master节点负责读写,slave节点负责读 slave节点能够分担master节
2023-08-08
04
Java类加载机制 Java类加载机制
一、背景二、Java中有哪些类加载器?JDK有三个类加载器,分别为: 启动类加载器(BootStrapClassLoader):负责加载Java运行时环境核心类库(即%JAVA_HOME%/lib下的jar包和class类),是ExtCl
2023-08-04
01
07
31
如何实现一个点赞功能? 如何实现一个点赞功能?
一、介绍点赞一般出现在朋友圈、微博、动态等场景,基本操作有点赞、取消点赞、查询点赞数量、判断自己是否点过赞等 二、实现使用Redis的set结构简单实现,key存储帖子id,value存储点赞用户的uid点赞:sadd <key>
2023-07-31
31
29
如何排查CPU飙升问题? 如何排查CPU飙升问题?
一、CPU飙升可能的原因背景:CPU是整个电脑的核心计算资源,对于一个应用进程来说,CPU的最小执行单元是线程导致CPU飙高的原因有几个方面: CPU上下文切换过多:由于在同一时刻下每个CPU核心只能运行一个线程,如果存在多个线程,CPU
2023-07-29
29
如何用Redis实现延迟队列? 如何用Redis实现延迟队列?
一、什么是延迟队列?延迟队列是一种特殊类型的消息队列,它允许把消息发送到队列中,但不立即投递给消费者,而是在一定时间后再将消息投递给消费者 二、使用场景延迟队列适用于需要在未来的某个时间执行某个任务的场景,如: 订单的超时处理:如电商交易
2023-07-29
25
Java面试题 Java面试题
一、随手记录的Java面试题 ==和equals有什么区别? 浅拷贝和深拷贝有什么区别? 线程的sleep和wait有什么区别? 什么是动态代理?有什么优点和缺点? 关于锁的synchronized和ReentrantLock有什么区别?
2023-07-25
10 / 16