那些年,面试被虐过的红黑树

那些年,面试被虐过的红黑树

面试官:小桂子是吧,看你简历上写着精通 java 编程,想必对 java 已经掌握的很好了吧? 小桂子:系呀系呀,一直都用 java 写 bug 呢~ 面试官:那你说说 jdk1.7 之前 HashMap 的底层实现原理呗,另外为什么...

OAuth 2.0 开放授权那些事儿

OAuth 2.0 开放授权那些事儿

OAuth 2.0 协议是一种三方授权协议,目前大部分的第三方登录与开放授权都是基于该协议的标准或改进实现。OAuth 1.0 版本于 2007 年发布,2.0 版本则在 2011 年发布,其中 2.0 版本取消了所有 token 的...

Dubbo 之于 SPI 扩展机制的实现分析

Dubbo 之于 SPI 扩展机制的实现分析

SPI (Service Provider Interfaces) 是 jdk1.5 引入的一种服务扩展内置机制,在面向接口编程的范畴下,SPI 能够基于配置的方式声明实际应用的具体扩展接口实现。之前在写接口限流器时曾遇到过这样一个场...

Reactor:事件驱动的高性能响应模式

Reactor:事件驱动的高性能响应模式

Node.js 这几年火的不要不要的,借助 js 天生的事件驱动机制和 V8 高性能引擎,让编写高并发的 web 应用门槛降低了许多,当然这背后还要得益于 Douglas C. Schmidt 在 1995 年提出的基于事件驱动的 R...

接口限流器中的常用算法及其应用场景

接口限流器中的常用算法及其应用场景

小编所在的部门作为公司的基础服务部门,支撑着上层业务的正常运行,当有业务举办活动、遭遇攻击,或者是写土了代码,都会或多或少给我们的服务带来流量上的冲击。我们通常说缓存、降级,以及限流技术是高并发服务的三大利器,为保证集团其它业务不受影...

MyBatis 源码解析:SQL 语句的执行机制

MyBatis 源码解析:SQL 语句的执行机制

通过前面两篇文章,我们完成了对 MyBatis 所有配置文件(包括配置文件和映射文件)解析机制的分析。回忆一下我们最开始给出的 MyBatis 小示例(如下),经过前面千山万水的跋涉,我们终于完成了第一行代码的 … 99% …(手动滑...

MyBatis 源码解析:映射文件的加载与解析

MyBatis 源码解析:映射文件的加载与解析

上一篇中我们分析了配置文件的加载和解析过程,本文我们将一起来探究映射文件的加载与解析实现,MyBatis 提供映射文件以配置 SQL 语句、二级缓存,以及结果集映射等,是区别与其它 ORM 框架的主要特色之一。 在前面分析配置文件解析...

MyBatis 源码解析:配置文件的加载与解析

MyBatis 源码解析:配置文件的加载与解析

前面我们曾约定 mybatis-config.xml 为配置文件,SQL 配置文件为映射文件,本文我们将沿用上一篇中的示例程序,一起来探究一下 MyBatis 加载和解析配置文件,即 mybatis-config.xml 的过程。 在...

MyBatis 源码解析:架构初探

MyBatis 源码解析:架构初探

MyBatis 是一个易用、轻量,且强大的半自动化 ORM 框架。记得多年前第一次接触该框架的时候它的名字还叫作 iBatis,那时候刚接触到 java web 开发,倦于徒手写 JDBC 代码的枯燥,于是开始转战 ORM 框架。SS...