自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(419)
  • 资源 (30)
  • 收藏
  • 关注

原创 insert on duplicate key update死锁

无论是死锁还是锁放大,根源在于锁的范围扩大了。所以建议大家还是最好不要用这个语法。MySQL的insert on duplicate 逻辑是,先插入主键,再插唯一键,如果唯一键发生冲突会出现加next-key锁,然后进行一次回滚(要回滚写入到主键的记录),此时刚刚插入的遗留在主键记录的锁(MySQL的隐式锁机制)退化成了gap锁(因为主键上的记录不再需要了),锁的范围就退化成主键的最后到无穷大,在批量更新场景下,也许会有另外一个行数据插入到最后,还会有一把插入意向锁,此时死锁。

2023-12-26 16:50:00 496

原创 架构实践方法

而同样都采用 ZooKeeper,一个方案的节点设计是 /service/node/master,另一个方案的节点设计是 /company/service/master,这两个方案并无明显差异,无须在备选方案设计阶段作为两个不同的备选方案,至于节点路径究竟如何设计,只要在最终的方案中挑选一个进行细化即可。架构师的工作并不神秘,成熟的架构师需要对已经存在的技术非常熟悉,对已经经过验证的架构模式烂熟于心,然后根据自己对业务的理解,挑选合适的架构模式进行组合,再对组合后的方案进行修改和调整。

2023-08-08 16:00:09 1000

原创 对系统可扩展性性的理解

可扩展性指系统为了应对将来需求变化而提供的一种扩展能力,当有新的需求出现时或容量出现问题时,系统不需要或者仅需要少量修改就可以支持,无须整个系统重构或者重建。基本可以定义为,系统架构扩展性=系统架构适应业务变化能力+容量变化的能⼒。

2023-08-03 12:00:13 1195

原创 对系统可复用性的理解

软件复用(Software Reuse)是指将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费,是提高软件生产力和质量的一种重要技术。软件复用对程序员来说是再平常不过的事情,可能从学校里的编程作业开始,我们就在接触复用。早期的软件复用主要是代码级复用,被复用的知识专指程序。但其实领域知识、架构设计、技术文档等知识类的沉淀,同样适用上述定义,也属于软件复用的范畴。大部分情况下系统的核心复杂度不会减少, 只是转移;不会因为所有代码一个人写,会比分成两个人写更快,分工是应该且必须的。

2023-07-28 16:11:59 358

原创 故障兜底方案

【代码】故障兜底方案。

2023-07-24 11:49:35 84

原创 对系统可维护性的理解

第三,千万不要写无用的debug信息,在第一条强调中一定要写注释,因为有总比没有强,但是一些debug信息,有跟没有都一样,不但浪费维护人员时间,甚至给出错误的引导。第一,代码一定要有注释,特别是关于if esle,每个条件到底意味这什么,一定要有清晰的描述,开发人员在写代码时,必须认识到,代码不是给你看的,是给维护人员看的,如果你的代码没有注释,一会让维护人员疯狂;第五,完善的系统配置管理,在项目开始之后,就需要进行,直到项目结束之后,维护工作中,仍然需要不断更新系统配置信息。

2023-07-20 11:19:10 295

原创 高并发高可用常用的单机方法

