9 小小工匠

尚未进行身份认证

我要认证

show me the code ,change the world

等级
TA的排名 88

Spring5源码 - 07 Spring Bean 生命周期流程 源码解读02

文章目录PrefinishBeanFactoryInitializationPreSpring5源码 - 06 Spring Bean 生命周期流程 概述 01接上文finishBeanFactoryInitialization/** * Finish the initialization of this context's bean factory, * initializing all remaining singleton beans. */ protected void

2020-09-20 18:41:37

Spring5源码 - 06 Spring Bean 生命周期流程 概述 01

文章目录Bean生命周期概述DemoBean生命周期概述说到Spring Bean的生命周期,其实就是探究Spring Bean实例化经历哪些步骤了本篇博文先给个整体的解读,下文将从源码上来探究Spring Bean的生命周期过程。Demo先跑通一个小demo...

2020-09-19 17:54:01

Spring5源码 - 05 invokeBeanFactoryPostProcessors 源码解读_2

文章目录Pre源码解读Pre接上文 Spring5源码 - 04 invokeBeanFactoryPostProcessors 源码解读_1源码解读总体流程/** * *调用bean工厂的后置处理器 * 1)BeanDefinitionRegistryPostProcessor(先被执行) * 所有的bean定义信息将要被加载到容器中,Bean实例还没有被初始化 * 2)BeanFactoryPostProcessor(后执行) * 所有的Bean定义信息已经加载到

2020-09-18 00:32:45

Spring5源码 - 04 invokeBeanFactoryPostProcessors 源码解读_1

文章目录Prerefresh()Spring的设计Pre接上文 Spring5源码 - 03 普通对象对应的BeanDefinition是如何存入DefaultListableBeanFactory#beanDefinitionMap 源码分析refresh()这里我们只粗略的看一下其中的逻辑,真的很复杂@Override public void refresh() throws BeansException, IllegalStateException { synchronized

2020-09-16 14:55:39

Spring5源码 - 03 普通对象对应的BeanDefinition是如何存入DefaultListableBeanFactory#beanDefinitionMap 源码分析

文章目录PreSpring处理bdmap 的理念源码分析Pre接上文 Spring5源码 - 02 Bean和Java对象的区别与猜想验证BeanDefinition我们分析了流程, 也从理论上描述了 普通对象 ----- BeanDefinition ------Bean对象之间的关联,提到了一个BeanDefinition的Map集合 (我们称之为 bdmap ,后面都用这个简称代替 ),那从源码里面怎么体现出来bdmap 的呢?本篇博文将带你一一掀开Spring处理bdmap 的

2020-09-16 10:13:42

Spring5源码 - 02 Bean和Java对象的区别与猜想验证BeanDefinition

文章目录问题问题Spring创建的Bean 和 我们提供的 对象 有什么关系吗? 一定是我们提供的这个对象实例吗?

2020-09-14 20:45:15

Spring5源码 - 01 BeanDefination源码分析

这里写自定义目录标题欢迎使用Markdown编辑器系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结欢迎使用Markdown编辑器系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录欢迎使用Markdown编辑器系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可

2020-09-11 08:55:34

[并发编程] - Executor框架#ThreadPoolExecutor源码解读03

文章目录PrePre[并发编程] - Executor框架#ThreadPoolExecutor源码解读02说了一堆结论性的东西,作为开发人员着实是不过瘾,那这里我们就来剖根问底来看下线程池是如何工作的。

2020-09-08 00:12:02

Nginx - 记一次Nginx端口转发失败案例

文章目录项目场景:问题描述:原因分析:解决方案:项目场景: 生产环境F5 后面配置了4个Nginx , F5端口开放了 8585端口 ,用于将请求问题描述: 原因分析:提示:这里填写问题的分析:例如:Handler 发送消息有两种方式,分别是 Handler.obtainMessage()和 Handler.sendMessage(),其中 obtainMessage 方式当数据量过大时,由于 MessageQuene 大小也有限,所以当 message 处理不及时时,会造成先传

2020-09-06 21:31:26

Spring5源码 - 构建源码环境

文章目录git clone 源码gradle调整 [可选]gradle离线安装gradle中央仓库地址调整执行 gradlew.bat导入到IEDAgradlew :spring-oxm:compileTestJava导入到IDEA编译和 运行Testst设置为 IntelliJ IDEA (建议)测试验证Gradle 下载的依赖包存储的位置git clone 源码源码地址: https://github.com/spring-projects/spring-frameworkcopy地址,待会

2020-09-06 00:38:50

[并发编程] - Executor框架#ThreadPoolExecutor源码解读02

文章目录Pre线程池的具体实现线程池的创建参数解读corePoolSizemaximumPoolSizekeepAliveTimeunitworkQueuethreadFactoryhandler任务提交方式一 提交任务无返回值方式二 提交任务有返回值线程池监控PreJava-Java中的线程池原理分析及使用[并发编程] - Executor框架#ThreadPoolExecutor源码解读01线程池的具体实现主要两大类ThreadPoolExecutorScheduledTh

2020-09-02 02:54:41

[并发编程] - Executor框架#ThreadPoolExecutor源码解读01

文章目录PreThreadJava线程与OS线程生命状态PreJava-Java中的线程池原理分析及使用Thread线程是调度CPU资源的最小单位,线程模型分为KLT模型与ULT模型。Java线程与OS线程JVM使用的KLT模型,Java线程与OS线程保持1:1的映射关系,也就是说有一个java线程也会在操作系统里有一个对应的线程 。[并发编程] - 操作系统底层工作原理使用new Thread 创建500个线程 public static void main(String[] a

2020-09-02 00:39:53

[并发编程] - 操作系统底层工作原理

文章目录冯诺依曼计算机模型CPU内部结构控制单元控制单元存储单元CPU缓存结构CPU读取存储器数据过程CPU为何要有高速缓存带有高速缓存的CPU执行计算的流程CPU运行安全等级操作系统内存管理内核线程模型 (KLT)用户线程模型冯诺依曼计算机模型计算机五大核心组成部分**控制器、运算器、存储器、输入、输出 **控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。运算器(D

2020-09-01 23:51:03

MySQL - 库表设计之IP和TIMESTAMP的处理

文章目录PreTIMESTAMPIP总结PreMySQL - 高效的设计MySQL库表设计指导思想和注意事项都梳理了一下,那来个小练习把TIMESTAMP我们使用 MySQL 内置的函数(FROM_UNIXTIME(),UNIX_TIMESTAMP()),可以将日期转化为数字,用 INT UNSIGNED 存储日期和时间示例时间 2020-08-17 22:22:22 与整数之间的转换,转化后数字是连续的,占用空间更小,并且可以使用索引提升查询性能。mysql> select U

2020-08-17 22:29:56

MySQL - 高效的设计MySQL库表

文章目录范式与反范式范式第一范式第二范式第三范式第二范式 VS 第三范式设计符合 2NF 的表范式优缺点反范式范式与反范式范式范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。数据库的设计范式是数据库设计所需要满足的规范。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。满足最低要求的叫第一范式,简称 1NF。在第一范式基础上进一步满足一些要求

2020-08-16 21:42:15

MySQL - 锁机制初探

文章目录Pre锁的分类InnoDB 中的锁行锁InnoDB 行锁的三种算法实现表锁InnoDB 自增锁InnoDB 锁关系矩阵InnoDB 锁问题排查思路PreMySQL - 解读MySQL事务与锁机制MySQL - 共享锁和排它锁初探MySQL - 无索引行锁升级为表锁MySQL - 锁等待及死锁初探锁的分类在 MySQL 中有三种级别的锁:页级锁、表级锁、行级锁表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 会发生在:MyISAM、memor

2020-08-11 21:12:08

MySQL - 并发事务问题及解决方案

文章目录Pre脏读不可重复读幻读SolutionsPreMySQL - 多版本控制 MVCC 机制初探中我们初步了解了 MVCC 的原理及其实现。 随着数据库并发事务处理能力的增强,数据库资源的利用率也会大大提高,从而提高了数据库系统的事务吞吐量,可以支持更多的用户并发访问。但并发事务处理也会带来一些问题,如:脏读、不可重复读、幻读等等脏读一个事务正在对一条记录做修改,在这个事务完成并提交前,这条记录的数据就处于不一致状态;这时,另一个事务也来读取同一条记录,如果不加控制,第二个事务读取了

2020-08-10 20:49:47

MySQL - 多版本控制 MVCC 机制初探

文章目录MVCC原理快照读与当前读MVCC 多版本实现MVCC原理MySQL InnoDB 存储引擎,实现的是基于多版本的并发控制协议——MVCC,而不是基于锁的并发控制。MVCC 最大的好处是读不加锁,读写不冲突。在读多写少的 OLTP(On-Line Transaction Processing)应用中,读写不冲突是非常重要的,极大的提高了系统的并发性能。快照读与当前读在 MVCC 并发控制中,读操作可以分为两类: 快照读(Snapshot Read)与当前读 (Current Read)。

2020-08-10 19:45:22

MySQL - 解读MySQL事务与锁机制

文章目录事务及其特性一致性原子性隔离性持久性并发事务控制单版本控制-锁多版本控制-MVCC原子性背后的技术持久性背后的技术隔离性背后的技术一致性背后的技术MVCC原理快照读与当前读MVCC 多版本实现事务及其特性大家都知道 ACID (原子性、一致性、隔离性和持久性)一个逻辑工作单元要成为事务,在关系型数据库管理系统中,必须满足 4 个特性原子性 : 事务的所有操作,要么全部完成,要么全部不完成,不会结束在某个中间环节一致性 : 事务开始之前和事务结束之后,数据库的完整性限制

2020-08-10 00:37:11

MySQL - 存储引擎初探

文章目录存储引擎概述存储引擎概述存储引擎是 MySQL 中具体与文件打交道的子系统,它是根据 MySQL AB 公司提供的文件访问层抽象接口定制的一种文件访问机制,这种机制就叫作存储引擎 。常用的存储引擎:有古老的 MyISAM、支持事务的 InnoDB、内存类型的 Memory、归档类型的 Archive、列式存储的 Infobright,以及一些新兴的存储引擎,以 RocksDB 为底层基础的 MyRocks 和 RocksDB,和以分形树索引组织存储的 TokuDB, 以及国产的分布式存储引

2020-08-09 22:44:30

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 推荐红人
    推荐红人
    发布高质量Blink获得高赞和评论,进入推荐栏目即可获得
  • 精彩红人
    精彩红人
    发布高质量Blink获得高赞和评论,进入精彩栏目即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 博客之星-入围
    博客之星-入围
    授予每年博客之星评选结果第21-200名的用户
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 分享达人
    分享达人
    成功上传6个资源即可获取