自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

温柔一cai刀

生命不息,奋斗不止!

  • 博客(34)
  • 资源 (2)
  • 收藏
  • 关注

原创 一个极简、高效的秒杀系统-战术实践篇(内附源码)

文章目录一、前言二、工程骨架2.1 DDD概述2.2 工程结构三、源码解读3.1领域层3.1.1 领域模型a. 活动b. 活动商品c. 库存扣减流水d. 仓储3.1.2 领域服务a. 活动配置b. 库存扣减3.1.3 小结3.2 应用层3.2.1 活动应用服务3.2.2 库存应用服务3.2.3 小结3.3 用户界面层3.4 基础设施层3.4.1 领域服务实现3.4.2 仓储实现四、总结一、前言...

2020-03-22 20:45:30 3468 13

原创 一个极简、高效的秒杀系统-战略设计篇

文章目录一、前言二、业务需求2.1 产品需求2.2 业务流程2.2.1 秒杀活动整体业务流程2.2.2 创建秒杀活动2.2.3 查看秒杀活动2.2.4 参与秒杀活动2.2.5 小节三、概要设计3.1 E-R 关系图3.2 产品边界3.3 接口定义3.3.1 配置活动3.3.2 活动列表3.3.3 活动详情3.3.4 活动商品详情3.2.5 扣库存3.3.6 回库存四、详细设计4.1 系统流程4.2...

2020-03-14 19:31:04 7997 5

原创 一个极简、易用的灰度分流方案(内附源码)

文章目录一、前言1 什么是灰度发布2 灰度发布解决什么问题3 灰度怎么做二、抽象之路2.1 蛮荒时代:开关在手,灰度我有灰度方案设计2.2 第一次演进:通用灰度配置灰度方案设计2.3 第二次演进:多维度组合灰度灰度方案设计2.4 第三次演进:支持分流灰度方案设计一、前言1 什么是灰度发布这里直接照搬下百度百科的定义:灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其...

2020-02-29 13:03:33 7351 4

原创 Spring Boot整合Dubbo Provider

文章目录一、前言二、Provider 整合2.1 ServiceAnnotationBeanPostProcessor 类层次结构2.2 Provider 整合流程2.3 源码佐证2.3.1 注解驱动2.3.2 Dubbo配置文件加载2.3.3 ServiceAnnotationBeanPostProcessor 包扫描三、Provider 侧服务导出3.1 服务导出四、总结一、前言前一篇《S...

2020-05-04 16:32:22 1083

原创 Spring Boot整合Dubbo Consumer

文章目录一、前言二、Consumer 整合2.1 ReferenceAnnotationBeanPostProcessor 类层次结构2.2 Consumer整合流程2.3 源码分析2.3.1 依赖查找2.3.2 依赖注入三、Consumer 侧服务引入3.1 代理对象生成一、前言Apache Dubbo是一款高性能、轻量级的开源Java RPC框架,实际应用中,比较传统的使用方式是通过xml...

2020-05-03 10:34:37 1186

原创 看图彻底掌握MDC设计理念

文章目录一、MDC是什么1.1 MDC常用API1.2 MDC数据结构二、MDC的SPI机制2.1 LogbackMDCAdapter绑定过程三、MDC源码解析3.1 MDC源码3.2 LogbackMDCAdapter源码3.2.1 Write -> Write 场景分析3.2.2 Write -> Copy map -> Write 场景分析四、MDC的局限性4.1 父子线...

2020-04-25 16:04:32 3680

原创 Jdk线程池ThreadPoolExecutor源码解析

文章目录一、基础模型1.1 线程池任务的抽象 FutureTask1.1.1 FutureTask类层次结构1.1.2 FutureTask源码1.2 线程池的抽象: 从Excutor、ExecutorService到AbstractExecutorService1.2.1 线程池类层次结构1.2.2 线程池接口定义1.2.3 小结二、线程池工作原理2.1 线程池工作机制概述2.2 任务提交、执行...