一、限流 public static class RateLimiterChangeHandler { private static final RateLimiter rateLimiter; static { rateLimiter = RateLimiter.create(getQueryLimitSpeed()); } public static RateLimiter getRateLimit

2022-04-09 11:43:54 465

原创 复杂系统设计解决之道

系统复杂的原因:由大量相互作用的部分组成的系统,组成部分相对简单且没有全局通信,但其相互作用会导致复杂行为。系统复杂通常分为两种:一个是规模复杂,一个是结构复杂,规模复杂相对宏观,结构复杂是规模复杂的一个子领域。在系统设计的时候过度设计和设计不足都会导致系统的复杂度提升。解决复杂的思路:分治、抽象和标识,分治针对于各个领域的划分,抽象更多的是领域内部的动作,标识用于业务在系统内部的流程。 分治:通过系统分治解决系统复杂性,具体的方法就是领域划分(系统划分,模块划分),明确系统的核心能力和边界(

2022-04-09 00:15:46 1331

转载 【微服务】基于DDD的商城系统实战(一)-- 领域分解

引用自:【微服务】基于DDD的商城系统实战(一)-- 领域分解 - 修行编程,沉淀技术,记录生活 - JinTang's Zone前言DDD早在2003年就诞生了,网上已经有非常多的资料,所以在这里不做过多的介绍。学习DDD之后,对我整个程序开发视野有了新的理解,然后我迫不及待地想要亲身实践一下,基于DDD从0到1设计开发一套系统,以此来总结知识和检验学习成果,我希望能够把这一个过程记录下来,为公司业务侧对DDD文化的推广上尽一份力 ,我非常希望有更多的同学加入到DDD的队列中。我们都知.

2021-12-24 17:49:59 1018

转载 每秒100W请求,12306秒杀业务,架构如何优化?

饮用自:每秒100W请求,12306秒杀业务,架构如何优化?-阿里云开发者社区总结:12306怎么解高并发:大流量:分时段分车次+ 前端拦截 + 重复请求过滤;机器性能:消息队列削峰 + 批量消费;数据库性能:提前分好座位数 + 根据请求批量更新库减少IO;读性能:缓存。同样是高并发,社交通讯/微博/12306的架构难度一样吗?同样是高并发场景,三类业务的架构挑战不一样:社交通讯类业务,用户主要读写自己的数据,访问基本带有uid属性,数据访问锁冲突较小 微博类业务,用户的feed主页由别人发布

2021-12-23 17:41:02 897

转载 洞察设计模式的底层逻辑

引用自:洞察设计模式的底层逻辑找到变化,封装变化。https://mp.weixin.qq.com/s/qRjn_4xZdmuUPQFoWMBQ4Q设计模式是开发同学经常聊到的话题,也经常被用到实际的开发项目中,熟练的人可以做到信手拈来,不熟悉的人陷入苦思冥想中。笔者认为,不仅仅要掌握设计模式的用法,更要洞察设计模式的底层逻辑,只有那样,才能做到遇到实际的问题可以使用合适的设计模式去解决。一 你应该关注底层逻辑1 设计模式的段子段子一:你让他给你讲设计模式,他给你讲故事,..

2021-12-20 10:52:22 212

转载 Spring的Bean生命周期和扩展点

引用自:Spring的Bean生命周期和扩展点-技术圈一、生命周期Bean 的生命周期主要为实例化、属性填充、初始化和销毁 4 个阶段,加上类加载和使用阶段,整个流程如下:二、Bean 的扩展Spring 在每个阶段都提供了扩展点,扩展点可以分为两类: 专用扩展点:用于单个 Bean 的扩展,定义 Bean 类时实现接口来扩展功能。 通用扩展点:用于所有 Bean 的扩展,单独定义类实现接口来扩展功能。 1. 专用扩展点Aware接口Aware接口可以..

2021-12-03 13:05:04 658 2

转载 反射、动态代理详细用法

引用自:https://segmentfault.com/a/11900000161056921. Java类型系统获取Java类型系统,主要有两个方式:一种是传统的RTTI(Run-Time Type Identification),它假定我们在编译时已经知道了所有的类型信息;另一种是反射(Reflect),它允许我们在程序运行时获取并使用类型信息。假如有一个简单的继承体系,让我们看下在RTTI和Reflect不同情况下如何获取类型信息。Animal为接口,定义getType以返回不同动物

2021-12-02 16:31:58 238

原创 领域驱动完整方法流程

基本概念一文搞懂DDD_maoyeqiu的专栏-CSDN博客领域驱动设计DDD概念_maoyeqiu的专栏-CSDN博客防腐层_maoyeqiu的专栏-CSDN博客_防腐层建模方法领域建模的方法_maoyeqiu的专栏-CSDN博客领域驱动设计(DDD)架构整理(分层架构、六边形架构、SOA架构、REST、CRQS、事件驱动架构等)_maoyeqiu的专栏-CSDN博客架构师如何应对复杂业务场景?领域建模的实战案例解析_maoyeqiu的专栏-CSDN博客换个思维学领域建模方

2021-11-30 10:34:03 350

转载 DCI架构是如何解决DDD战术建模缺点的?

引用自:华为开发者论坛前言在面向对象编程的理念里,应用程序是对现实世界的抽象,我们经常会将现实中的事物建模为编程语言中的类/对象(“是什么”),而事物的行为则建模为方法(“做什么”)。面向对象编程有三大基本特性(封装、继承/组合、多态)和五大基本原则(单一职责原则、开放封闭原则、里氏替换原则、依赖倒置原则、接口分离原则),但知道这些还并不足以让我们设计出好的程序,于是很多方法论就涌现了出来。近来最火的当属领域驱动设计(DDD),其中战术建模提出的实体、值对象、聚合等建模方法,能够很好的指导我们设

2021-11-29 21:02:30 962

转载 Java开发架构篇:初识领域驱动设计DDD落地

引用自:https://segmentfault.com/a/1190000022678470一、前言DDD(Domain-Driven Design 领域驱动设计)是由Eric Evans最先提出,目的是对软件所涉及到的领域进行建模,以应对系统规模过大时引起的软件复杂性的问题。整个过程大概是这样的,开发团队和领域专家一起通过 通用语言(Ubiquitous Language)去理解和消化领域知识,从领域知识中提取和划分为一个一个的子领域(核心子域,通用子域,支撑子域),并在子领域上建立模型,再重复

2021-11-29 21:00:50 878 2

转载 阿里技术专家详解DDD系列 第四讲 - 领域层设计规范

填坑进行时。谢谢大家对DDD系列的期待,持续更新,欢迎关注此账号查收后续内容。第一篇内容地址:阿里巴巴淘系技术:阿里技术专家详解 DDD 系列 第一讲- Domain Primitive891 赞同 · 70 评论文章正在上传…重新上传取消​第二篇内容地址:阿里巴巴淘系技术:阿里技术专家详解DDD系列 第二讲 - 应用架构482 赞同 · 80 评论文章正在上传…重新上传取消​第三篇内容地址:阿里巴巴淘系技术:阿里技术专家详解DDD系列 第三讲 - Repository模式310 赞

2021-11-29 20:52:49 746

转载 领域驱动设计在互联网业务开发中的实践

至少30年以前,一些软件设计人员就已经意识到领域建模和设计的重要性,并形成一种思潮,Eric Evans将其定义为领域驱动设计(Domain-Driven Design,简称DDD)。在互联网开发“小步快跑,迭代试错”的大环境下,DDD似乎是一种比较“古老而缓慢”的思想。然而,由于互联网公司也逐渐深入实体经济,业务日益复杂,我们在开发中也越来越多地遇到传统行业软件开发中所面临的问题。本文就先来讲一下这些问题,然后再尝试在实践中用DDD的思想来解决这些问题。过度耦合业务初期,我们的功能大都非常简单,普

2021-11-29 20:50:18 248

转载 后端开发实践系列——领域驱动设计(DDD)编码实践

转自:后端开发实践系列——领域驱动设计(DDD)编码实践 - Thoughtworks洞见后端开发实践系列文章列表: 后端开发实践——开发者的第0个迭代 后端开发实践系列——领域驱动设计(DDD)编码实践 后端开发实践系列——事件驱动架构(EDA)编码实践 后端开发实践系列——简单可用的CQRS编码实践 * Martin Fowler在《企业应用架构模式》一书中写道:I found this(business logic) a curious te

2021-11-29 20:26:47 415

原创 DDD战术建模

实体:当一个对象由其标识(而不是属性)区分时,这种对象称为实体(Entity)。例:最简单的,公安系统的身份信息录入,对于人的模拟,即认为是实体,因为每个人是独一无二的,且其具有唯一标识(如公安系统分发的身份证号码)。在实践上建议将属性的验证放到实体中。值对象:当一个对象用于对事务进行描述而没有唯一标识时,它被称作值对象(Value Object)。例:比如颜色信息,我们只需要知道{“name”:“黑色”,”css”:“#000000”}这样的值信息就能够满足要求了,这避免了我们对标识追踪带来的系统复

2021-11-29 19:54:52 310

转载 表驱动法以及其他一些消除if-else的方法

引用自:https://v_vincen.gitee.io/en/Java-%E6%9D%82%E8%AE%B0-%E8%A1%A8%E9%A9%B1%E5%8A%A8%E6%B3%95%E5%92%8C-if-else%EF%BC%8Cswitch-case-%E4%BC%98%E5%8C%96/什么叫表驱动法表驱动法,又称之为表驱动、表驱动方法。“表”是几乎所有数据结构课本都要讨论的非常有用的数据结构。表驱动方法出于特定的目的来使用表,程序员们经常谈到“表驱动”方法,但是课本中却从未提到过什么是

2021-11-29 11:41:00 546

转载 提升代码质量的方法:领域模型、设计原则、设计模式

转自:提升代码质量的方法:领域模型、设计原则、设计模式 - 51CTO.COM一、影响代码差的根因1.差代码的体现我们可以列举出非常多质量差的代码的表现现象,如名字不知所意、超大类、超大方法、重复代码、代码难懂、代码修改困难……其中最为影响代码质量的两个表现是命名名不副实、逻辑可扩展性差,当一个新人阅读代码时,有时发现方法命名与实际逻辑对不上,这就让人感到非常疑惑,这种现象在平时工作并不少见;另一个就是逻辑扩展性差,一个新业务需求提出来后,发现要在多处改动,需要回归的业务逻辑比较多,造成研发效率

2021-11-26 19:43:29 141

转载 如何利用设计模式改善业务代码?

前言阿里优秀的人很多,他们身上都有着共同的特质,就是看问题的思考能力,让我最佩服的是思考力强的人,对事情有深入见解和观点的人,大多数人还是停留在表面看问题,很多禁锢在思想里逃不出来,古人说,立德立言立功为三不朽,立言就是思考力和认知力,人和人的差异,在长久的职场中或者生活中,除去运气外,其实就是认知和思考力的差异。所以除去繁琐的工作后,如何在有限的时间从代码中寻找欢乐,需要提高的是思考和规划能力。责任链设计模式▐模式定义责任链模式(Chain of Respo..

2021-11-26 19:40:47 224

原创 如何在工作中应用SOLID设计原则

认识 SOLID 原则无论是软件系统设计,还是代码实现,遵循有效和明确的设计原则,都利于系统软件灵活可靠,安全快速的落地,更重要的是能灵活地应对需求,简化系统扩展和维护,避免无效的加班。本文主要讨论面向对象软件开发中最流行的设计原则- SOLID,它是五个设计原则为了方便记忆而组成的首字母缩写:单一职责原则 开放/封闭原则 里式替换原则 接口隔离原则 依赖倒置原则单一职责原则 (SRP)基本概念:单一职责原则 (SRP) 英文全称为 Single Responsibility Prin

2021-11-26 17:23:05 220

转载 如何在代码中应用设计模式

要使用设计模式因为我们的项目的需求是永远在变的,为了应对这种变化,使得我们的代码能够轻易的实现解耦和拓展。如果能够保证代码一次写好以后都不会再改变了,那可以想怎么写怎么写了。如何判断那里需要使用设计模式在我们实现中,有一些代码是一次写好后续基本不会改变的,或者不太需要扩展的,比如一些工具类等。有一部分是会经常变得,设计模式大多都应用在需求会变化的这一部分。分析这些代码会如何变,选择合适的设计模式来优化这部分代码。以促销活动需求为例需求为了促进商品的销售,各大电商品...

2021-11-25 21:23:50 363

原创 领域建模的方法

一、领域建模的好处DDD最大的好处是:接触到需求第一步就是考虑领域模型,而不是将其切割成数据和行为,然后数据用数据库实现,行为使用服务实现,最后造成需求的首肢分离。DDD让你首先考虑的是业务语言,而不是数据。DDD强调业务抽象和面向对象编程,而不是过程式业务逻辑实现。重点不同导致编程世界观不同。面向对象封装:Account的相关操作都封装在Account Entity上,提高了内聚性和可重用性。多态:采用策略模式的OverdraftPolicy(多态的典型应用)提高了代码的可扩展性。二、如何进行

2021-11-19 10:14:38 2986

原创 房贷计算算法

/** * Description:等额本金工具类 */import com.google.common.collect.Maps;import java.math.BigDecimal;import java.util.HashMap;import java.util.Map;import java.util.Set;/** * 等额本金是指一种贷款的还款方式,是在还款期内把贷款数总额等分,每月偿还同等数额的本金和剩余贷款在该月所产生的利息,这样由于每月的还款本金额固定, * .

2021-10-10 17:59:23 310

原创 log.info问题总结

一、CPU飙升1.1 异常日志从开发人员给的描述里面看, 基本没啥可以具体怀疑的地方. 进一步观察该应用的各个指标, 只有 CPU 使用率比较异常, 其它没有啥异常的地方.一般 CPU 高, 要从线程看起, 做了几个 thread dump, 大概推断出问题的所在, 进一步分析, 验证了这个推断.从 thread dump 看到好几个线程都是在 blocked 状态, 它们都是在等 java.io.PrintStream 某个 instance 的一把锁, 这个锁正是 PrintStream 的 p

2021-08-06 15:32:07 5870 2

原创 数据类型转换工具

public class SafeParserUtil { public static final String TRUE_VALUE = "true"; public static final String FALSE_VALUE = "false"; public static final String TRUE_INT_VALUE = "1"; public static final String FALSE_INT_VALUE = "0"; public .

2021-07-23 10:12:20 520

原创 动态执行器

一、对象执行器对象执行器只需要3步即可以做到1. 根据bean名称(可配置)获取对应的实例。Object beanObject = SpringBeanUtil.getBean(beanName);2. 获取实例的方法(方法名和类型可配置)beanMethod = beanObject.getClass().getMethod(methodName, List.class);3. 方法调用(请求参数可配置)beanResult = beanMethod.invoke(be

2021-07-21 10:05:59 114

转载 CPU飙升排查思路

最近公司有个需求是对接E签宝的,也就是CA认证,大致的情况就是我们拿着文件去E签宝做CA认定,简单的理解就是拿着合同去E签宝盖章。因为是对接三方的吗,所以在调E签宝服务的时候我就用log.info()把请求参数给打印了出来,方便看组装的参加,排查问题,参数中就包含我们的合同文件流,所以整个参数是一个大对象。在做压测的时候发现CPU很快就飙升到100%,并且耗时很久。但是我把打印日志的log.info()去掉之后,CPU和耗时马上就降下来了。下面开始排查这个问题:首先使用top命令查看进程运行情况:

2021-07-09 17:00:18 447

转载 java反射-性能优化

转自:https://www.cnblogs.com/throwable/p/12272269.html前提#其实在前面写过的《深入分析Java反射(一)-核心类库和方法》已经介绍过通过类名或者java.lang.Class实例去实例化一个对象,在《浅析Java中的资源加载》中也比较详细地介绍过类加载过程中的双亲委派模型,这篇文章主要是加深一些对类实例化和类加载的认识。类实例化#在反射类库中,用于实例化对象只有两个方法:T java.lang.Class#newInstance():这个

2021-04-27 17:39:10 500

转载 java反射-类实例化和类加载

转自:https://www.cnblogs.com/throwable/p/12272269.html前提#其实在前面写过的《深入分析Java反射(一)-核心类库和方法》已经介绍过通过类名或者java.lang.Class实例去实例化一个对象,在《浅析Java中的资源加载》中也比较详细地介绍过类加载过程中的双亲委派模型,这篇文章主要是加深一些对类实例化和类加载的认识。类实例化#在反射类库中,用于实例化对象只有两个方法:T java.lang.Class#newInstance():这个

2021-04-27 17:36:09 226

转载 java反射-泛形

转自:https://www.jianshu.com/p/7cc6921c3be4一、泛型和Class类从JDK 1.5 后,Java中引入泛型机制,Class 类也增加了泛型功能,从而允许使用泛型来限制Class类。例如:String.class 的类型实际上是Class<String>。如果Class对应的类暂时未知,则使用Class<?>(?是通配符)。通过在反射中使用泛型,可以避免使用反射生成的对象需要强制类型转换。泛型的好处众多,最主要的一点就是避免类型转换,

2021-04-27 17:32:48 152

转载 java反射-动态代理

转自:https://www.cnblogs.com/throwable/p/12272269.html动态代理的简介#Java动态代理机制的出现,使得Java开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架。Java动态代理实际上通过反射技术,把代理对象和被代理对象(真实对象)的代理关系建立延迟到程序运行之后,动态

2021-04-27 17:10:11 426

转载 Java反射-反射 API

转自:https://www.jianshu.com/p/e55770dd48d3一、概述1、Java反射机制(Java-Reflect):在运行状态中,对于任意一个类,都能够知道这个类中的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java的反射机制。反射是Java开发中一个非常重要的概念,掌握了反射的知识,才能更好的学习Java高级课程.2、Java 反射机制的功能 在运行时判断任意一个对象所属的类。

2021-04-27 16:28:00 243

原创 全链路追踪关键技术-数据上报采样

每个服务内部都有一个采样的队列,被采样的数据会放到采样队列中进行上报,当队列满的情况下多余数据会被 drop。请求数据异步推送到消费队列批量消费,压缩(Gzip)动态调整消费速率(2ms-8s)采样策略默认使用采样存储的方式。默认采样率为 0.01% 或 5次/分钟如果某个环节状态异常(比如 TIMEOUT、EXCEPTION、HTTP_4XX、HTTP_5XX),则会强制采集运行时间大于一定阈值的,则采样。阈值默认 500ms,可以通过配置修改。spanId里以.分隔的数

2021-04-26 21:44:33 439

原创 全链路追踪关键技术-traceId的传递

1)同线程传递:当生成traceId的时候,会将相关的上下文id放入本地的TreadLocal变量中,这样就保证了同线程里的id传输。在该线程请求传递结束后一定会把这一次请求的ThreadLocal进行清理。2)网络中传输:如果是RPC请求是在RPC请求协议中添加header字段传递traceId;HTTP请求是在http协议的header中传递traceId;MQ是在消息中添加消息头传递。3)跨线程传递:可以参照下文:在同一个线程内传递比较简单,通过ThreadLocal就能解决上下文传递的问题,

2021-04-26 21:23:48 8443 1

原创 全链路追踪关键技术-Thrift协议Header添加

首先对于远程通信的链路埋点来说,有两个关键信息需要传递,即 traceId 与 spanId(parent spanId)。通信方式目前 链路跟踪框架 只支持 Http 一种。而 Http 利用 header 来传递 trace 信息也十分方便(traceId,spanId)。Client 端采用封装过的 httpClient 或者在 soa 中埋点,均往 header 中塞入了 trace 信息。Server 端采用 spring-web-servlet-filter,本质也就是个拦截器来读取 req

2021-04-26 20:29:25 1829

原创 全链路追踪关键技术-HTTP协议Header添加

Filter 中能够获取到的javax.servlet.http.HttpServletRequest暴露的接口,除了从其父接口javax.servlet.ServletRequest接口继承的setCharacterEncoding方法和setAttribute方法之外,没有setter方法。因此 HttpServletRequest类型对象是只读的。我们只能使用装饰器模式,扩展 HttpServletRequest 的一个实现类javax.servlet.http.HttpServletR...

2021-04-26 20:28:08 478

Springboot consul 服务提供端和服务发现端

提供了springboot方式的consul的服务的注册端和服务的发现端,具体参见:http://blog.csdn.net/maoyeqiu/article/details/77330735

2017-08-17

springboot中的 动态代理的选择测试代码

测试springboot使用动态代理时候的一些代码,具体参考博客http://blog.csdn.net/maoyeqiu/article/details/76546468

2017-08-01

springboot mybatis 集成多数据源 两种实现方式

springboot mybatis 集成多数据源 两种实现方式,一种静态添加,一种动态添加,后者能够支持很好的拓展。使用注解的方式实现,项目打包了一个module

2017-06-30

springboot集成kafka

springboot kafka

2017-06-28

springboot zookeeper 分布式锁

利用springboot集成zookeeper,并利用zookeeper实现分布式锁,避免羊群效应

2017-05-26

springboot redis

redis 存储list 自定义Object map ,缓存数据

2017-05-17

springboot rabbitmq

在springboot的基础上使用Rabbitmq

2017-05-12

springMVC+Ehcache+MySQL

代码是Ehcache的页面缓存、spring的缓存和Hibernate的缓存的应用,采用的是springMVC框架,数据库是MySQL

2016-11-15

springMVC+Ehcache的各级缓存(包括页面缓存)

springMVC+Ehcache的各级缓存(包括页面缓存)

2016-11-14

springMVC+cdn(qiniu+bootcss)

对源码中的路径的引用部分改成CDN,图片也用CDN进行测试

2016-07-11

spring缓存实例

博客地址http://blog.csdn.net/maoyeqiu/article/details/50433934

2015-12-30

spring aop 自定义缓存实现

spring aop 自定义缓存实现的一个小实例,地址:http://blog.csdn.net/maoyeqiu/article/details/50260357

2015-12-11

spring简单的缓存

利用spring实现的简单的缓存的例子,代码解释:http://blog.csdn.net/maoyeqiu/article/details/50238035

2015-12-09

Hibernate一级缓存、二级缓存以及查询缓存实例

Hibernate一级缓存、二级缓存以及查询缓存实例

2015-12-07

spring3 hibernate4 ehcache实例

spring3 hibernate4 ehcache整合的实例

2015-11-21

echartsJava后台封装数据

用Java在后台封装echarts显示的数据,平台是springMVC

2015-11-07

桥梁模式实例

java实现桥梁模式

2015-05-05

java组合模式

java实现组合模式,java实现组合模式。

2015-04-26

java装饰模式实例

通过设计组装和升级大众CC来说明装饰模式,有一个VolkCC类实现Volk接口,设计一个CCDecorator实现Volk这个接口,在ConcreteCCDecorator这个具体装饰角色中进行功能的增加和重写。

2015-04-20

java实现代理模式

用java实现代理模式,使用房屋中介的现实例子进行代理模式的说明

2015-04-14

java创建者模式实例

用java实现创建者模式,实现UML类图,并且实现一个消息发送的实例

2015-04-12

建造者模式实例

通过java模拟大众CC的组装实现建造这模式的实例

2015-04-08

java工厂方法模式和抽象工厂模式实例

用java语言实现工厂方法模式和抽象工厂模式

2015-04-04

java单例模式实例

用java实现的单例模式,包含实例和饿汉单例于懒汉单例

2015-04-03

spring+动态代理

结合spring框架实现的动态代理代理,spring,Proxy

2015-03-29

spring+静态代理

结合spring框架实现的静态代理,接口回掉

2015-03-23

springCache

简单的实现了spring cache,包括第一次存入缓存,缓存查询和缓存清空等等

2015-03-22

java实现cache小实例

完全自定义的缓存的实现,没有使用第三方组件,使用java实现。

2015-03-20

android百度地图实现画线

在android平台上,使用最新的百度地图API实现两点的动态画线,根据位置的变动实现画线

2015-03-12

springMVC实例

springmvc+hibernate+spring+mysql实现登陆流程的一个小实例,最简单的springMVC配置。springmvc实例。

2015-03-12

空空如也

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

TA关注的人

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