摘要: 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。 本文由以下三个部分组成1、讲解缓存更新策略2、对每种策略进行缺点分析3、针对缺点给出改进方案 先做一个说明,从理论上来说,给缓存设置过期时间,是保证最终一致性的解决方案。这 阅读全文
posted @ 2020-07-28 10:57 郭慕荣 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 之前在面试过程当中,会遇到长连接和短连接的面试,其实这个问题挺理论化的,但是只有扎实的掌握了理论问题,在实际的开发过程当中就会很快的解决这种问题。不过这个知识点确实比较理论性比较强,所以只有好好理解一下才可以的。 短连接 连接->传输数据->关闭连接比如HTTP是无状态的的短链接,浏览器和服务器每进 阅读全文
posted @ 2020-07-27 15:42 郭慕荣 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 所谓AQS,指的是AbstractQueuedSynchronizer,它提供了一种实现阻塞锁和一系列依赖FIFO等待队列的同步器的框架,ReentrantLock、Semaphore、CountDownLatch、CyclicBarrier等并发类均是基于AQS来实现的,具体用法是通过继承AQS实 阅读全文
posted @ 2020-06-22 17:47 郭慕荣 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 聚集(clustered)索引,也叫聚簇索引定义:数据行的物理顺序与列值(一般是主键的那一列)的逻辑顺序相同,一个表中只能拥有一个聚集索引。 注:第一列的地址表示该行数据在磁盘中的物理地址,后面三列才是我们SQL里面用的表里的列,其中id是主键,建立了聚集索引。也就是根据主键建立了聚集索引(聚簇索引 阅读全文
posted @ 2020-06-16 16:07 郭慕荣 阅读(2177) 评论(0) 推荐(0) 编辑
摘要: 一、从java类加载机制说起 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个这个类的Java.lang.Class对象,用来封装类在方法区类的对象。java中的类加载器负载加载来自文件系统、网络或者其他来源的类文件。jvm的类加载器 阅读全文
posted @ 2020-06-09 20:52 郭慕荣 阅读(3951) 评论(0) 推荐(0) 编辑
摘要: 什么叫做覆盖索引?解释一: 就是select的数据列只用从索引中就能够取得,不必从数据表中读取,换句话说查询列要被所使用的索引覆盖。解释二: 索引是高效找到行的一个方法,当能通过检索索引就可以读取想要的数据,那就不需要再到数据表中读取行了。如果一个索引包含了(或覆盖了)满足查询语句中字段与条件的数据 阅读全文
posted @ 2020-06-08 11:46 郭慕荣 阅读(902) 评论(0) 推荐(0) 编辑
摘要: 首先要明确的是,循环依赖有以下几种:①:构造函数的循环依赖。这种依赖显然是解决不了的。②:非单例Bean的循环依赖。这种依赖也是解决不了的。③:单例Bean的循环依赖。本文介绍的就是如何解决单例Bean的循环依赖的问题。 第一次处理循环依赖的地方是doGetBean()方法中的: Object sh 阅读全文
posted @ 2020-06-01 17:29 郭慕荣 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 所谓钩子方法是对于抽象方法或者接口中定义的方法的一个空实现,比如说有一个接口,这个接口中定义了很多个方法,而你想实现其中某一个方法,这个时候就可以写一个抽象类实现这个接口,在这个抽象类里将你要用的那个方法设置为abstract,其它方法进行空实现,然后再继承这个抽象类,就不需要实现其它不用的方法,这 阅读全文
posted @ 2020-05-28 17:28 郭慕荣 阅读(1665) 评论(0) 推荐(1) 编辑
摘要: 在日常的工作中,关系型数据库本身比较容易成为系统的瓶颈点,虽然读写分离能分散数据库的读写压力,但并没有分散存储压力,当数据量达到千万甚至上亿时,单台数据库服务器的存储能力会成为系统的瓶颈,主要体现在以下几个方面: ①:数据量太大,读写的性能会下降,即使有索引,索引也会变得很大,性能同样会降下。②:数 阅读全文
posted @ 2020-05-02 10:43 郭慕荣 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 这张图说明了事务消息的大致方案,分为两个逻辑:正常事务消息的发送及提交、事务消息的补偿流程 事务消息发送及提交:发送消息(half消息)服务端响应消息写入结果根据发送结果执行本地事务(如果写入失败,此时half消息对业务不可见,本地逻辑不执行)根据本地事务状态执行Commit或者Rollback(C 阅读全文
posted @ 2020-04-29 10:24 郭慕荣 阅读(474) 评论(0) 推荐(0) 编辑