Chase620 Chase620
3年前
MyBatis 源码分析 - 插件机制
1.简介一般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者自行拓展。这样的好处是显而易见的,一是增加了框架的灵活性。二是开发者可以结合实际需求,对框架进行拓展,使其能够更好的工作。以MyBatis为例,我们可基于MyBatis插件机制实现分页、分表,监控等功能。由于插件和业务无关,业务也无法感知插件的存在。因此可以无感植入插件,在无形中增强
九路 九路
4年前
Android Handler消息机制源码解析
好记性不如烂笔头,今天来分析一下Handler的源码实现Handler机制是Android系统的基础,是多线程之间切换的基础。下面我们分析一下Handler的源码实现。Handler消息机制有4个类合作完成,分别是Handler,MessageQueue,Looper,MessageHandler:获取消息,发送消息,以及处理消息的类Mes
Wesley13 Wesley13
3年前
IOS推送通知机制和流程
APNS的推送机制Provider就是我们自己程序的后台服务器,APNS是ApplePushNotificationService的缩写,也就是苹果的推送服务器。上图可以分为三个阶段:第一阶段:应用程序的服务器端把要发送的消息、目的iPhone的标识打包,发给APNS。第二阶段:APNS在自身的已注册P
Stella981 Stella981
3年前
Linux 信号signal处理机制
信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。一、信号的基本概念本节
Wesley13 Wesley13
3年前
Java并发机制底层实现原理
锁的膨胀过程预备知识CAS硬件对并发的支持在大多数处理器架构(包括IA32和Sparc)中采用的方法是实现一个比较并交换(CAS)指令,CAS包含了3个操作数——内存位置(V),预期原值(A),拟写入的新值(B),当且仅当VA时,CAS才会通过原子方式用新值(B)来更新(V)原有的值,无论操作成
Wesley13 Wesley13
3年前
Java锁机制浅析之 AQS
  一、内部原理  类继承结构  Lockpackage相关API继承结构,忽略掉了一些类,以便观察其特点:  ReentrantLock和ReentrantReadWriteLock都是借助内部类Sync来实现Lock接口。ReentrantReadWriteLock没有直接实现Lock接口而是内置了读锁ReadLock和写锁Write
Wesley13 Wesley13
3年前
Java多线程9:中断机制
一、概述  之前讲解Thread类中方法的时候,interrupt()、interrupted()、isInterrupted()三个方法没有讲得很清楚,只是提了一下。现在把这三个方法同一放到这里来讲,因为这三个方法都涉及到多线程的一个知识点中断机制。  Java没有提供一种安全、直接的方法来停止某个线程,而是提供了中断机制。中
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年前
RocketMQ主从读写分离机制
!(https://oscimg.oschina.net/oscnet/20e884fb4b381d49bfcda9f9165dbd9fb94.jpg)一般来说,选择主从备份实现高可用的架构中,都会具备读写分离机制,比如MySql读写分离,客户端可以向主从服务器读取数据,但客户写数据只能通过主服务器。RocketMQ的读写分离机制又