Fork me on GitHub
摘要:相信我,你会收藏这篇文章的 本篇文章是这段时间撸出来的SpringBoot源码解析系列文章的汇总,当你使用SpringBoot不仅仅满足于基本使用时、或者出去面试被面试官虐了时、或者说想要深入了解一下这个东西时,那么这篇文章绝对能够满足你 "SpringBoot自动装配原理解析" 本篇文章是当你想要 阅读全文
posted @ 2019-10-11 09:11 石玉军 阅读 (108) 评论 (0) 编辑
摘要:相信我,你会收藏这篇文章的 本篇文章是这段时间撸出来的Spring源码解析系列文章的汇总,总共包含以下专题。喜欢的同学可以收藏起来以备不时之需 "SpringIOC源码解析(上)" 1. 本篇文章搭建了IOC源码解析的demo环境,启动这个环境即可开启阅读Spring源码的第一步 2. 开始源码阅读 阅读全文
posted @ 2019-09-06 09:52 石玉军 阅读 (132) 评论 (0) 编辑
摘要:JVM中运行时数据区中的堆、栈、方法区等区域的特性介绍 Java中class文件的组成结构 JVM的类加载生命周期介绍 Java堆、新生代老年代的特点、堆中的内存分配策略 JVM垃圾收集算法详解 JVM各个垃圾收集器的简单介绍及常用参数详解 JVM中的内存溢出\OOM的原因及解决方案 浅谈Java类 阅读全文
posted @ 2019-05-22 09:17 石玉军 阅读 (34) 评论 (0) 编辑
摘要:Linux常用命令速查-用户管理 Linux常用命令速查-文件管理 Linux常用命令速查-系统监控 Linux常用命令速查-网络管理 Linux常用命令速查-定时任务 Linux常用命令速查-Vim 阅读全文
posted @ 2019-04-18 09:22 石玉军 阅读 (80) 评论 (0) 编辑
摘要:Spring Cloud常用组件使用汇总 使用SpringBoot2.0.3整合SpringCloud 服务注册与发现Eureka 自定义Eureka集群负载均衡策略 如何使用高可用的Eureka Feigin的使用及自定义配置 Hystrix使用 Hystrix仪表盘 路由器和过滤器-Zuul 使 阅读全文
posted @ 2019-04-15 10:38 石玉军 阅读 (148) 评论 (0) 编辑
摘要:多线程基本概念 同步和异步,线程和进程,并发和并行,临界资源,阻塞,死锁,饥饿,活锁,线程的并发级别 多线程内存模型 JMM的基本概念,主内存与工作内存的数据交互,多线程中的原子性、可见性、有序性,指令重排,volatile关键字 Hello,Thread 如何创建线程,线程的生命周期,线程的基本状 阅读全文
posted @ 2019-04-04 16:43 石玉军 阅读 (49) 评论 (0) 编辑
摘要:很多朋友在使用SpringCloudGateway的时候可能都碰到过以下几个问题 SpringCloudGateway中如何读取Post请求体 SpringCloudGateway中Post请求参数只能读取一次 这是因为Gateway默认使用的是SpringWebflux,解决这个问题需要容重新构造 阅读全文
posted @ 2019-11-28 09:17 石玉军 阅读 (101) 评论 (0) 编辑
摘要:我们知道,Zipkin这个工具可以帮助我们收集分布式系统中各个系统之间的调用连关系,而且除了Servlet之外还能收集:MQ、线程池、WebSocket、Feign、Hystrix、RxJava、WebFlux等等组件之间的调用关系。本篇文章就来分析一下Zipkin是如何完成这些功能的 我们先以最常 阅读全文
posted @ 2019-11-26 22:30 石玉军 阅读 (16) 评论 (0) 编辑
摘要:在上篇文章 "Hystrix工作流程解析" 中,我们整体介绍了Hystrix的工作流程,知道了Hystrix会在下面四种情况下发生降级: 1. 熔断器打开 2. 线程池/信号量跑满 3. 调用超时 4. 调用失败 本篇文章则介绍一下在发生降级时Hystrix的处理细节,下面的方法异常的处理逻辑: 这 阅读全文
posted @ 2019-11-15 10:28 石玉军 阅读 (27) 评论 (0) 编辑
摘要:spring.factories 按照以往的惯例,在研究源码的时候,我们先看一下 文件下自动装配的类 ,其中比较重要的东西有这么几个 1. 属性 代表的是各个Feign客户端的配置类,这个稍后会再次提到 2. 这个bean看名字就知道,Feign的上下文环境,包含了所有feign客户端的配置 3. 阅读全文
posted @ 2019-11-15 10:27 石玉军 阅读 (25) 评论 (0) 编辑
摘要:相信我,你会收藏这篇文章的,本篇文章涉及Ribbon、Hystrix、Feign三个组件的源码解析 "Ribbon架构剖析" 这篇文章介绍了Ribbon的基础架构,也就是下图涉及到的6大组件: "Ribbon源码解析" 这篇文章以上篇文章为基础,详细介绍了Ribbon的代码执行流程:Ribbon的自 阅读全文
posted @ 2019-11-15 10:27 石玉军 阅读 (8) 评论 (0) 编辑
摘要:Zipkin基本概念 1. Span:基本工作单元,一次链路调用就会创建一个Span 2. Trace:一组Span的集合,表示一条调用链路。举个例子:当前存在服务A调用服务B然后调用服务C,这个A B C的链路就是一条Trace,而每个服务例如B就是一个Span,如果在服务B中另起2个线程分别调用 阅读全文
posted @ 2019-11-15 10:26 石玉军 阅读 (4) 评论 (0) 编辑
摘要:Zipkin基本概念 1. Span:基本工作单元,一次链路调用就会创建一个Span 2. Trace:一组Span的集合,表示一条调用链路。举个例子:当前存在服务A调用服务B然后调用服务C,这个A B C的链路就是一条Trace,而每个服务例如B就是一个Span,如果在服务B中另起2个线程分别调用 阅读全文
posted @ 2019-11-14 09:12 石玉军 阅读 (4) 评论 (0) 编辑
摘要:相信我,你会收藏这篇文章的,本篇文章涉及Ribbon、Hystrix、Feign三个组件的源码解析 "Ribbon架构剖析" 这篇文章介绍了Ribbon的基础架构,也就是下图涉及到的6大组件: "Ribbon源码解析" 这篇文章以上篇文章为基础,详细介绍了Ribbon的代码执行流程:Ribbon的自 阅读全文
posted @ 2019-11-13 08:57 石玉军 阅读 (7) 评论 (0) 编辑
摘要:在上篇文章 "Feign自动装配" 中,我们提到了Feign的自动装配的原理,以及Feign整合Ribbon和Hystrix的核心在类 中,那么本篇文章就来揭开这个类的神秘面纱 首先,我们看到这个类实现了 这个接口,这个接口的主要作用就是利用 来创建一些实例化过程比较复杂的bean,更多关于这个接口 阅读全文
posted @ 2019-11-11 09:14 石玉军 阅读 (18) 评论 (0) 编辑
摘要:在上篇文章 "Hystrix工作流程解析" 中,我们整体介绍了Hystrix的工作流程,知道了Hystrix会在下面四种情况下发生降级: 1. 熔断器打开 2. 线程池/信号量跑满 3. 调用超时 4. 调用失败 本篇文章则介绍一下在发生降级时Hystrix的处理细节,下面的方法异常的处理逻辑: 这 阅读全文
posted @ 2019-11-09 21:22 石玉军 阅读 (35) 评论 (0) 编辑