2020-04-19 19:39:28 423

原创 【了不起的ThreadLocal】一、源码分析

文章目录一、前言二、ThreadLocal数据模型三、内存泄漏3.1 强引用存在内存泄漏?3.2 弱引用不存在内存泄漏?3.3 如何彻底避免内存泄漏?四、源码分析4.1 ThreadLocal源码4.2 ThreadLocalMap源码4.3 小结一、前言在JDK中,有些不起眼的类,往往蕴含着巨大的能量,ThreadLocal就是这样一个类,JDK1.2该类就诞生了,可算做JDK的一个元老了。...

2020-04-07 00:27:32 441

原创 做不好业务中台,你可能是缺了这种设计

文章目录一、前言1 什么是中台2 为什么需要业务中台二、扩展点机制2.1 青铜菜鸟: If一把梭2.2 荣耀黄金: 策略模式消除If2.3 荣耀王者: 扩展点机制三、源码示范3.1 模型a. 3个扩展点数据模型b. 2个注解c. 1个扩展点管理类3.2 运行机制a. 扩展点扫描&注册b. 扩展点执行3.3 小结3.4 Spring注解开发四、总结一、前言1 什么是中台中台这个概念近几...

2020-04-05 22:26:40 4204 4

原创 这就是你要找的分布式锁

文章目录一、缘起二、常见分布式锁实现方案三、Redisson分布式锁实现3.1 加锁&解锁Lua脚本3.1.1 加锁Lua脚本3.1.2 解锁Lua脚本3.2 源码走读3.2.1 加锁流程源码3.2.2 解锁流程源码3.3 加锁&解锁流程串起来3.4 其他料一、缘起提起分布式锁,相信大家或多或少在工作中实践过,甚至按捺不住造轮子的冲动还自己动手写过。楼主的工作中也看到或用到几种...

2020-03-08 13:09:30 1881 1

原创 【俯瞰Spring】三、IoC容器初始化(上)

文章目录一、前言二、IoC容器创建及初始化2.1 第一步: 准备ApplicationContext2.2 第二步: 注册启动类Bean定义2.3 第三步: 初始化Ioc容器三、小结一、前言从本节开始,会花较多篇幅去深入了解Spring IoC容器的初始化流程。整体串联的知识点会很多,包括IoC容器的实现、IoC容器的初始化、Bean定义扫描、Bean的生命周期、Spring的扩展机制Bean...

2020-03-07 20:00:44 232

原创 分布式事务常用套路

