自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 把Redis当作队列来用,真的合适吗?

把Redis当作队列来用,真的合适吗?大家好,我是 Kaito。我经常听到很多人讨论,关于「把 Redis 当作队列来用是否合适」的问题。有些人表示赞成,他们认为 Redis 很轻量,用作队列很方便。也些人则反对,认为 Redis 会「丢」数据,最好还是用「专业」的队列中间件更稳妥。究竟哪种方案更好呢?这篇文章,我就和你聊一聊把 Redis 当作队列,究竟是否合适这个问题。我会从简单到复杂,一步步带你梳理其中的细节,把这个问题真正的讲清楚。看完这篇文章后,我希望你对这个问题你会有全新的认识。

2021-07-01 16:49:35 147

原创 如何理解mybatis运行原理?试试理解他为我们到底做了啥---前人种树后人乘凉

前言假如有人问你这么几个问题,看能不能答上来Mybatis Mapper 接口没有实现类,怎么实现的动态代理JDK 动态代理为什么不能对类进行代理(充话费送的问题)抽象类可不可以进行 JDK 动态代理(附加问题)答不上来的铁汁,证明 Proxy、Mybatis 源码还没看到位。不过没有关系,那接下来我将重点聊聊Mybatis,希望给你以借鉴!大家看完觉得还不错的话,别忘了点个赞哦!码字不易戳我GitHub主页学习更多技巧优化[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来

2021-07-01 16:48:47 145

原创 过一过Java“锁”事

过一过Java“锁”事最近背八股文,发现自己对于Java的同步机制仅限于使用,和部分拾人牙慧般的底层理解。于是找了时间稍微梳理了一些,于今日进行总结叙述。为什么需要并发?如果你看过我的上一篇文章谈一谈Java的网络编程就知道,并发的引入是为了更好的利用CPU,包括但不限于当前线程阻塞于I/O时调度新的线程以增大系统吞吐量,利用多核CPU完成可拆分任务的计算处理,不同优先级程序的协同工作。并发不等于并行,这个很多书很多文章都说过了,并行是真正的同时执行,并发只是同一时间内任务交替执行,并行包括并发,但

2021-06-29 17:47:13 148

原创 裸辞+二本+外包+一年经验+java boy的帝都面试之路

裸辞+二本+外包+一年经验+java boy的帝都面试之路前言经过这一次找工作被社会按在地上摩擦,下一次再也不裸职了,一开始确实舒服,一旦时间稍微长一点,效率就不行了 各种小事情干扰。准备跑路这期间断断续续主要是做了三件事:1.总结项目,包括组内同事解决的生产问题变成自己的等等,github上找项目clone下来学习。2.刷算法题 ,一刷,二刷,默写(实在写不出来 没办法了,为了找个工作),只刷简单和普通,最经常考的那种 差不多offer + 精选 高频 200左右吧。3.刷面试题,做总结,记

2021-06-29 17:46:24 626

原创 过一过Java“锁”事

过一过Java“锁”事最近背八股文,发现自己对于Java的同步机制仅限于使用,和部分拾人牙慧般的底层理解。于是找了时间稍微梳理了一些,于今日进行总结叙述。为什么需要并发?如果你看过我的上一篇文章谈一谈Java的网络编程就知道,并发的引入是为了更好的利用CPU,包括但不限于当前线程阻塞于I/O时调度新的线程以增大系统吞吐量,利用多核CPU完成可拆分任务的计算处理,不同优先级程序的协同工作。并发不等于并行,这个很多书很多文章都说过了,并行是真正的同时执行,并发只是同一时间内任务交替执行,并行包括并发,但

2021-06-25 17:47:21 74

原创 裸辞+二本+外包+一年经验+java boy的帝都面试之路

裸辞+二本+外包+一年经验+java boy的帝都面试之路前言经过这一次找工作被社会按在地上摩擦,下一次再也不裸职了,一开始确实舒服,一旦时间稍微长一点,效率就不行了 各种小事情干扰。准备跑路这期间断断续续主要是做了三件事:1.总结项目,包括组内同事解决的生产问题变成自己的等等,github上找项目clone下来学习。2.刷算法题 ,一刷,二刷,默写(实在写不出来 没办法了,为了找个工作),只刷简单和普通,最经常考的那种 差不多offer + 精选 高频 200左右吧。3.刷面试题,做总结,记

2021-06-25 17:46:31 443

原创 美团二面:Redis与MySQL双写一致性如何保证?

美团二面:Redis与MySQL双写一致性如何保证?前言四月份的时候,有位朋友去美团面试,他说被问到Redis与MySQL双写一致性如何保证? 这道题其实就是在问缓存和数据库在双写场景下,一致性是如何保证的?本文将跟大家一起来探讨如何回答这个问题。公众号:捡田螺的小男孩github地址,感谢每一颗star谈谈一致性一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是一致的。强一致性:这种一致性级别是最符合用户直觉的,它要求系统写入什么,读出来的也会是什么,用户体验好

2021-06-25 17:45:44 74

原创 创建定时任务的 5 种方式,还有谁不会!!

创建定时任务的 5 种方式,还有谁不会!!Quartz表达式生成地址:cron.qqe2.com支持生成定时任务表达式和反解析,使用Quartz表达式的定时任务如下:xxl-jobspringboot 的 @ScheduledQuartz 框架一、定时任务的五种创建方式1、使用线程创建 job 定时任务/** * TODO 使用线程创建 job 定时任务 * @author 王松 */public class JobThread { public static c

2021-06-24 14:13:21 269

原创 【浅谈Java的Predicate和Stream操作集合】

【浅谈Java的Predicate和Stream操作集合】(下)什么是Stream?Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。 Stream(流)是一个来自数据源的元素队列并支持聚合操作。Stream并不会存放数据,而是按需计算。数据源 流的来源,可以是集合,数组,I/O channel, 产生器generator 等。Stream常用中间方法中间方法返回的是一个新的流filter(Predicate predicate):过滤Stream中所有

2021-06-24 14:12:31 1168

原创 【JVM原理探索】Java各种类型对象占用内存情况分析

【JVM原理探索】Java各种类型对象占用内存情况分析前言只有当你到了一定层次,需要了解JVM内部运行机制,或者高并发多线程下,你写的代码对内存有影响,你想做性能优化。当你想深入了解java对象在内存中,如何存储,或者每个对象占用多大空间时。内存公式Java对象的内存布局=对象头(Header)+实例数据(Instance Data)+补齐填充(Padding)。补齐填充Java对象占用空间是8字节对齐的,即所有Java对象占用bytes数必须是8的倍数。Shallow Size

2021-06-24 14:11:42 643

原创 死磕Spring源码-依赖注入

死磕Spring源码-依赖注入我们分析了IOC容器的初始化,可以看出初始化其实就是在IoC容器中建立BeanDefinition数据映射,但并没有对Bean的依赖关系进行注入,依赖注入是用户第一次向IoC容器索要Bean的时候触发的,调用BeanFactory的getBean方法将触发依赖注入,这个时候才会创建对象实例,也可以通过设置bean的lazy-init属性来让bean的实例化过程在容器初始化的过程就完成,如果通过设置Bean的lazy-init属性,那么在容器初始化这个bean的时候就会调用ge

2021-06-23 14:49:52 70

原创 死磕Spring源码-IoC源码分析

死磕Spring源码-IoC源码分析我们都知道IoC(Inversion of control)是控制反转,控制反转的核心是依赖反转,那到底什么是“依赖反转”,“哪些方面的控制被反转了?”--依赖对象的获得被反转了。通过依赖注入的方式获取类对象实例而不是传统的在类自身通过新建(new)类对象来获取。所以这种反转是“责任”的反转,传统的这种对对象的管理是由java类自身来管理,而Spring通过IoC容器来管理,这种对对象的依赖关系的管理被反转了,转到IoC容器来了。对象之间的相互依赖关系由IoC容器进行管

2021-06-23 14:49:03 103

原创 最详细的Spring核心IOC的源码分析(每次看都有不同的感悟)2

最详细的Spring核心IOC的源码分析(每次看都有不同的感悟)Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器。既然大家平时都要用到 Spring,怎么可以不好好了解 Spring 呢?阅读本文并不能让你成为 Spring 专家,不过一定有助于大家理解 Spring 的很多概念,帮助大家排查应用中和 Spring 相关的一些问题。阅读建议:读者至少需要知道怎么配置 Spring,了解 Spring 中的各种概念,少部分内容我还假设读者

2021-06-23 14:48:13 284

原创 阿里为啥放弃Oracle、Hadoop,选择全面拥抱它!网友:断臂求生?

阿里为啥放弃Oracle、Hadoop,选择全面拥抱它!网友:断臂求生?我们都知道阿里经历过几次重大的技术变革,其中就包括放弃Oracle和Hadoop,全面拥抱MySQL。讲道理其实靠Oracle+Hadoop也能撑一撑,为啥偏得变。当然肯定不是因为阿里爸爸没钱,而是即便再花个几千万还是不能彻底解决问题,算力快撑不住了!发展到如今,基础软件三大件:操作系统、中间件、数据库,操作系统在云化、容器化的时代重要性被弱化了,中间件在分布式体系下更容错了,唯独数据库依然是块难啃的骨头,应用广泛的MySQL首当

2021-06-22 15:52:15 92

原创 针对 MySQL IO 特点进行的存储优化揭秘

针对 MySQL IO 特点进行的存储优化揭秘性能优化,是存储工程师们永远的追求,在我们看来,除了调整存储架构、优化IO路径,能对应用做出有针对性的优化,也是非常重要和有意义的事情,这意味着,除了要了解存储本身,还需要对上层应用或中间件有足够的认识。这次,我们就来看看 MySQL 的 IO 特点和存储针对 MySQL 的优化思路。MySQL 架构组件说明MySQL 及其延续的 MariaDB 是目前市场上最流行的关系型数据库管理系统,在很多应用场景中,MySQL 都是用户首选的 RDBMS(Relat

2021-06-22 15:51:29 68

原创 都2021年了,你还在用Jenkins?赶快看看这些替代方案吧

都2021年了,你还在用Jenkins?赶快看看这些替代方案吧Jenkins 是目前最常用的持续集成工具,拥有近 50% 的市场份额,它还是很多技术团队的第一个使用的自动化工具。但是随着自动化领域的持续发展,Jenkins 逐渐暴露出了一些问题,例如缺乏功能、维护问题、依赖关系和扩展问题等等。这些问题促使我们寻找替代方法。这就是为什么在本文中,我们提供了用于持续集成的最常见的Jenkins替代品列表。1. BuildMasterBuildmasters是由Inedo研发的Jenkins替代品,它可

2021-06-22 15:50:42 630

空空如也

空空如也

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

TA关注的人

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