Fork me on GitHub
摘要: 相信我,你会收藏这篇文章的 本篇文章是这段时间撸出来的SpringBoot源码解析系列文章的汇总,当你使用SpringBoot不仅仅满足于基本使用时、或者出去面试被面试官虐了时、或者说想要深入了解一下这个东西时,那么这篇文章绝对能够满足你 "SpringBoot自动装配原理解析" 本篇文章是当你想要 阅读全文
posted @ 2019-10-11 09:11 石玉军 阅读(2433) 评论(0) 推荐(1) 编辑
摘要: 相信我,你会收藏这篇文章的 本篇文章是这段时间撸出来的Spring源码解析系列文章的汇总,总共包含以下专题。喜欢的同学可以收藏起来以备不时之需 "SpringIOC源码解析(上)" 1. 本篇文章搭建了IOC源码解析的demo环境,启动这个环境即可开启阅读Spring源码的第一步 2. 开始源码阅读 阅读全文
posted @ 2019-09-06 09:52 石玉军 阅读(1397) 评论(0) 推荐(0) 编辑
摘要: JVM中运行时数据区中的堆、栈、方法区等区域的特性介绍 Java中class文件的组成结构 JVM的类加载生命周期介绍 Java堆、新生代老年代的特点、堆中的内存分配策略 JVM垃圾收集算法详解 JVM各个垃圾收集器的简单介绍及常用参数详解 JVM中的内存溢出\OOM的原因及解决方案 浅谈Java类 阅读全文
posted @ 2019-05-22 09:17 石玉军 阅读(177) 评论(0) 推荐(0) 编辑
摘要: Linux常用命令速查-用户管理 Linux常用命令速查-文件管理 Linux常用命令速查-系统监控 Linux常用命令速查-网络管理 Linux常用命令速查-定时任务 Linux常用命令速查-Vim 阅读全文
posted @ 2019-04-18 09:22 石玉军 阅读(460) 评论(0) 推荐(0) 编辑
摘要: Spring Cloud常用组件使用汇总 使用SpringBoot2.0.3整合SpringCloud 服务注册与发现Eureka 自定义Eureka集群负载均衡策略 如何使用高可用的Eureka Feigin的使用及自定义配置 Hystrix使用 Hystrix仪表盘 路由器和过滤器-Zuul 使 阅读全文
posted @ 2019-04-15 10:38 石玉军 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 多线程基本概念 同步和异步,线程和进程,并发和并行,临界资源,阻塞,死锁,饥饿,活锁,线程的并发级别 多线程内存模型 JMM的基本概念,主内存与工作内存的数据交互,多线程中的原子性、可见性、有序性,指令重排,volatile关键字 Hello,Thread 如何创建线程,线程的生命周期,线程的基本状 阅读全文
posted @ 2019-04-04 16:43 石玉军 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 我们知道binlog有两种常用的格式,一种是statement(默认),一种是row,很多人都说建议你修改为row格式,那么是为什么呢? 首先我们需要知道它们两个之间有什么不同? statement格式记录的我们写的SQL语句,而row格式记录的则是实际受影响的数据的变化前后值 这里举两个例子说明一 阅读全文
posted @ 2020-03-15 16:24 石玉军 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 什么是大事务? 简单来说就是那些运行时间比较长,操作的数据比较多的事务 如何查询大事务? 以查询执行时间超过10秒的事务为例: 大事务一般会对数据库造成什么问题? 锁定数据过多,容易造成大量的死锁和锁超时 当系统中不同事务之间出现循环资源依赖,涉及的事务都在等待别的事务释放资源时,就会导致这几个事务 阅读全文
posted @ 2020-03-10 10:45 石玉军 阅读(4551) 评论(0) 推荐(1) 编辑
摘要: 在学习TCP协议之前,我们了解一下TCP头的报文格式 + 最上层是源端口号和目标端口号 + 接下来是包的序号和确认序号,这里的序号的作用就是维持TCP的顺序性和可靠性两种特性 + 接下来左边部分是当前的状态位,而大名鼎鼎的三次握手和四次挥手就是基于这个状态位实现的 + 右半部分是滑动窗口,主要是为了 阅读全文
posted @ 2020-03-09 17:36 石玉军 阅读(814) 评论(0) 推荐(0) 编辑
摘要: 小弟是97年出生,专科18年毕业,专升本在读。工作时间总计2年半 2019年12月30号投了几个简历,收到了杭州阿里和北京美团的面邀 阿里,31号电面,2020年元旦中午1点在线编程。最后挂了,面试官大哥说等我工作满三年再捞我 北京美团2020年1月2号现场面,技术面过了,最后因为学历是大专遗憾离场 阅读全文
posted @ 2020-01-08 09:16 石玉军 阅读(991) 评论(0) 推荐(0) 编辑
摘要: 很多朋友在使用SpringCloudGateway的时候可能都碰到过以下几个问题 SpringCloudGateway中如何读取Post请求体 SpringCloudGateway中Post请求参数只能读取一次 这是因为Gateway默认使用的是SpringWebflux,解决这个问题需要容重新构造 阅读全文
posted @ 2019-11-28 09:17 石玉军 阅读(9293) 评论(0) 推荐(0) 编辑
摘要: 我们知道,Zipkin这个工具可以帮助我们收集分布式系统中各个系统之间的调用连关系,而且除了Servlet之外还能收集:MQ、线程池、WebSocket、Feign、Hystrix、RxJava、WebFlux等等组件之间的调用关系。本篇文章就来分析一下Zipkin是如何完成这些功能的 我们先以最常 阅读全文
posted @ 2019-11-26 22:30 石玉军 阅读(1167) 评论(0) 推荐(0) 编辑
摘要: 在上篇文章 "Hystrix工作流程解析" 中,我们整体介绍了Hystrix的工作流程,知道了Hystrix会在下面四种情况下发生降级: 1. 熔断器打开 2. 线程池/信号量跑满 3. 调用超时 4. 调用失败 本篇文章则介绍一下在发生降级时Hystrix的处理细节,下面的方法异常的处理逻辑: 这 阅读全文
posted @ 2019-11-15 10:28 石玉军 阅读(1971) 评论(0) 推荐(0) 编辑
摘要: spring.factories 按照以往的惯例,在研究源码的时候,我们先看一下 文件下自动装配的类 ,其中比较重要的东西有这么几个 1. 属性 代表的是各个Feign客户端的配置类,这个稍后会再次提到 2. 这个bean看名字就知道,Feign的上下文环境,包含了所有feign客户端的配置 3. 阅读全文
posted @ 2019-11-15 10:27 石玉军 阅读(656) 评论(0) 推荐(0) 编辑
摘要: 相信我,你会收藏这篇文章的,本篇文章涉及Ribbon、Hystrix、Feign三个组件的源码解析 "Ribbon架构剖析" 这篇文章介绍了Ribbon的基础架构,也就是下图涉及到的6大组件: "Ribbon源码解析" 这篇文章以上篇文章为基础,详细介绍了Ribbon的代码执行流程:Ribbon的自 阅读全文
posted @ 2019-11-15 10:27 石玉军 阅读(265) 评论(0) 推荐(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 石玉军 阅读(218) 评论(0) 推荐(0) 编辑