Chase620 Chase620
3年前
MyBatis 源码分析 - 插件机制
1.简介一般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者自行拓展。这样的好处是显而易见的,一是增加了框架的灵活性。二是开发者可以结合实际需求,对框架进行拓展,使其能够更好的工作。以MyBatis为例,我们可基于MyBatis插件机制实现分页、分表,监控等功能。由于插件和业务无关,业务也无法感知插件的存在。因此可以无感植入插件,在无形中增强
可莉 可莉
3年前
051. Redis 持久化机制
1\.持久化介绍Redis的数据存在在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。!image20200511165351687(https://oscimg.oschina.net/os
Wesley13 Wesley13
3年前
Java并发机制底层实现原理
锁的膨胀过程预备知识CAS硬件对并发的支持在大多数处理器架构(包括IA32和Sparc)中采用的方法是实现一个比较并交换(CAS)指令,CAS包含了3个操作数——内存位置(V),预期原值(A),拟写入的新值(B),当且仅当VA时,CAS才会通过原子方式用新值(B)来更新(V)原有的值,无论操作成
Wesley13 Wesley13
3年前
Java多线程9:中断机制
一、概述  之前讲解Thread类中方法的时候,interrupt()、interrupted()、isInterrupted()三个方法没有讲得很清楚,只是提了一下。现在把这三个方法同一放到这里来讲,因为这三个方法都涉及到多线程的一个知识点中断机制。  Java没有提供一种安全、直接的方法来停止某个线程,而是提供了中断机制。中
Wesley13 Wesley13
3年前
Mysql 数据可靠性机制
Mysql主要通过binlog跟redolog来保证数据的可靠性binlog的写入机制binlog的写入逻辑比较简单:事务执行过程中,先把日志写到binlogcache,事务提交的时候,再把binlogcache写到binlog文件中一个事务的binlog是不能被拆开的,因此不论这个事务多大,也要确保一
Stella981 Stella981
3年前
Spring RabbitMQ 消息重试机制
RabbitMQ框架提供了重试机制,只需要简单的配置即可开启,可以提升程序的健壮性。测试一:重试5次spring:rabbitmq:listener:simple:retry:enabled:true
Stella981 Stella981
3年前
Hadoop框架:DataNode工作机制详解
本文源码:GitHub·点这里(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fcicadasmile%2Fbigdataparent)||GitEE·点这里(https://gitee.com/cicadasmile/bigdataparent
Stella981 Stella981
3年前
Elasticsearch 横向扩容以及容错机制
写在前面的话:读书破万卷,编码如有神\参考内容:《Elasticsearch顶尖高手系列快速入门篇》,中华石杉\
Wesley13 Wesley13
3年前
Java垃圾回收机制详解
前言Java相比C/C最显著的特点便是引入了自动垃圾回收(下文统一用GC指代自动垃圾回收),它解决了C/C最令人头疼的内存管理问题,让程序员专注于程序本身,不用关心内存回收这些恼人的问题,这也是Java能大行其道的重要原因之一,GC真正让程序员的生产力得到了释放,但是程序员很难感知到它的存在,这就好比,我们吃完饭后在桌
Stella981 Stella981
3年前
RocketMQ主从读写分离机制
!(https://oscimg.oschina.net/oscnet/20e884fb4b381d49bfcda9f9165dbd9fb94.jpg)一般来说,选择主从备份实现高可用的架构中,都会具备读写分离机制,比如MySql读写分离,客户端可以向主从服务器读取数据,但客户写数据只能通过主服务器。RocketMQ的读写分离机制又