Spring Cloud核心组件底层原理

目录 一、业务场景介绍 二、Spring Cloud核心组件:Eureka 三、Spring Cloud核心组件:Feign 四、Spring Cloud核心组件:Ribbon 五、Spring Cloud核心组件:Hystrix 六、Spring Cloud核心组件:Zuul 七、...

2018-12-13 10:44:34

阅读数 56

评论数 0

深入理解Java NIO

在 JDK1.4 之后,为了提高 Java IO 的效率,Java 提供了一套 New IO (NIO),之所以称之为 New NIO,原因在于它相对于之前的 IO 类库是新增的。此外,旧的 IO 类库提供的 IO 方法是阻塞的,New IO 类库则让 Java 可支持非阻塞 IO,所以,更多的人...

2018-12-11 14:50:43

阅读数 63

评论数 0

AQS框架源码分析

AQS就是AbstractQueuedSynchronizer,它是为实现依赖于先进先出(FIFO)等待队列的阻塞锁和相关同步器(信号量,事件等)提供的一个框架。AQS继承了AbstractOwnableSynchronizer类,这个类为创建锁和相关同步器提供了基础。AQS是Concurrent...

2018-12-11 11:53:27

阅读数 46

评论数 0

Spring 如何使用注解注入集合类list、set、map

首先通过示例来展示,如何在Spring中使用注解注入集合类(list、map、set等) 定义接口InjectService,继承InitializingBean接口,便于打印Spring注入的实例对象 public interface InjectService extends Initi...

2018-12-10 16:34:06

阅读数 663

评论数 0

SpringMVC 请求处理 - HandlerInterceptor

对SpringMVC有所了解的人肯定接触过HandlerInterceptor拦截器,HandlerInterceptor接口给我们提供了3个方法: (1)preHandle: 在执行controller处理之前执行,返回值为boolean ,返回值为true时接着执行postHandle和af...

2018-11-30 10:18:40

阅读数 42

评论数 0

netty源码分析之揭开reactor线程的面纱(三)

上两篇博文(netty源码分析之揭开reactor线程的面纱(一),netty源码分析之揭开reactor线程的面纱(二))已经描述了netty的reactor线程前两个步骤所处理的工作,在这里,我们用这张图片来回顾一下: reactor线程三部曲 简单总结一下reactor线程三部曲 ...

2018-11-29 10:48:58

阅读数 22

评论数 0

netty源码分析之揭开reactor线程的面纱(二)

