标签:类图

编程技术

微服务断路器Istio与Hystrix比较

3

dulong 发布于 2018-12-14

无可否认,在过去几年中,像Docker和Kubernetes这样的技术,彻底改变了我们对软件开发和部署方式。断路器模式是在微服务架构中广泛采用的那些模式之一。我们将比较实现它的两种不同方法的优缺点:Hystrix和Istio。 微服务同步通信的核心问题 想象一个非常简单的微服务架...

阅读(8)评论(0)赞 (0)

Java

死磕java concurrent包系列(六)基于AQS解析信号量Semaphore

3

darida 发布于 2018-12-13

之前分析AQS的时候,内部有两种模式,独占模式和共享模式,前面的ReentrantLock都是使用独占模式,而Semaphore同样作为一个基于AQS实现的并发组件,它是基于共享模式实现的,我们先看看它的使用场景 Semaphore共享锁的基本使用 假设有20个人去银行柜面办理业...

阅读(15)评论(0)赞 (0)

Java

从源码角度理解Java设计模式——装饰者模式 原 荐

3

xirruiqiang 发布于 2018-12-12

一、饰器者模式介绍 装饰者模式定义:在不改变原有对象的基础上附加功能,相比生成子类更灵活。 适用场景:动态的给一个对象添加或者撤销功能。 优点:可以不改变原有对象的情况下动态扩展功能,可以使扩展的多个功能按想要的顺序执行,以实现不同效果。 缺点:更多的类,使程序复杂 类型:结构型...

阅读(30)评论(0)赞 (0)

Spring

spring cloud hystrix实践

4

xubiao.zhuang 发布于 2018-12-06

介绍 hystrix是spring cloud的熔断降级组件,由netflix公司开源,通过命令模式结合rxjava框架实现,命令模式封装了用户具体业务,使用rxjava对命令的执行结果进行统计,根据统计结果按一定策略执行熔断降级,避免造成应用失败雪崩。 执行流程如下图: 流程说...

阅读(23)评论(0)赞 (0)

Spring

spring事务管理源码分析(一)配置和事务增强代理的生成流程

6

hellas 发布于 2018-12-02

在本篇文章中,将会介绍如何在spring中进行事务管理,之后对其内部原理进行分析。主要涉及 @EnableTransactionManagement注解为我们做了什么? 为什么标注了@Transactional注解的方法就可以具有事务的特性,保持了数据的ACID特性?spring...

阅读(27)评论(0)赞 (0)

Java

Java并发用AQS写一把可重入锁

3

刘莉莉 发布于 2018-11-19

编辑推荐: 本文来自于网络,今天我们来效仿ReentrantLock类用AQS来改写一下这把锁。要想使用AQS为我们服务,首先得弄懂三个问题:AQS是什么?AQS已经做了什么以及我们还需要做些什么? AQS简介 AQS是J.U.C包下AbstractQueuedSynchroni...

阅读(38)评论(0)赞 (0)

Java

JAVA设计模式之模板方法模式和建造者模式

3

yanxinchi 发布于 2018-11-18

一、前期回顾 上一篇 《Java 设计模式之工厂方法模式与抽象工厂模式》 介绍了三种工厂模式,分别是工厂方法模式,简单工厂方法模式,抽象工厂模式,文中详细根据实际场景介绍了三种模式的定义,实践,最后总结了三种方式的区别,以及各个模式的适用场景。这一篇博文我们来学习下模板方法模式和...

阅读(35)评论(0)赞 (0)

Java

Hibernate ORM 5.4.0.CR1 发布,数据持久层框架

尖兵 发布于 2018-11-17

Hibernate ORM 5.4.0 的第一个候选版本已发布。 更新内容 改进 EntityGraph JPA 的 EntityGraph 功能定义和使用起来很麻烦。Hibernate ORM 5.4 增加了2个新功能,可帮助您更轻松地使用 EntityGraphs。请注意,所...

阅读(38)评论(0)赞 (0)

Java

Java 8中的规范设计模式

2

尖兵 发布于 2018-11-15

