11 Jamin_Ma

尚未进行身份认证

我要认证

无法拥有认知以外的财富

等级
TA的排名 2w+

python 备份zk配置项

使用python 脚本备份zk中的配置python 备份代码 python3 back.pyimport osimport os.pathfrom kazoo.client import KazooClientfrom kazoo.client import KazooStatezk = KazooClient('test:2181')...

2019-08-22 16:16:33

protobuf--序列化原理

前提:了解下Varint32 编码参考:https://blog.csdn.net/convict_eva/article/details/91484163protobuf 是什么: google 提供一个高效的序列化工具优点: 对比json 和 xml 更加节省空间,序列化反序列化效率更高。适合对数据大小和传输速率比较敏感的场合使用。 像...

2019-06-15 16:26:50

protobuf--Varint编码

Varint编码:一种变长的编码方式。用字节表示数字值越小的数字,使用越少的字节数表示。通过减少表示数字的字节数从而进度数据的压缩。变长:采用一个或者多个字节表示一个数字,对于小的数字使用一个字节,大的数需要5个字节。实现方式:每个字节的最高位为1,表示后续的一个字节也是数字的一部分。如果字节的最高位为0,则表示结束。使用其它7位来表示数字。所以小于128的数字,使用一个字节就可以表示,大...

2019-06-11 23:41:10

字节序

字节序定义:字节序是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序。两种常见表示方式(还有其它的):Little endian 简写:LE 常见翻译:小端序,低端序 解释:将低序字节存储在起始地址。就是高位值放在存储(可以认为是内存)的高位,低位值放在存储的低位, 即:顺序写入到内存中。最符合人的思维,低位高位对应内存地址的高位低位。...

2019-06-05 11:50:20

mqtt协议--整理

诞生: MQTT由Andy Stanford-Clark(IBM)和Arlen Nipper(Eurotech,现为Cirrus Link)于1999年开发,用于监测穿越沙漠的石油管道。目标是拥有一个带宽有效且使用很少电池电量的协议,因为这些设备是通过卫星链路连接的,当时这种设备非常昂贵。 与HTTP及其请求/响应范例相比,该协议使用发布/订阅体系结构。发布/订阅是事件驱动的,可以将...

2019-06-03 17:25:06

java-BIO 总结

iojava io 包中包含了各种 InputStream  OutputStream   Reader Writer 子类,用途汇总如下:文件网络内存缓存线程内部通信(管道)缓冲过滤解析读写文本(Read、Writer)读写基本类型读写对象  字节流 字符流   字节输入 字节输出 字符输入 字符输出 基类 Input...

2018-11-02 11:23:24

spring事物--05源码分析-事务提交

接上一篇在回调TransactionInterceptor.invoke() 方法,会调用 TransactionAspectSupport.invokeWithinTransaction() 方法在这个方法调用完所有的aop及目标方法后,会调用commitTransactionAfterReturning(txInfo) 方法,提交事务。  待续...........

2018-11-02 10:52:06

spring事物--05源码分析-创建事务

