![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 91
Java-JL
这个作者很懒,什么都没留下…
展开
-
阿里P6+面试:介绍下观察者模式?
阿里P6+面试:介绍下观察者模式?消息队列(MQ),一种能实现生产者到消费者单向通信的通信模型,这也是现在常用的主流中间件。常见有 RabbitMQ、ActiveMQ、Kafka等 他们的特点也有很多 比如 解偶、异步、广播、削峰 等等多种优势特点。在设计模式中也有一种模式能有效的达到解偶、异步的特点,那就是观察者模式又称为发布订阅模式。今天阿丙就分享一下实际开发中比较常见的这种模式大纲定义什么是观察者模式?他的目的是什么?当一个对象的状态发生改变时,已经登记的其他对象能够观察到这一改变转载 2021-07-01 17:01:08 · 87 阅读 · 0 评论 -
腾讯T4大牛手把手教你Redis是如何进行持久化的--AOF和RDB两种方式助你起飞
前言Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以 Redis 提供了持久化功能 !那接下来我将重点聊聊,希望给你以借鉴!大家看完觉得还不错的话,别忘了点个赞哦!码字不易一. RDB(Redis DataBase)①首先我们进入服务器找到dump.rdb文件:②测试触发rdb操作:vim打开redis.conf配置文件为了方便测试,我们将其改为 :save 60 5 #意思是在60秒内进行了5次操作,即写入rdb文原创 2021-07-01 17:00:22 · 106 阅读 · 0 评论 -
阿里为啥放弃Oracle、Hadoop,选择全面拥抱它!网友:断臂求生?
阿里为啥放弃Oracle、Hadoop,选择全面拥抱它!网友:断臂求生?我们都知道阿里经历过几次重大的技术变革,其中就包括放弃Oracle和Hadoop,全面拥抱MySQL。讲道理其实靠Oracle+Hadoop也能撑一撑,为啥偏得变。当然肯定不是因为阿里爸爸没钱,而是即便再花个几千万还是不能彻底解决问题,算力快撑不住了!发展到如今,基础软件三大件:操作系统、中间件、数据库,操作系统在云化、容器化的时代重要性被弱化了,中间件在分布式体系下更容错了,唯独数据库依然是块难啃的骨头,应用广泛的MySQL首当原创 2021-06-29 17:51:31 · 258 阅读 · 0 评论 -
阿里P7大佬首次分享Spring Retry不为人知的技巧
阿里P7大佬首次分享Spring Retry不为人知的技巧今日分享开始啦,请大家多多指教~外部服务对于调用者来说一般都是不可靠的,尤其是在网络环境比较差的情况下,网络抖动很容易导致请求超时等异常情况,这时候就需要使用失败重试策略重新调用 API 接口来获取。重试策略在服务治理方面也有很广泛的使用,通过定时检测,来查看服务是否存活。作为阅读福利,小编也精心整理了一套Spring相关的学习笔记(包含:面试、脑图、手写pdf等),有Spring、SpringMVC、SpringCloud、SpringBoo原创 2021-06-29 17:50:43 · 153 阅读 · 0 评论 -
阿里为啥放弃Oracle、Hadoop,选择全面拥抱它!网友:断臂求生?
阿里为啥放弃Oracle、Hadoop,选择全面拥抱它!网友:断臂求生?我们都知道阿里经历过几次重大的技术变革,其中就包括放弃Oracle和Hadoop,全面拥抱MySQL。讲道理其实靠Oracle+Hadoop也能撑一撑,为啥偏得变。当然肯定不是因为阿里爸爸没钱,而是即便再花个几千万还是不能彻底解决问题,算力快撑不住了!发展到如今,基础软件三大件:操作系统、中间件、数据库,操作系统在云化、容器化的时代重要性被弱化了,中间件在分布式体系下更容错了,唯独数据库依然是块难啃的骨头,应用广泛的MySQL首当原创 2021-06-25 18:03:01 · 86 阅读 · 0 评论 -
死磕Spring源码-依赖注入1
死磕Spring源码-依赖注入我们分析了IOC容器的初始化,可以看出初始化其实就是在IoC容器中建立BeanDefinition数据映射,但并没有对Bean的依赖关系进行注入,依赖注入是用户第一次向IoC容器索要Bean的时候触发的,调用BeanFactory的getBean方法将触发依赖注入,这个时候才会创建对象实例,也可以通过设置bean的lazy-init属性来让bean的实例化过程在容器初始化的过程就完成,如果通过设置Bean的lazy-init属性,那么在容器初始化这个bean的时候就会调用ge原创 2021-06-24 14:25:08 · 57 阅读 · 0 评论 -
是时候啦!用Optional取代null!
是时候啦!用Optional取代null!1.Optional介绍Optional是Jdk1.8提供的一个新类,希望可以通过该类的引入解决令人烦躁的null判断问题,非常好用。该类有点类似于包装类,将要操作的Java类封装到该类的对象里面,同时将一些常用的判断逻辑封装为成员方法,结合lambda语法,实现比较优雅的链式调用。构建API:构建一个Optional对象;方法有:empty()、of()、ofNullable()获取API:获取Optional对象里包装的值;方法有:get()、orE原创 2021-06-24 14:24:20 · 286 阅读 · 0 评论 -
聊聊最近撸Spring源码感悟
聊聊最近撸Spring源码感悟一、前言最近一段时间撸了Spring IOC、AOP、Transactional源码,这篇文章聊聊我写了哪些小玩意,这可能就是阅读源码以后最大收获。希望大家在里面能学习一些什么东西吧;二、Spring IOC简单实现第一步首先看一下配置文件,配置文件模拟Spring Bean注入时候的样子,少了XML验证头的一些东西; View Code第二步是实体类; View Code第三步也是最重要的一步,实现从配置中解析文件,然后通过反射创建Student对象,解析配置原创 2021-06-23 15:28:32 · 152 阅读 · 0 评论 -
编译spring源码1
编译spring源码1.编译spring源码本文是作者原创,版权归作者所有.若要转载,请注明出处下载spring源码,本文用的是版本如下:springframework 5.1.x, IDE工具idea 2019.2.3 JAVA版本 jdk1.8.0_171 构建工具gradle-4.91.下载springframework 5.1.x源码2.解压下载的压缩包,在已有工程中导入该项目3.选择该项目路径4.选择gradle导入5.等待它自己构建6.编译完,有个弹框出现,点原创 2021-06-23 15:27:42 · 57 阅读 · 0 评论 -
编译spring源码
编译spring源码1.编译spring源码本文是作者原创,版权归作者所有.若要转载,请注明出处下载spring源码,本文用的是版本如下:springframework 5.1.x, IDE工具idea 2019.2.3 JAVA版本 jdk1.8.0_171 构建工具gradle-4.91.下载springframework 5.1.x源码2.解压下载的压缩包,在已有工程中导入该项目3.选择该项目路径4.选择gradle导入5.等待它自己构建6.编译完,有个弹框出现,点原创 2021-06-23 15:27:03 · 617 阅读 · 0 评论