关于规范模式specification Pattern,在我以前的一个工作岗位上,我已经利用这种模式成功地设计并实现了电信领域的实时授权的解决方案,现在又一次出现了类似的问题我的团队要解决这个问题,然后我注意到我的大多数同事都没有听说过这种模式。 背景 从本质上讲,这次主要目标是...

阅读(42)评论(0)赞 (0)

Java

高并发'大杀器'异步化、并行化

10

yeseng 发布于 2018-11-13

编辑推荐: 本文来自于51cto,文章从异步化和并行化两个方案中给大家介绍如何处理架构设计中的高并发这个问题。 高并发的大杀器:异步化 同步和异步,阻塞和非阻塞 同步和异步,阻塞和非阻塞,这几个词已经是老生常谈,但是还是有很多同学分不清楚,以为同步肯定就是阻塞,异步肯定就是非阻塞...

阅读(60)评论(0)赞 (0)

Java

Java架构-Java JDK 动态代理

3

likai 发布于 2018-11-12

代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用...

阅读(31)评论(0)赞 (0)

Java

原 荐 Mybatis 数据源和数据库连接池源码解析(DataSource)

6

xiaoli.wang 发布于 2018-11-05

Mybatis 解析配置文件的源码解析 Mybatis 类型转换源码分析 前言 在使用 Mybatis 的时候,数据库的连接一般都会使用第三方的数据源组件,如 C3P0,DBCP 和 Druid 等,其实 Mybatis 也有自己的数据源实现,可以连接数据库,还有连接池...

阅读(49)评论(0)赞 (0)

Java

Netty Pipeline源码分析(1)

6

hellas 发布于 2018-11-02

原文链接: wangwei.one/posts/netty… 前面,我们分析了Netty EventLoop的创建 与启动 原理,接下里我们来分析Netty中另外两个重要组件—— ChannelHandler 与 Pipeline 。Netty中I/O事件的传播机制均由它负责,下...

阅读(44)评论(0)赞 (0)

Java

聊聊Dubbo(九):核心源码-服务端启动流程2

6

xubiao.zhuang 发布于 2018-10-29

String name = protocolConfig.getName(); if (name == null || name.length() == 0) { name = "dubbo"; } Map<String, String> map ...

阅读(66)评论(0)赞 (0)

Java

SpringBoot实战分析-MongoDB操作

14

xiaoli.he 发布于 2018-10-24

MongoDB 作为一个基于分布式文件存储的数据库,在微服务领域中广泛使用.本篇文章将学习 Spring Boot 程序如何执行 MongoDB 操作以及底层实现方式的源码分析,来更好地帮助我们理解Spring程序操作 MongoDB 数据库的行为.以下两点是源码分析的收获,让我...

阅读(49)评论(0)赞 (0)

Java

Shading-jdbc源码分析-sql词法解析

6

xiaoli.he 发布于 2018-10-19

前有芋艿大佬已经发过相关分析的文章,自己觉的源码总归要看一下,然后看了就要记录下来(记性很差…),所以就有了这篇文章(以后还要继续更:smile:) ,希望我们都能在看过文章后能够有不一样的收获。 声明:本文基于1.5.M1版本 相关的UML类图 解析: 首先我们来看...

阅读(67)评论(0)赞 (0)

Java

高并发的“大杀器”:异步化、并行化

12

xiaoli.wang 发布于 2018-10-18

高并发的大杀器:异步化 同步和异步,阻塞和非阻塞 同步和异步,阻塞和非阻塞,这几个词已经是老生常谈,但是还是有很多同学分不清楚,以为同步肯定就是阻塞,异步肯定就是非阻塞,其实他们并不是一回事。 同步和异步关注的是结果消息的通信机制: 同步:调用方需要主动等待结果的返回。 异步:不...

阅读(67)评论(0)赞 (0)

Java

Java 设计模式之《观察者模式》

2

changyuan.xu 发布于 2018-10-10

很久之前,自己也曾看过一些设计模式的内容,最近在做一些程序代码设计的时,发现忘得差不多了,很多模式也只是有大致影响,决定重新将一些常用的模式复习一下。今天一个模式观察者模式。 观察者模式 观察者模式属于行为模式中的一种;观察者模式定对象一个一对多的依赖关系,让多个观察者对象同时监...

阅读(51)评论(0)赞 (0)