首先看 ServiceCollection 的定义 //定义 public class ServiceCollection : IServiceCollection { private readonly List<ServiceDescriptor> _descriptors = new List<ServiceDescriptor>(); ...... } //接口定义 public interface IServiceCollection : IList<ServiceD…
Spring框架提供了构建Web应用程序的全功能MVC模块,叫Spring MVC,通过Spring Core+Spring MVC即可搭建一套稳定的Java Web项目.本文通过Spring MVC源码分析介绍它的核心实现原理. Tomcat服务器启动入口文件是web.xml,通过在其中配置相关的Listener和Servlet即可加载Spring MVC所需数据.基于Spring MVC最简单的配置如下. <!-- 加载Spring配置文件 --> <context-param>…
一.容器之List集合 List集合体系应该是日常开发中最常用的API,而且通常是作为面试压轴问题(JVM.集合.并发),集合这块代码的整体设计也是融合很多编程思想,对于程序员来说具有很高的参考和借鉴价值. 基本要点 基础:元素增查删.容器信息: 进阶:存储结构.容量管理: API体系 ArrayList:维护数组实现,查询快: Vector:维护数组实现,线程安全: LinkedList:维护链表实现,增删快: 核心特性包括:初始化与加载,元素管理,自动扩容,数组和链表两种数据结构.Vecto…
一.容器之Map集合 集合体系的源码中,Map中的HashMap的设计堪称最经典,涉及数据结构.编程思想.哈希计算等等,在日常开发中对于一些源码的思想进行参考借鉴还是很有必要的. 基础:元素增查删.容器信息: 进阶:存储结构.容量.哈希: API体系 在整个Map和Set的API体系中,最重要的就是HashMap的实现原理: HashMap:基于哈希表管理元素: LinkedHashMap:基于HashMap和双向链表: HashSet:底层维护HashMap结构: LinkedHashSet:…
Configuration 在ASP.NET Core开发过程中起着很重要的作用,这篇博客主要是理解configuration的来源,以及各种不同类型的configuration source是如何被加载进程序的. Configuration 的数据源 .NET Core 应用程序的数据源可以有以下几项: 设置文件,例如appsettings.json 环境变量 Azure 密钥保管库 Azure 应用程序配置 命令行参数 自定义提供程序,已安装或已创建 目录文件 内存中的 .NET 对象 Co…
这个框架是我一个做PHP的朋友“祥子”介绍给我的,Git地址https://coding.net/u/srar/p/AMP/git 下面从入口文件 总线程 ( index.php )开始进行分析 <?php define ('_ROOT', dirname(__FILE__) . DIRECTORY_SEPARATOR); // 网站根目录 define ('_Amysql', _ROOT . 'Amysql' . DIRECTORY_SEPARATOR); // 系统目录 define ('_…
这几天仔细研究下关于ArrayList容器的jdk源码,感觉收获颇多,以前自己只知道用它,但它里面具体是怎样实现的就完全不清楚了.于是自己尝试模拟写下java的ArrayList容器,简单了实现的ArrayList类中几个方法,当然这仅仅只是加深对容器的理解,因此希望我的分享也能够给大家带来帮助. 一.AyyayList到底是什么? 其实ArrayList就是一个java中的一个类而已,说起来没什么复杂的,好,既然是类,是不是就有成员属性和成员方法.点击查看ArrayList的outline,来…
同 HashMap 一样,LinkedHashMap 也是对 Map 接口的一种基于链表和哈希表的实现.实际上, LinkedHashMap 是 HashMap 的子类,其扩展了 HashMap 增加了双向链表的实现.相较于 HashMap 的迭代器中混乱的访问顺序,LinkedHashMap 可以提供可以预测的迭代访问,即按照插入序 (insertion-order) 或访问序 (access-order) 来对哈希表中的元素进行迭代. public class LinkedHashMap<K…
1. 前言 最近搭建的工程都是基于SpringBoot,简化配置的感觉真爽.但有个以前的项目还是用SpringMvc写的,看到满满的配置xml文件,却有一种想去深入了解的冲动.折腾了好几天,决心去写这篇关于Spring启动的博客,自己是个刚入职的小白,技术水平有限,也是硬着头皮看源码去Debug,很多不懂的地方还请谅解! 2. 概述 先给出几个让我头皮发麻的概念:web容器,Spring容器,SpringMvc容器 容器就是管理对象的地方,例如web容器就是管理servlet的地方,Spring…
AmysqlProcess类,框架的总进程对象 ./Amysql/Amysql.php 下面还是和以前一样,先上代码~ class AmysqlProcess { public $AmysqlController; public $ControllerName; public $ActionName; public $ControllerFile; function ProcessStart() { global $Config; if ($Config['HttpPath']) { $GETP…