本文是新系列《我说mysql》的第一篇,从本文开始,我会陆续对mysql相关的重要知识点进行讲解和总结。

今天先讲一下mysql的一个关键字“truncate”,剖析一下它的特点及其与delete、drop的区别。

truncate是DDL,会隐式提交,所以,不能回滚,不会触发触发器。

Read More

大概是从12月初期,就开始酝酿18年的总结了,但是一直没动笔,想着在今年的最后一天写,或许会有更多的仪式感。

此刻,18年12月31号21时01分,我敲下这几行文字,努力把思绪萦绕在18年的始末,想到的就是题目中的两个词语,“精诚,进取”。

其实一开始想到了踏实,18年确实是踏实的一年,一年的时间,总觉得过的很快,踏实,忙碌。

忙碌的工作生活中,我感觉到了自己的进步是目力可见的,忙碌中,却更加的感觉到内心的沉稳,于是我确定了18年年度总结的关键词。

Read More

截止到目前,系列文章《我说分布式》以及基本发布完成,将业界的主流分布式事务解决方案做了一个较为全面的盘点。

文章列表

我说分布式事务之TCC

我说分布式事务之最大努力通知型事务

我说分布式事务之可靠消息最终一致性事务1-原理及实现

我说分布式事务之消息一致性事务2-rocketmq的实现

后续会对分布式事务的理论知识,如2PC、3PC、XA事务等做一个盘点,敬请期待~

上文中,我们讲解了可靠消息最终一致性的实现原理及如何基于一款开源的消息中间件,实现一个可靠消息服务的思路。

本文,我们讲解如何利用开源消息中间件RocketMQ的特性–事务消息,实现基于消息一致性的最终一致的分布式事务。

RocketMQ是阿里巴巴开源的一款高性能、高可靠的消息中间件,经历过双11等大流量高并发的大考,是国内开源界的翘楚,在业界有着广泛的应用。

Read More

转自: LearningNotes-Java中的动态代理.md

代理模式是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个真实对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。

代理

代理模式是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个真实对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。

代理可以实现过滤请求、插入横切逻辑等功能,应用场景丰富多彩。

代理的方式分为静态代理和动态代理两种。

Read More

转自: LearningNotes-Java中的静态代理、JDK动态代理、cglib动态代理.md

代理模式是常用设计模式的一种,我们在软件设计时常用的代理一般是指静态代理,也就是在代码中显式指定的代理。

一、静态代理

代理模式是常用设计模式的一种,我们在软件设计时常用的代理一般是指静态代理,也就是在代码中显式指定的代理。

静态代理由业务实现类、业务代理类两部分组成。业务实现类负责实现主要的业务方法,业务代理类负责对调用的业务方法作拦截、过滤、预处理。在需要调用业务时,不是直接通过业务实现类来调用的,而是通过业务代理类的同名方法来调用被处理过的业务方法。

Read More

Fork me on GitHub