接上篇第4篇中(https://blog.csdn.net/convict_eva/article/details/83544563) invokeWithinTransaction() 方法中调用了创建事务的方法:TransactionInfo txInfo = createTransactionIfNecessary(tm, txAttr, joinpointIdentificatio...

2018-11-02 10:51:06

spring事物--04源码分析-事务处理拦截器的实现分析

事务处理拦截器的实现分析接上篇:https://blog.csdn.net/convict_eva/article/details/83544328通过上面的分析,很明确spring在事务方面aop是怎么玩的了。那么真正要处理事务是ProxyFactory.getObject() 方法返回的代理对象,通过调用代理对象的方法时,拦截器有一个invoker() 方法会被回调(aop的玩法)。...

2018-10-30 16:47:42

spring事物--03源码分析入口

版本:spring5.0.6spring 事务处理模块是通过aop功能来实现声明式事务的。通过TransactionProxyFactoryBean 可以生成proxy代理对象,在这个代理对象中通过TransactionInterceptor 来完成对代理方法的拦截,将事务处理功能编织起来;这正是aop的功能。可以参考spring aop 源码分析相关文章。https://blog.cs...

2018-10-30 16:44:18

spring事物---02发展历程

1、spring事物apispring 定义事物主要有三个apiTransactionDefinition 定义事物属性PlatformTransactionManager 管理事物,进行提交或者回滚TransactionStatus 表示一个事物运行的状态事物的定义 TransactionDefinitionpublic interf...

2018-10-22 16:18:18

spring事物---01使用总结

1、数据库事务隔离级别https://blog.csdn.net/convict_eva/article/details/535613102、spring 事物传播方式https://blog.csdn.net/convict_eva/article/details/585861103、实现方式动态代理 如果类的抽象接口父类,就会使用JDK动态代理实现,只有pulic 修饰...

2018-10-17 15:50:27

rocketmq--特性之延迟消息及消息重试

1、消息延迟级别定义    源码 MessageStoreConfig.java 是定义如下:    private String messageDelayLevel = "1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h";    可以在brocker配置    messageDelayLevel=1s 5s 10s ...

2018-10-11 15:31:04

rocketmq--特性之顺序消息

应用场景:    网购的时候,我们需要下单,那么下单需要假如有三个顺序,第一、创建订单 ,第二:订单付款,第三:订单完成。也就是这个三个环节要有顺序,这个订单才有意义。RocketMQ可以保证顺序消费 实现原理:    produce在发送消息的时候,把消息发到同一个队列(queue)中。发送消息的时候可以实现MessageQueueSelector类的select 方法,返回的就是que...

2018-09-11 16:00:09

spring--aop_2_源码分析之MethodInterceptor

前提:https://blog.csdn.net/convict_eva/article/details/81084833https://blog.csdn.net/convict_eva/article/details/81101432前两篇分析了aop 两种方式实现的大致流程和方式,在这两种实现方式中都有一个很重要的方法获取拦截器链List<Object> chain...

2018-07-18 20:58:59

spring--aop_2_源码分析之CglibAopProxy实现

接着上一篇 https://blog.csdn.net/convict_eva/article/details/81084833DefaultAopProxyFactory.createAopProxy() 方法生成AopProxy 代理对象。AopProxy 有两个实现类 JdkDynamicAopProxy,CglibAopProxy。上一篇说的是JdkDynamicAopProxy,这里...

2018-07-18 17:08:13

spring--aop_1_源码分析之JdkDynamicAopProxy实现

aop实现有两种方式1. ProxyFactoryBean方式: 这种方式是通过配置实现2. ProxyFactory方式:这种方式是通过编程实现这里说ProxyFactoryBean ,先上一张ProxyFactoryBean的关系图,后面能用到。示例代码:/** * 代理接口,如果不是接口使用CGLIB代理 */public interface ProxyIn...

2018-07-17 17:49:35

spring--扩展点

扩展点:BeanFactoryPostProcessor 构建 BeanFactory后调用,此时BeanFactory , BeanDefinition 已经解析完毕。BeanPostProcessor 初始化 Bean 对象时调用,所有bean的构建都会调用这个接口的两个方法。两个方法参数传入的bean属性都已经注入完毕。InitializingBean Bean 实例创建后,所有的属性...

2018-07-11 14:38:42

java设计模式--原型模式

原型模式定义: 用原型实例指定创建对象的种类, 并且通过拷贝这些原型创建新的对象。 原型模式的核心是一个clone方法, 通过该方法进行对象的拷贝, Java 提供了一个Cloneable接口来标示这个对象是可拷贝的,在JVM中具有这个标记的对象才有可能被拷贝。 比如:比如批量发送邮件,邮件模板是一样的,发送给不同的人内容不同,那么就可以把模板 clone 给不同的发送者,发送者修改一下内容模板内...

2018-07-06 16:05:20

java设计模式--工厂方法模式 & 抽象工厂模式

工厂方法模式:定义一个用于创建对象的接口, 让子类决定实例化哪一个类。 工厂方法使一个类的实例化延迟到其子类。 角色: Product  抽象产品,负责定义产品的共性,实现对事物抽象的定义 Creator  抽象创建类,也就是抽象工厂,具体如何创建产品类是由具体的实现工厂完成 ConcreteCreator   具体实现工厂 总结一下模板代码:/*** 产品抽象*/public interf...

2018-07-06 14:59:06

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取