深入理解-Spring-之源码剖析IOC- 作为Java程序员,Spirng我们再熟悉不过,可以说比自己的女朋友还要亲密,每天都会和他在一起,然而我们真的了解spring吗? 我们都知道,Spring的核心是IOC和AOP,但楼主认为,如果从这两个核心中挑选一个更重要的,那非IOC莫属。AOP 也是依赖于IOC,从某些角度讲,AOP就是IOC的一个扩展功能。 什么是IOC? IOC解决了什么问题?IOC的原理是什么?Spring的IOC是怎 2017-12-04 Spring
深入理解-Tomcat(十)-总结 这篇文章是我们深入理解 Tomcat 的第十篇文章,也是总结文章, 学习就是这样,先是理论,再是实践,最后是总结, 楼主习惯了在每次学习之后总结, 让从脑海中过的知识能够再扎实一点. 我们的第一篇文章 << 深入理解 Tomcat(一)源码环境搭建和 How Tomcat works 源码>> 中介绍了楼主下载的源码和 git 地址, 方便大家去 clone 源码,不然怎么 2017-11-29 Tomcat
深入理解-Tomcat(九)源码剖析之请求过程 不知不觉,这已经是我们深入理解tomcat的第九篇文章了,我们在第八篇分析了tomcat的连接器,分析了连接器的的Connector,Http11Protocol,Http11ConnectionHandler,JIoEndpoint,Acceptor 等等这些有关连接器的类和组件,当时我们分析到Acceptor的run方法后就停止分析了,因为后面的代码与请求过程高度相关,而且请求过程这段代码时比 2017-11-27 Tomcat
深入理解-Tomcat(八)源码剖析之连接器 这是我们分析tomcat的第八篇文章,这次我们分析连接器,我们早就想分析连接器了,因为各种原因拖了好久。不过也确实复杂。 首先我们之前定义过连接器: Tomcat都是在容器里面处理问题的, 而容器又到哪里去取得输入信息呢? Connector就是专干这个的。 他会把从socket传递过来的数据, 封装成Request, 传递给容器来处理。 通常我们会用到两种Connector,一种叫http c 2017-11-24 Tomcat
深入理解-Tomcat(七)源码剖析-Tomcat-完整启动过程 这是我们分析 Tomcat 的第七篇文章,前面我们依据启动过程理解了类加载过程,生命周期组件,容器组件等。基本上将启动过程拆的七零八落,分析的差不多了, 但是还没有从整体的视图下来分析Tomcat 的启动过程。因此,这篇文章的任务就是这个,我们想将Tomcat的启动过程彻底的摸清,把它最后一件衣服扒掉。然后我们就分析连接器和URL请求了,不再留恋这里了。 好吧。我们开始吧。 说到Tomcat的启动 2017-11-23 Tomcat
深入理解-Tomcat(六)源码剖析Tomcat-启动过程----生命周期和容器组件 好了,今天我们继续分析 tomcat 源码, 这是第六篇了, 上一篇我们一边 debug 一边研究了 tomcat 的类加载体系, 我觉得效果还不错, 楼主感觉对 tomcat 的类加载体系的理解又加深了一点. 所以, 我们今天还是按照之前的方式来继续看源码, 一边 debug, 一边看, 今天我们分析的是tomcat 中2个非常重要的组件——-生命周期和容器. tomcat 庞大的架构, 他是如 2017-11-22 Tomcat
深入理解-Tomcat(五)源码剖析Tomcat-启动过程----类加载过程 这是我们深入理解tomcat的第五篇文章,按照我们的思路,这次我们本应该区分析tomcat的连接器组件,但楼主思前想后,觉得连接器组件不能只是纸上谈兵,需要深入源码,但楼主本能的认为我们应该先分析tomcat的启动过程,以能够和我们上一篇文章深入理解 Tomcat(四)Tomcat 类加载器之为何违背双亲委派模型相衔接。因为启动类加载器的核心代码就在启动过程中,所以,我决定先分析tomcat的启 2017-11-21 Tomcat
深入理解-Tomcat(四)Tomcat-类加载器之为何违背双亲委派模型 这是我们研究Tomcat的第四篇文章,前三篇文章我们搭建了源码框架,了解了tomcat的大致的设计架构, 还写了一个简单的服务器。按照我们最初订的计划,今天,我们要开始研究tomcat的几个主要组件(组件太多,无法一一解析,解析几个核心),包括核心的类加载器,连接器和容器,还有生命周期,还有pipeline 和 valve。一个一个来,今天来研究类加载器。 我们分为4个部分来探讨: 12341. 2017-11-20 Tomcat
深入理解-Tomcat(三)Tomcat-底层实现原理 又是一个周末,这篇文章将从一个简单的例子来理解tomcat的底层设计; 本文将介绍 Java Web 服务器是如何运行的, Web 服务器也称为超文本传输协议( HyperText Transfer Protocol, HTTP)服务器, 因为它使用 Http 与其客户端(通常是 Web 浏览器)进行通信, 基于 Java 的 Web 服务器会使用两个重要的类: java.net.Socket 类 2017-11-19 Tomcat
深入理解-Tomcat-(二)-从宏观上理解-Tomcat-组件及架构 这是我们自编译源码以来第一次总结 tomcat, 虽然不知从何说起, 但这笔不能停下来, 看了很多的文章和源码, 脑子里从最初的混混沌沌到现在的稍有头绪, 楼主想说, 不容易. tomcat 异常复杂, 组件巨多. 我认为, 作为初学者, 我们不能直接进入源码, 过多的实现细节会掩盖抽象概念, 容易一叶障目不见泰山. 我个人认为<>这本书写的很好, 而我也想和这本书的角度一样, 尽力( 2017-11-18 Tomcat
深入理解-Tomcat(一)源码环境搭建和-How-Tomcat-Works-源码 为了了解 tomcat 的原理, 楼主费劲心思, 从图书馆借来了绝版的<>, 下载了该书中的实例源码, 由于该书已经很老了, 讲的 tomcat4 和 tomcat5 中的知识, 于是楼主又下载了 tomcat7 的源码, 重新编译. 反正各种曲折, 不过, 最终也弄好了. 并且, 楼主已经将源码都上传到 gitHub 上了, 现在只需简单 clone, 就能运行代码了. 再也不用到处 2017-11-17 Tomcat
迁移微服务框架-SpringCloud-事后总结 我们这次主要讲4件事:12341. 什么是微服务? 什么是 springcloud?2. 我们为什么使用 SpringCloud?3. 如何使用 SpringCloud? 如何 Quick Start?4. 迁移过程中,老代码使用 springcloud 需要注意哪些坑? 1. 什么是微服务? 什么是 springcloud?引用维基百科: 微服务是一种架构风格,一个大型复杂软件应用由一个 2017-11-12 Spring