spring boot 2.0 源码分析(五)

在上一篇文章中我们详细分析了spring boot是如何准备上下文环境的,今天我们来看一下run函数剩余的内容。还是先把run函数贴出来: 我们接着往下看,来看一下this.refreshContext(context);函数,这个函数用于刷新上下文,跟踪到源码看一下: 在refreshContex ... »

总结:Java 集合进阶精讲1

集合进阶1 为集合指定初始容量 集合在Java编程中使用非常广泛,当容器的量变得非常大的时候,它的初始容量就会显得很重要了. 因为扩容是需要消耗大量的人力物力财力的。 同样的道理,Collection的初始容量也显得异常重要。所以:对于已知的情景,请为集合指定初始容量。 分析: 插入1000000条 ... »

spring boot 2.0 源码分析(四)

在上一章的源码分析里,我们知道了spring boot 2.0中的环境是如何区分普通环境和web环境的,以及如何准备运行时环境和应用上下文的,今天我们继续分析一下run函数接下来又做了那些事情。先把run函数的代码贴出来: 紧接着我们就看到了这行代码:exceptionReporters1 = th ... »

spring boot 2.0 源码分析(三)

通过上一章的源码分析,我们知道了spring boot里面的listeners到底是什么(META INF/spring.factories定义的资源的实例),以及它是创建和启动的,今天我们继续深入分析一下SpringApplication实例变量中的run函数中的其他内容。还是先把run函数的代码 ... »

spring boot 2.0 源码分析(二)

在上一章学习了spring boot 2.0启动的大概流程以后,今天我们来深挖一下SpringApplication实例变量的run函数。 先把这段run函数的代码贴出来: 我们先来分析其中的第一个关键代码:SpringApplicationRunListeners listeners = getR ... »

spring boot 2.0 源码分析(一)

在学习spring boot 2.0源码之前,我们先利用spring initializr快速地创建一个基本的简单的示例: 1.先从创建示例中的main函数开始读起: 2.在这里我们可以看到,spring boot是通过SpringApplication.run这个函数来进行启动的,其中args可以 ... »

源码:Java集合源码之:数组与链表(一)

数组和链表是数据结构中最基本的部分。 数组 在java中,数组定义为一种基本类型,其可以通过下标获取到对应位置的数据。那么这种结构的数据,在内存中是怎么存放的呢? 数组在内存中是一段连续的存储单元,每个数据依次放在每个单元中。 分析这种结构,我们可以得出以下几个结论: 创建一个数组,必须声明其长度, ... »

软件生产线技术、开源软件声明、源码下载地址

管理信息系统软件生产线3.0版全部源码目前正在地址:http://blog.sciencenet.cn/?2551公开发布。该套程序涉及多种数据库,适应一般管理信息系统设计与制作,包括数据查询、表格式维护、表单式维护、常见多种数据处理、数据导入导出、打印报表等100多个程序,采用JAVA开发。如果掌... ... »

PHP内核之旅-3.变量

PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-3.变量 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-3.变量 一、弱类型语言 php是弱类型语言。一个变量可以表示任意数据类型。 php强大的一部分 ... »

从 源码 谈谈 redux compose

compose,英文意思 组成,构成。 它的作用也是通过一系列的骚操作,实现任意的、多种的、不同的功能模块的组合,用来加强组件。 看看源码 https://github.com/reactjs/redux/blob/v3.7.2/src/compose.js 是不是感觉很简单,关键就这一句嘛,结果也 ... »

Dubbo学习-源码学习

Dubbo概述 dubbo框架提供多协议远程调用,服务提供方可以是分布式部署。dubbo框架可以很简单的帮我们实现微服务。 此处援引官网上图片 dubbo分为客户端和服务提供方 服务方将服务注册到注册中心 客户端从注册中心获取已注册服务访问方式 客户端通过指定协议访问服务提供方 根据dubbo架构, ... »

PHP内核之旅-2.SAPI中的Cli

PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli 一、SAPI是什么? 1.1 理解SAPI (1)SAPI是PHP框架的接口层。有很多种服务器的SAPI的实现,代码在sapi文件夹下。常 ... »

【JDK1.8】JUC——AbstractQueuedSynchronizer

一、前言 在 "上一篇" 中,我们对LockSupport进行了阅读,因为它是实现我们今天要分析的AbstractQueuedSynchronizer(简称AQS)的基础,重新用一下最开始的图: 可以看到,在ReentrantLock,Semaphore,CountDownLatch,Reentra ... »

Yii2.0阅读-behavior的实现原理

Yii2.0中的一个思想就是组件化的思想,所以、大多数的类都直接或间接的继承自yiiaseComponent,而组件的三大功能:属性、事件、行为。 行为的目的是为了方便的扩展一个类的功能,而不需要直接去修改这个类,同时行为中也附带了事件的实现。 1、整体的结构 Controller和模型Act ... »

【JDK1.8】JUC——LockSupport

一、前言 Basic thread blocking primitives for creating locks and other synchronization classes. 用于创建锁定和其他同步类的基本线程阻塞原语(基础?)。 上面这段话是Java Doc对LockSupport的描述, ... »

ConcurrentHashMap基于JDK1.8源码剖析

前言 声明,本文用的是jdk1.8 前面章节回顾: "Collection总览" "List集合就这么简单【源码剖析】" "Map集合、散列表、红黑树介绍" "HashMap就是这么简单【源码剖析】" "LinkedHashMap就这么简单【源码剖析】" "TreeMap就这么简单【源码剖析】" 本 ... »

Spring源码阅读-spring启动

web.xml web.xml中的spring容器配置 <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> ContextLoade ... »

List集合就这么简单【源码剖析】

前言 声明,本文用得是jdk1.8 前一篇已经讲了Collection的总览: "Collection总览" ,介绍了一些基础知识。 现在这篇主要讲List集合的三个子类: ArrayList 底层数据结构是数组。线程不安全 LinkedList 底层数据结构是链表。线程不安全 Vector 底层数 ... »