自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 Spring源码编译

准备工作 本示例基于 SpringV5.2.17RELEASE+GradleWapper+jdk1.8.0_131编译。 环境准备 maven idea jdk8+ 源码下载 进入GitHub - spring-projects/spring-framework: Spring Framework下载源码

2021-10-06 21:48:46 79

原创 Spring源码概览

Spring体系架构(基于4.x) 1、Core Container(核心容器) 该模块主要包含Core、Beans、Context和SpEL模块。其中Core和Beans是整个框架最基础的部分,提供IOC和依赖注入特性。这里最重要的概念就是BeanFactory,提供了以Factory模式的实现来消除对程序性单例模式。 Core:模块主要包含Spring框架最基本的核心工具类,Core是其他组件的基础核心。 Beans:模块主要包含访问配置文件...

2021-10-04 22:41:31 102

原创 MySql索引的底层数据结构

索引的应用场景 1、什么是索引 首先我们看一张表,这个表有两个列Col1和Col2,我们要查Col2 = 77的那条数据,这时候我们会写一条SQL: SELECT * FROM my_table WHERE col2 = '77' 这样从表“my_table”中可以获得“col2”为“77”的数据记录。 我们在查询的过程中都希望查询速度能尽可能的快,如果正常情况就下是顺序查找,遍历my_table这张表,看Col2是否等于77,然而这种复杂度为O(n)的...

2021-10-04 21:05:04 314

原创 Explain工具与索引实践

Explain工具简介 使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈 在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL。 注意:如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中。 Explain分析示例 首先先建几张表用来查询。 示例表: DROP TABLE IF EXISTS `actor`...

2021-10-03 18:14:39 66

原创 JVM垃圾回收算法

垃圾对象的判定标准 在堆里面存放着Java中几乎所有的对象实例,垃圾收集器在对回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经销毁(既不可能再被任何途径使用的对象)。一般来说判断对象是否存活有两种方法: 1、引用计数法 每个对象都有一个整型的计数器,当这个对象被一个变量或对象引用时,该计数器加一;当该引用失效时,计数器值减一。当计数器为0时,就认为该对象是无效对象。不过存在一个主要问题:当对象之间循环引用是无法计数。 2、可达性分析法 所...

2021-10-03 13:47:10 124

原创 JVM的类加载机制

一个Java类加载的全过程 1、Java代码执行全流程 当我们用Java命令启动某个Java类的应用程序时,首先是通过类加载器把主类加载到JVM。整个流程如下图所示: 2、类加载过程步骤 其中loadClass的类加载过程有如下几步: 加载 >> 验证 >> 准备 >> 解析 >> 初始化 >> 使用 >> 卸载 加载:在硬盘上查找并通过IO读入字节码文件,使用到类时才会加...

2021-10-02 15:32:24 95

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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