自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 idea 导入Spring源码遇到的坑并解决

idea导入Spring源码踩坑并解决

2024-11-01 11:44:12 626 1

原创 MySQL架构

主要由三种情况:1、脏数据写磁盘成功,这种情况是最常见的,这种情况不需要Doublewrite Buffer,2、表空间写失败,如果写表空间失败,那么这些数据不会写到数据文件中,数据库认为这次刷盘没有发生过,mysql此时会载入原始数据,不做任何修改,3、脏数据刷数据文件失败,此时写表空间成功了,但是写数据文件失败,在恢复的时候,mysql会比较整个页面,如果不对的话,直接从Doublewrite Buffer中找到该页的副本,并将其复制到数据文件中,然后再进行redolog的操作。

2024-09-06 09:19:08 2659

原创 MySQL事务

MySQL事务

2024-09-06 09:17:36 2106

原创 MySQL索引

MySQL常用面试拆分

2024-09-04 19:59:10 1465

原创 微服务相关面试

微服务相关面试

2024-09-04 19:54:53 1490

原创 MQ 面试

对于消息接收端的情况,幂等的含义是采用同样的输入多次调用处理函数,得到同样的结果。例如,一个SQL操作这个操作多次执行,id等于1的记录中的 count字段的值都为10,这个操作就是幂等的,我们不用担心这个操作被重复。再来看另外一个SQL操作这样的SQL操作就不是幂等的,一旦重复,结果就会产生变化。

2024-08-31 19:04:08 1463

原创 Spring面试

JWT(JSON Web Token)是一种用于安全传输信息的开放标准。它是一种基于JSON的轻量级和自包含的令牌,用于在网络应用之间传递声明。JWT通常用于在用户和服务之间进行身份验证和授权。JWT由三部分组成:头部(Header)、载荷(Payload)和签名(Signature)。头部包含令牌的元数据和加密算法信息,载荷包含声明(claim)信息,如用户ID、角色等信息,签名用于验证令牌的真实性和完整性。

2024-08-29 22:28:25 1069

原创 MyBatis面试

用户提交请求操作 – 》 先从缓存中获取信息 --》 如果有直接返回 --》没有 查询数据库中的数据 , 结果存储在缓存中。同时返回结果先从缓存中获取信息 --》 先从二级缓存获取–》一级缓存获取一级缓存:SqlSession级别的 线程 默认开启的二级缓存:SqlSessionFactory级别 进程 默认关闭 settings mapper映射文件中添加 cache标签MyBatis 中的缓存机制主要是通过在执行 SQL 查询时将查询结果缓存在内存中,以提高查询性能。

2024-08-29 22:20:05 865

原创 Redis面试

由于计算机体系结构的设计问题,所有的程序都会在CPU之中进行运算,然而考虑到计算数据的完整性,所有的数据不会通过磁盘加载,而是会通过内存进行数据的缓存,最终才会被加载到CPU之中,这样一来在整个项目的运行过程之中,如果磁盘IO的操作性能较差,那么最终就会导致程序变慢。

2024-08-26 23:27:58 1067

原创 MySQL面试

MySQL面试

2024-08-18 20:24:51 961

原创 JVM面试

Stop-The-World 简称 STW该回收的对象没有被回收不该回收的对象被回收了在STW状态下,所有的线程都是停止运行的 - >垃圾回收线程除外当STW发生时,出了GC所需要的线程,其他的线程都将停止工作,中断了的线程知道GC线程结束才会继续任务STW是不可避免的,垃圾回收算法的执行一定会出现STW,而我们最好的解决办法就是减少停顿的时间GC各种算法的优化重点就是为了减少STW,这也是JVM调优的重点。

2024-08-16 22:32:58 860

原创 并发编程面试

1.进程: 操作系统进行资源分配和调度的基本单位。每个进程有独立的内存空间。进程通讯就采用共享内存,MQ,管道。2.线程: 一个进程可以包含多个线程,线程就是CPU调度的基本单位。一个线程只属于某一个进程。线程之间通讯,队列,await,signal,wait,notity,Exchanger,共享变量等等都可以实现线程之间的通讯。3线程:协程是一种用户态的轻量级线程。它是由程序员自行控制调度的。可以显示式的进行切换。一个线程可以调度多个协程。

2024-08-15 23:14:41 864

原创 Java基础面试

这个是从时间和空间的角度综合得出的。如果是1.0 当数组的值全部填充了才会发生扩容,此时Hash冲突是避免不了的。链表的操作或者红黑树的操作会牺牲时间来保证空间的利用率如果是0.5 当数组中一半的数据利用了之后就会开始扩容。这时填充的数据少。hash冲突也会减少,底层的链表和红黑树的高度也会降低。查询效率增加。但是这时还有太多的空间没有利用。空间资源浪费了。所以0.75是综合考虑得出的首先根据 key 的值计算 hash 值,找到该元素在数组中存储的下标;

2024-08-15 22:49:05 953

原创 并发安全ConcurrentHashMap集合深入学习(持续更新)

并发安全集合ConcurrentHashp深入学习

2024-04-19 10:50:57 1243 1

原创 JSON数据平铺和对象化

JSON层级key平铺

2022-11-25 16:09:00 1639

原创 JUC详细介绍涵盖AQS、ReentrantLock、ReentrantReadWriteLock、CountDownLatch等各种常用锁分析

JUC介绍

2022-09-25 21:47:58 466

原创 CompletableFuture(可完成的异步执行的任务)源码解析(史上最全分析 借鉴深入理解并发原理)

CompletableFuture源码解析(会持续更新)

2022-09-21 22:10:55 2378 2

原创 FutureTask(异步执行的任务)源码解析

FutureTask源码解析

2022-09-19 21:29:58 521

原创 docker部署MongoDB主从仲裁,带连接认证

docker部署mongodb主从仲裁带认证

2022-09-06 10:20:51 918

原创 ScheduledThreadPoolExecutor线程池介绍

调度任务线程池介绍

2022-09-01 20:51:11 365

原创 线程池介绍

线程池大致介绍

2022-08-13 21:51:06 126

原创 ThreadPoolExecutor源码解析

ThreadPoolExecutor线程池解析

2022-08-09 22:06:08 174

原创 AbstractExecutorService源码解读

AbstractExecutorService源码解读

2022-08-08 09:36:31 230

空空如也

空空如也

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

TA关注的人

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