文章目录一、理论支撑1.1 CAP理论1.2 BASE理论二、业界方案2.1 二阶段提交(2PC)实现思路缺点2.2 Saga2.3 补偿事务(TCC)实现思路缺点2.4 本地消息表Ebay实现方案去哪儿网的变种方案2.5 事务消息实现方案使用场景2.6 最大努力通知实现方案适用场景小结2.7 方案比较![在这里插入图片描述](https://img-blog.csdnimg.cn/2020030...

2020-03-04 00:34:12 788

原创 【俯瞰Spring】二、Bean的生命周期

文章目录一、前言二、Bean的生命周期三、Bean生命周期剖析3.1 Bean定义生成、注册3.2 实例化3.2.1实例化是什么?3.2.2 扩展点3.3 依赖注入3.4 初始化3.5 销毁四、总结一、前言同人有生老病死一样,在Spring中IoC容器管理的Bean也具备实例化、初始化、销毁一整套完整的生命周期。有了生命周期,Ioc容器就能在生命周期的各个阶段对Bean的功能进行扩展或增强,比...

2020-03-02 23:28:18 289 1

原创 【俯瞰Spring】一、Spring核心工作机制

文章目录一、前言二、Spring核心运行机制2.1 一图看穿Spring2.2 BeanDefiniton 和BeanFacotroyPostProcess2.3 BeanPostProcess三、总结3.1 小结3.2 其它一、前言提起Spring,Java程序员应该不会陌生,或多或少都在企业项目中应用到Spring这个开发框架。Spring的提供Ioc、Aop等功能极大降低了软件开发的复...

2020-02-29 22:00:20 468 1

原创 IDEA实用快捷键

智能提示F2/ Shift+F2 移动到有错误的代码Ctrl+Shift+Enter 自动补全末尾的字符(括号、分号)Ctrl+P 显示参数信息Alt+Q 查看当前方法声明CTRL+Q 显示注释文档重构Shift+F6 重命名(文件、类、方法、变量)Ctrl+Shift+Alt+T 重构Ctrl+Alt+O 格式化 import列表Ctrl+Alt+L 格

2015-12-27 18:48:14 731 1

原创 python定时任务调度——apscheduler模块

一、基本概念APScheduler(Advanced Python Scheduler),基于Quartz的轻量级Python定时任务调度框架1.1 四个主要组件: trigger 、jobstores、 executors 、scheduler executor 任务执行器:执行任务的模块,不同的IO模型选择相适应的executorjobstore 任务存储仓库:持久存储任务trigger

2015-12-20 15:00:58 22745 2

原创 Python 标准库——os、glob模块

一、os 模块1、os 模块常用属性2、os 模块常用方法二、os.path 模块1、os.path 模块常用方法三、glob 模块四、综合应用

2015-12-19 12:21:26 2913

原创 python程序打包为egg——setuptools模块

一、创建包新建文件夹my-package,文件夹下创建如下setup.py(务必为此名字)文件# encoding: utf-8from setuptools import setup, find_packagessetup( name="demo", # egg包名 version="0.0.9", description="get http headers",

2015-12-13 18:54:36 7910 1

原创 RegexBuddy使用简单记录

regexbuddy match replace

2015-12-12 16:27:17 857

原创 logback配置代码片段

java日子系统:slf4j 和logback

2015-11-28 19:37:18 491

原创 Python 标准库——collections(下)

一、namedtuple 二、OrderedDict 三、deque

2015-09-20 13:12:28 502

原创 Python 标准库——collections(上)

一 、Counter初始化update方法、most_common 方法算术运算二、 defaultdict初始化 三种技巧defaultdict V.S groupby

2015-09-20 12:50:00 534

原创 Python 标准库——functools

一、 偏函数 二、wraps 装饰器

2015-09-20 11:08:47 511

原创 Python 标准库——itertools

一、chain / chain.from_iterable二、izip / imap / starmap 三、count / cycle / repeat四、ifilter/ islice五、compress / dropwhile / takewhile六、groupby七、produce / permutations / combinations参考:[1] https://docs.pyth

2015-09-19 18:30:56 588

原创 Python 标准库——operator

Python 标准库——operator

2015-09-19 17:44:42 1002

原创 通过python 运行hadoop

通过python运行hadoop

2015-09-06 22:14:54 679

原创 《Unicode之痛》摘抄

python unicode 编码解码策略

2015-08-30 16:45:44 456

原创 Python——configParser模块学习

python——congfigParser模块学校,处理ini等配置文件

2015-08-23 19:24:48 786

原创 Python——logging模块学习

python——logging模块学习

2015-08-23 16:51:21 546

原创 Python 日期处理——datetime包学习(下)

Python 日期处理——datetime包学习

2015-08-22 14:26:41 784

原创 Python 日期处理——datetime包学习(上)

python日期处理——datetime包学习

2015-08-22 13:53:33 918

原创 新学习到的windows快捷键

新学习到的windows快捷键

2015-08-18 22:33:48 326

原创 python2.7虚拟环境virtualenv安装及使用

python虚拟环境virtualenv安装及使用

2015-08-16 13:56:20 10068

原创 Python2.7 安装numpy报错解决方法

Windows 10下用pip安装numpy包报错: Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat

2015-08-16 10:45:21 3258

南京航空航天大学灰色系统论

最新灰色理论编程,套用数据即可最新灰色理论编程最新灰色理论编程

2011-08-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除