前言本专题大纲:专栏大纲我重新整理了大纲,思考了很久,决定单独将MySQL的事务实现原理跟Spring中的事务示例分为两篇文章,因为二者毕竟没有什么实际关系,实际上如果你对MySQL的事务原理不感兴趣也可以直接跳过本文,等待接下来两篇应用及源码分析,不过我觉得知识的学习应该慢慢行成一个体系,为了建立一个完善的体系应该要对数据库本身事务的实现有一定认知才行。本文为Spring事务专题第三篇,在前两篇
分类:
数据库 时间:
2020-08-11 09:23:08
阅读次数:
90
阅读目录 栈 stack 队列 链表 数组 字典实现原理 NSDictionary 树 B-tree/B+tree 栈 stack 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,把另一端称为栈底。向一个栈插入新元素又称作 进栈、入栈或压 ...
分类:
其他好文 时间:
2020-08-06 16:59:20
阅读次数:
67
@ 前言 在最开始讲解JVM内存结构的时候有简单分析过方法的执行原理——每一次方法调用都会生成一个栈帧并压入栈中,方法链的执行就是一个个栈帧弹出栈的过程,本篇就从字节码层面详细分析方法的调用细节。 正文 解析 Java中方法的调用对应字节码有5条指令: invokestatic:用于调用静态方法。 ...
分类:
其他好文 时间:
2020-08-06 00:56:51
阅读次数:
87
「欲渡黄河冰塞川,将登太行雪满天」,无论生活还是计算机世界难免发生异常,上一篇文章RESTfulAPI返回统一JSON数据格式说明了统一返回的处理,这是请求一切正常的情形;这篇文章将说明如何统一处理异常,以及其背后的实现原理,老套路,先实现,后说明原理,有了上一篇文章的铺底,相信,理解这篇文章就驾轻就熟了实现新建业务异常新建BusinessException.class类表示业务异常,注意这是一个
分类:
其他好文 时间:
2020-08-02 10:21:00
阅读次数:
95
SpringCloudAlibabaSentinel除了对RestTemplate做了支持,同样对于Feign也做了支持,如果我们要从Hystrix切换到Sentinel是非常方便的,下面来介绍下如何对Feign的支持以及实现原理。集成Feign使用spring-cloud-starter-alibaba-sentinel的依赖还是要加的,如下:1.<dependency>2.<
分类:
编程语言 时间:
2020-08-02 10:05:25
阅读次数:
70
一、jdk1.7中HashMap的底层实现原理 首先,当我们通过HashMap的构造方法创建一个HashMap对象时,底层就会创建一个Entry类型的一维数组(默认初始化长度为16)。当我们执行put操作的时候,会调用key所属类的hashCode方法计算出key的hash值,然后将hash值通过哈 ...
分类:
其他好文 时间:
2020-08-01 12:43:11
阅读次数:
104
许多场景中,数据一致性是一个比较重要的话题,在单机环境中,我们可以通过Java提供的并发API来解决;而在分布式环境(会遇到网络故障、消息重复、消息丢失等各种问题)下要复杂得多,常见的解决方案是分布式事务、分布式锁等。
本文主要探讨如何利用Zookeeper来实现分布式锁。
分类:
其他好文 时间:
2020-07-31 19:20:05
阅读次数:
86
DataX SqlServerWriter 1 快速介绍 SqlServerWriter 插件实现了写入数据到 SqlServer 库的目的表的功能。在底层实现上, SqlServerWriter 通过 JDBC 连接远程 SqlServer 数据库,并执行相应的 insert into ... s ...
分类:
数据库 时间:
2020-07-31 12:33:10
阅读次数:
114
一、AQS概述 AQS全名AbstractQueuedSynchronizer,意为抽象队列同步器,JUC(java.util.concurrent包)下面的Lock和其他一些并发工具类都是基于它来实现的。AQS维护了一个volatile的state和一个CLH(FIFO)双向队列。 二、分析 st ...
分类:
编程语言 时间:
2020-07-30 14:22:04
阅读次数:
63