前言 数据库应该是所有后端开发都会涉及的,数据库事务,很多业务场景可能并不要求很高,而且也很少出现,经常出现在高并发,高流量的情况下,在未来迎接挑战的时候,需要掌握相关的知识...
前言 数据库应该是所有后端开发都会涉及的,数据库事务,很多业务场景可能并不要求很高,而且也很少出现,经常出现在高并发,高流量的情况下,在未来迎接挑战的时候,需要掌握相关的知识...
(一)前言 因为公司框架使用了dubbo作为RPC框架,所以,对于dubbo进行相应的学习,通过官网的学习,源码的阅读,总结出以下的内容,希望对dubbo有个更全面的认识,同...
前言 了解dubbo的时候,因为SPI机制用到了动态代理的机制,从而涉及到了类加载机制相关的东西,整个概念也属于非常底层的逻辑,也好久没整理了,现整理一下,便于后续翻阅。尽可...
前言 在使用数据库的时候,最需要了解的知识点肯定就是索引,所以,针对索引希望能够整理出一些知识点,做个简单总结。 索引结构 B+树 B+树在之前的文章中已经做了简单介绍多种树...
(一)二叉树 二叉树指的是每个节点最多只能有两个子树的有序树。 二叉树特点 每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。 左子树和右子树是有顺序的,次序不能任意...
前言 继之前synchronized关键字之后,这里旨在介绍常见的锁概念,源码相关。内容会进行不定时更新,希望能更完善的整理锁相关知识点。 公平锁和非公平锁 1.公平锁 多个...
前言 关键字 synchronized可以保证在同一个时刻,只有一个线程可以执行某个方法或者某个代码块(主要是对方法或者代码块中存在共享数据的操作),同时我们还应该注意到sy...
(一)前言 学习多线程,要理解java内存模型,才能理解多线程情况下,数据的变化,指令的运行等,才能更好的了解多线程的运行情况和日常使用的注意点。 (二)JMM与硬件内存结构...
前言 用过redis的人,或者去面试的人被问redis的问题,基本都会了解redis特别快。redis高校的原因: 1.单线程,减少了线程切换的消耗。 2.基于内存操作 3....
前言 在阅读公司自主封装的jedis源码过程中,了解到sentinel集群连接多个master,当客户端连接sentinel获取对应key的主节点信息时,用到了一致性hash...
前言 因为之前线上redis集群主从切换,client端未感知,导致往从库写数据报错,所以学习并整理了redis集群相关知识点。 主从复制 主从复制,是只从一台redis服务...
1.线上问题进程排查 通常我们会在线上发现一些内存占用或者CPU占用比较高的进程.使用top指定,我们可以看到当前服务器占用CPU和内存较高的一些进程。同时,我们可以通过lo...
1.redis是一个基于内存的高性能key-value数据库。 2.redis是单线程的,利用IO多路复用技术将并发访问变为串行访问,同时提高了访问效率,以及原子化。 3.r...
缓存穿透 缓存穿透是指用户请求的数据在缓存中不存在即没有命中,同时在数据库中也不存在,导致用户每次请求该数据都要去数据库中查询一遍,然后返回空。 常见与恶意攻击时,不断请求系...
概念 基于池化思想管理和使用线程的机制 优点 降低资源消耗:重复利用已创建的线程,降低线程创建和销毁曹成的损耗 提高响应速度:无需等待线程创建可立即执行 提高线程的可管理性:...
前言 在java开发过程中,基本都会用到spring,说起spring就会讲到bean的生命周期,这里通过@autowired从源码角度来讲解bean的生命周期。 @Auto...