Fork me on GitHub
摘要:相信我,你会收藏这篇文章的 本篇文章是这段时间撸出来的Spring源码解析系列文章的汇总,总共包含以下专题。喜欢的同学可以收藏起来以备不时之需 "SpringIOC源码解析(上)" 1. 本篇文章搭建了IOC源码解析的demo环境,启动这个环境即可开启阅读Spring源码的第一步 2. 开始源码阅读 阅读全文
posted @ 2019-09-06 09:52 石玉军 阅读 (59) 评论 (0) 编辑
摘要:注意,看完这篇文章需要很长很长很长时间。。。 准备工作 本文会分析Spring的IOC模块的整体流程,分析过程需要使用一个简单的demo工程来启动Spring,demo工程我以备好,需要的童鞋自行在下方链接下载: 1 https://github.com/shiyujun/spring-framew 阅读全文
posted @ 2019-08-04 23:58 石玉军 阅读 (82) 评论 (0) 编辑
摘要:JVM中运行时数据区中的堆、栈、方法区等区域的特性介绍 Java中class文件的组成结构 JVM的类加载生命周期介绍 Java堆、新生代老年代的特点、堆中的内存分配策略 JVM垃圾收集算法详解 JVM各个垃圾收集器的简单介绍及常用参数详解 JVM中的内存溢出\OOM的原因及解决方案 浅谈Java类 阅读全文
posted @ 2019-05-22 09:17 石玉军 阅读 (24) 评论 (0) 编辑
摘要:Linux常用命令速查-用户管理 Linux常用命令速查-文件管理 Linux常用命令速查-系统监控 Linux常用命令速查-网络管理 Linux常用命令速查-定时任务 Linux常用命令速查-Vim 阅读全文
posted @ 2019-04-18 09:22 石玉军 阅读 (55) 评论 (0) 编辑
摘要:Spring Cloud常用组件使用汇总 使用SpringBoot2.0.3整合SpringCloud 服务注册与发现Eureka 自定义Eureka集群负载均衡策略 如何使用高可用的Eureka Feigin的使用及自定义配置 Hystrix使用 Hystrix仪表盘 路由器和过滤器-Zuul 使 阅读全文
posted @ 2019-04-15 10:38 石玉军 阅读 (91) 评论 (0) 编辑
摘要:多线程基本概念 同步和异步,线程和进程,并发和并行,临界资源,阻塞,死锁,饥饿,活锁,线程的并发级别 多线程内存模型 JMM的基本概念,主内存与工作内存的数据交互,多线程中的原子性、可见性、有序性,指令重排,volatile关键字 Hello,Thread 如何创建线程,线程的生命周期,线程的基本状 阅读全文
posted @ 2019-04-04 16:43 石玉军 阅读 (21) 评论 (0) 编辑
摘要:前言 Spring中的事件机制其实就是设计模式中的观察者模式,主要由以下角色构成: 1. 事件 2. 事件监听器(监听并处理事件) 3. 事件发布者(发布事件) 首先看一下监听器和发布者的接口定义 事件流转流程 初始化事件广播器 看一下这个方法 ,在IOC源码解析那篇文章已经把这个方法分析完了,所以 阅读全文
posted @ 2019-09-17 09:25 石玉军 阅读 (49) 评论 (0) 编辑
摘要:引言 Spring中提供了各种Aware接口,方便从上下文中获取当前的运行环境,比较常见的几个子接口有:BeanFactoryAware,BeanNameAware,ApplicationContextAware,EnvironmentAware,BeanClassLoaderAware等,这些Aw 阅读全文
posted @ 2019-09-17 09:22 石玉军 阅读 (25) 评论 (0) 编辑
摘要:前言 接口是Spring中一个非常重要的接口,它的接口定义如下 当你实现了这个接口的时候,Spring会保证在每一个bean对象初始化方法调用之前调用 方法,在初始化方法调用之后调用 的注册 看过我之前写的IOC源码分析系列文章的同学应该对这个都比较有印象 ) Spring在执行到这的时候会把所有实 阅读全文
posted @ 2019-09-16 23:12 石玉军 阅读 (19) 评论 (0) 编辑
摘要:前言 接口是Spring中一个非常重要的接口,它的接口定义如下 当你实现了这个接口的时候,可以对还没有初始化的bean的属性进行修改或添加 注册 与 的统一注册不同, 的注册是留给具体的业务实现的。它的维护是在 类中 执行原理 调用逻辑在 方法中 这个方法比较长,可以重点关注我添加注释的地方 细心的 阅读全文
posted @ 2019-09-16 11:58 石玉军 阅读 (22) 评论 (0) 编辑
摘要:前言 首先看一下接口定义 由接口定义可以看出来,实现这个接口的bean不是主要功能, 创建的对象才是重点。那么在这我们就可以猜到了,可以是使用 创建一些实例化过程比较复杂的bean 的注册 的处理逻辑在 方法内 看一下具体的逻辑,这里需要注意Spring关于bean的name有个潜规则,凡是以&开头 阅读全文
posted @ 2019-09-16 11:54 石玉军 阅读 (28) 评论 (0) 编辑
摘要:1. 先看官方文档和架构图 优秀的开源组件官方都会维护文档和架构图,这份架构图上或许有一些最重要的组件之间的关联关系、或许哪些功能的调用流程、或许有一些别的东西,但是相信我,这些东西一定都是从总体来描述这个项目的,这个一定是你要阅读源码时第一个要看的 2. 再看项目的组织结构 下载下来代码之后,不要 阅读全文
posted @ 2019-09-11 00:36 石玉军 阅读 (75) 评论 (0) 编辑
摘要:最现实的原因 如果你想进大厂,没有大厂的面试官会不问你常用组件的源码实现。虽然很多人都说大厂都是面试造火箭,入职拧螺丝。但是人家拧螺丝也要招那个会造火箭的人来拧 解决问题的速度 当线上出现问题时,阅读过源码你很快就想到,这是由什么原因引起的,你需要现在去怎么做可以最快的解决这个问题。而如果没有阅读过 阅读全文
posted @ 2019-09-10 09:31 石玉军 阅读 (135) 评论 (0) 编辑
摘要:相信我,你会收藏这篇文章的 本篇文章是这段时间撸出来的Spring源码解析系列文章的汇总,总共包含以下专题。喜欢的同学可以收藏起来以备不时之需 "SpringIOC源码解析(上)" 1. 本篇文章搭建了IOC源码解析的demo环境,启动这个环境即可开启阅读Spring源码的第一步 2. 开始源码阅读 阅读全文
posted @ 2019-09-06 09:52 石玉军 阅读 (59) 评论 (0) 编辑
摘要:在上一篇文章 "@EnableTransactionManagement注解解析" 中,我们搭建了源码阅读的环境,以及解析了开启Spring事务功能的注解 的实现逻辑 在进行接下来的源码解析之前我想大家应该知道,当我们使用传统的jdbc应用事务的时候是不是做了如下操作: 1. 开启事务 2. sav 阅读全文
posted @ 2019-09-04 09:07 石玉军 阅读 (46) 评论 (0) 编辑
摘要:简介 Spring 3.0之前,创建Bean可以通过xml配置文件与扫描特定包下面的类来将类注入到Spring IOC容器内。而在Spring 3.0之后提供了JavaConfig的方式,也就是将IOC容器里Bean的元信息以java代码的方式进行描述。我们可以通过@Configuration与@B 阅读全文
posted @ 2019-09-03 09:04 石玉军 阅读 (57) 评论 (0) 编辑