如果你对netty的reactor线程不了解,建议先看下上一篇文章netty源码分析之揭开reactor线程的面纱(一),这里再把reactor中的三个步骤的图贴一下 reactor线程 我们已经了解到netty reactor线程的第一步是轮询出注册在selector上面的IO事件(se...

2018-11-29 10:47:53

阅读数 19

评论数 0

netty源码分析之揭开reactor线程的面纱(一)

netty最核心的就是reactor线程,对应项目中使用广泛的NioEventLoop,那么NioEventLoop里面到底在干些什么事?netty是如何保证事件循环的高效轮询和任务的及时执行?又是如何来优雅地fix掉jdk的nio bug?带着这些疑问,本篇文章将庖丁解牛,带你逐步了解netty...

2018-11-29 10:46:03

阅读数 20

评论数 0

JVM(六):GC日志阅读

垃圾回收器的可用组合: Young Tenured JVM options Serial Serial -XX:+UseSerialGC Parallel Scavenge Serial -XX:+UseParallelGC -XX:+UseSerie...

2018-11-28 18:20:33

阅读数 22

评论数 0

JVM(五):GC垃圾收集器分类

1、Serial收集器(新生代) 单线程,在进行垃圾收集时必须暂停其他所有的工作线程(“Stop the World“)。虚拟机运行在Client模式下的默认新生代收集器。简单而高效(与其他收集器的单线程比),对于限定单个CPU的环境来说,Serial收集器由于没有线程交互的开销,专心做垃圾...

2018-11-28 18:16:09

阅读数 24

评论数 0

JVM(四):GC算法

1、对象与引用 为了解决“哪些内存需要回收”的问题,需要确定哪些对象是“有用不可回收”的,而哪些对象是“无用可回收”的。通常存在以下两种判断算法。 引用计数法 算法原理:给对象添加一个引用计数器,每当一个地方引用它时,计数器值就加1;每当一个引用失效时,计数器值就减1;当引用计数为0时,...

2018-11-28 18:12:22

阅读数 38

评论数 0

JVM(三):内存模型JMM

JMM是一种规范,目的是解决由于多线程通过共享内存进行通信时,存在的本地内存数据不一致、编译器会对代码指令重排序、处理器会对代码乱序执行等带来的问题。 主内存与工作内存 主内存:所有的实例字段、静态字段和构成数组对象的元素都存储在主内存,但不包括局部变量与方法参数。 工作内存:每个线程都有自...

2018-11-28 18:07:54

阅读数 46

评论数 0

JVM(二):JVM类加载机制

如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。   加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Cl...

2018-11-28 18:04:05

阅读数 34

评论数 0

JVM(一):JVM的运行时数据区

由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java程序具体执行的过程: 如上图所示,首先Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JV...

2018-11-28 17:59:37

阅读数 36

评论数 0

防雪崩利器:熔断器 Hystrix 的原理与使用

前言 分布式系统中经常会出现某个基础服务不可用造成整个系统不可用的情况, 这种现象被称为服务雪崩效应. 为了应对服务雪崩, 一种常见的做法是手动服务降级. 而Hystrix的出现,给我们提供了另一种选择. 服务雪崩效应的定义 服务雪崩效应是一种因 服务提供者 的不可用导致 服务调用者 的...

2017-03-30 10:05:44

阅读数 817

评论数 0

分布式服务弹性框架“Hystrix”实践与源码研究(一)

文章初衷 为了应对将来在线(特别是无线端)业务量的成倍增长,后端服务的分布式化程度需要不断提高,对于服务的延迟和容错管理将面临更大挑战,公司框架和开源团队选择内部推广Netflix的Hystrix,一是为了推进各部门的服务使用覆盖率,二是为了增加C Sharp语言版本的参与度(目前公司至少三...

2017-03-30 10:02:18

阅读数 1765

评论数 0

微服务实践(七):从单体式架构迁移到微服务架构

这是用微服务开发应用系列博客的第七篇也是最后一篇。第一篇中介绍了微服务架构模式,并且讨论了微服架构的优缺点;接续文章讨论了微服务架构不同方面:使用API网关,进程间通信,服务发现,事件驱动数据管理以及部署微服务。本篇,我们将探讨将应用从单体式架构迁移到微服务架构需要考虑的策略。 希望读者通过...

2017-01-22 18:22:07

阅读数 236

评论数 0

微服务实战(六):选择微服务部署策略

【这篇博客是用微服务建应用的第六篇,第一篇介绍了微服务架构模板,并且讨论了使用微服务的优缺点。随后的文章讨论了微服务不同方面:使用API网关,进程间通讯,服务发现和事件驱动数据管理。这篇文章,我们将讨论部署为服务的策略。 微服务实战(一):微服务架构的优势与不足 微服务实战(二):使用...

2017-01-22 18:20:22

阅读数 257

评论数 0

微服务实践(五):微服务的事件驱动数据管理

【编者的话】本文是使用微服务创建应用系列的第五篇文章。第一篇文章介绍了微服务架构模式,并且讨论了使用微服务的优缺点;第二和第三篇描述了微服务架构模块间通讯的不同方面;第四篇研究了服务发现中的问题。本篇中,我们从另外一个角度研究一下微服务架构带来的分布式数据管理问题。 1.1 微服务和分布式数...

2017-01-22 18:19:12

阅读数 300

评论数 0

微服务实战(四):服务发现的可行方案以及实践案例

(转载自dockone.io 原作者杨峰) 这是关于使用微服务架构创建应用系列的第四篇文章。第一篇介绍了微服务架构的模式,讨论了使用微服务架构的优缺点。第二和第三篇描述了微服务架构内部的通讯机制。这篇文章中,我们将会探讨服务发现相关问题。   为什么要使用服务发现?   设想一下...

2017-01-22 18:17:55

阅读数 190

评论数 0

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