自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 我的架构梦:(十九)Nginx搭建、反向代理、负载均衡、动静分离以及底层进程机制详解
原力计划

Nginx搭建、反向代理、负载均衡、动静分离以及底层进程机制详解一、前言二、Nginx搭建三、Nginx核心配置文件解读四、Nginx应用场景之反向代理五、Nginx应用场景之负载均衡六、Nginx应用场景之动静分离七、Nginx底层进程机制剖析一、前言1、什么是Nginx?Nginx 是一个高性能的HTTP和反向代理web服务器,核心特点是占有内存少,并发能力强。2、Nginx的应用场景Http服务器(Web服务器)性能非常高,非常注重效率,能够经受高负载的考验。支持50000个并发连接

2020-06-29 00:08:12 396

原创 我的架构梦:(十八)Tomcat 性能优化策略
原力计划

Tomcat 性能优化策略一、前言二、虚拟机运行优化(参数调整)三、Tomcat 配置调优一、前言系统性能的衡量指标,主要是响应时间和吞吐量。响应时间:执行某个操作的耗时;吞吐量:系统在给定时间内能够支持的事务数量,单位为TPS(Transactions PerSecond的缩写,也就是事务数/秒,一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。Tomcat优化从两个方面进行JVM虚拟机优化(优化内存模型)Tomcat自身配置的优化(比如是否使用了共享线程池?IO模型?)

2020-06-27 23:03:38 246

原创 我的架构梦:(十七)Tomcat 源码构建以及源码剖析
原力计划

Tomcat 源码构建以及源码剖析一、源码构建二、源码剖析一、源码构建1、下载源码这里博主下载的是apache-tomcat-8.5.50-srchttp://archive.apache.org/dist/tomcat/tomcat-8/v8.5.50/src/2、源码导入IDE之前准备工作解压 tar.gz 压缩包,得到目录 apache-tomcat-8.5.50-src进入 apache-tomcat-8.5.50-src 目录,创建一个pom.xml文件,文件内容如下&l

2020-06-27 22:00:44 267

原创 我的架构梦:(十六)手写Tomcat服务器
原力计划

手写Tomcat服务器一、需求分析二、代码详情三、测试结果四、代码仓库经过前面两篇的分析,我们对Tomcat的系统架构与原理有了一定的认识与理解了,回顾请戳:我的架构梦:(十四)Tomcat 系统架构与原理剖析我的架构梦:(十五)Tomcat 服务器核心配置详解一、需求分析名称:tomcat-customizetomcat-customize要做的事情:作为一个服务器软件提供服务的,也即我们可以通过浏览器客户端发送http请求, tomcat-customize可以接收到请求进行处理,处理之后的

2020-06-25 21:44:19 236

原创 我的架构梦:(十五)Tomcat 服务器核心配置详解
原力计划

Tomcat 服务器核心配置详解一、主要标签结构二、Server 标签三、Service 标签四、Executor 标签五、Connector 标签六、Engine 标签七、Host 标签八、Context 标签注意:Tomcat 作为服务器的配置,主要是 conf/server.xml 文件的配置;server.xml中包含了 Servlet容器的相关配置,即 Catalina 的配置;Xml 文件的讲解主要是标签的使用。一、主要标签结构<!-- Server 根元素,创建一个Se

2020-06-25 14:35:23 225

原创 我的架构梦:(十四)Tomcat 系统架构与原理剖析
原力计划

Tomcat 系统架构与原理剖析一、浏览器访问服务器的流程二、Tomcat 系统总体架构三、Tomcat 连接器组件 Coyote四、Tomcat Servlet 容器 Catalina一、浏览器访问服务器的流程b/s (浏览器/服务器模式) 浏览器是客户端(发送http请求)-——> 服务器端http请求的处理过程注意:浏览器访问服务器使用的是Http协议,Http是应用层协议,用于定义数据通信的格式,具体的数据传输使用的是TCP/IP协议。二、Tomcat 系统总体架构1、Tomc

2020-06-25 00:52:44 260

原创 我的架构梦:(十三)SpringBoot 原理深入以及源码分析
原力计划

SpringBoot 原理深入以及源码分析一、依赖管理二、自动配置(启动流程)三、执行原理四、Spring Boot 执行流程图我们都知道,Spring有它强大的地方,也有它繁琐的地方,毕竟如日中天的Spring全家桶太强大了,所以导致依赖各种JAR包维护起来费劲,还有编写各种XML配置文件。这两个痛点SpringBoot可以优雅的实现解决。背后当然是SpringBoot的约定优于配置(Convention over Configuration),又称按约定编程,是一种软件设计范式。SpringBoot

2020-06-20 23:45:18 766

原创 我的架构梦:(十二)Spring Data JPA 源码分析
原力计划

Spring Data JPA 源码分析一、前言二、这个代理对象是怎么产生,过程是怎样的?三、这个代理对象类型SimpleJpaRepository有什么特别的?一、前言Spring Data JPA 源码很少有人去分析,原因如下:1、Spring Data JPA 地位没有之前学习的框架高,大家习惯把它当成一个工具来用了,不愿意对它进行源码层次的解读。2、开发Dao接口(ResumeDao),接口的实现对象肯定是通过动态代理来完成的(增强),代理对象的产生过程追源码很难追,特别特别讲究技巧。这里

2020-06-14 03:14:39 655

原创 我的架构梦:(十一)Spring Data JPA 的应用(基于案例)
原力计划

Spring Data JPA 的应用(基于案例)一、Spring Data JPA 概述二、Spring Data JPA,JPA规范和Hibernate之间的关系三、Spring Data JPA 的应用四、代码仓库一、Spring Data JPA 概述1、什么是 Spring Data JPASpring Data JPA 是应用于Dao层的一个框架,简化数据库开发的,作用和MyBatis框架一样,但是在使用方式和底层机制是有所不同的。最明显的一个特点,Spring Data JPA 开发Da

2020-06-14 00:24:42 251

原创 我的架构梦:(十)手写并整合ssm框架(Spring+SpringMVC+MyBatis)
原力计划

手写并整合ssm框架(Spring+SpringMVC+MyBatis)一、前言二、MyBatis整合Spring三、 整合SpringMVC四、代码仓库一、前言前面我们手写过Spring、SpringMVC、MyBatis框架了,没有看过的小伙伴可以点击下面的链接:我的架构梦:(一)手写MyBatis框架我的架构梦:(五)Spring框架中的IoC容器源码分析(上)我的架构梦:(六)Spring框架中的IoC容器源码分析(下)我的架构梦:(七)Spring框架中的AOP源码分析我的架构梦:(

2020-06-13 03:08:35 369

原创 我的架构梦:(九)SpringMVC源码分析
原力计划

SpringMVC源码分析一、前端控制器 DispatcherServlet 继承结构二、 重要时机点分析三、SpringMVC处理请求的流程四、核心步骤getHandler方法剖析五、核心步骤getHandlerAdapter方法剖析六、核心步骤ha.handle方法剖析七、 核心步骤processDispatchResult方法剖析八、SpringMVC九大组件初始化一、前端控制器 DispatcherServlet 继承结构我们在上一篇知道了用户发送请求至前端控制器DispatcherServle

2020-06-12 02:14:22 220

原创 我的架构梦:(八)手写SpringMVC框架
原力计划

手写SpringMVC框架一、SpringMVC的请求处理流程二、Spring MVC 高级技术三、手写 SpringMVC 框架手写SpringMVC框架之前呢,我觉得有必要先了解SpringMVC的请求处理流程以及高级特性。一、SpringMVC的请求处理流程1、请求处理流程流程说明:第一步:用户发送请求至前端控制器DispatcherServlet。第二步:DispatcherServlet收到请求调用HandlerMapping处理器映射器。第三步:处理器映射器根据请求Url找到具体

2020-06-11 01:05:35 466

原创 我的架构梦:(七)Spring框架中的AOP源码分析
原力计划

Spring框架中的AOP源码分析一、代理对象创建二、Spring声明式事务控制一、代理对象创建1、AOP基础用例准备Bean定义@Componentpublic class RiemannBean { public void print(){ System.out.println("RiemannBean print..."); } }Aspect定义@Component@Aspectpublic class RiemannAspect { @Pointcut("execu

2020-06-06 23:22:02 352

原创 我的架构梦:(六)Spring框架中的IoC容器源码分析(下)
原力计划

Spring框架中的IoC容器源码分析(下)四、BeanFactory创建流程五、Bean创建流程六、lazy-init 延迟加载机制原理七、Spring IoC 循环依赖问题上一篇:我的架构梦:(五)Spring框架中的IoC容器源码分析(上)四、BeanFactory创建流程1、获取BeanFactory子流程public abstract class AbstractApplicationContext extends DefaultResourceLoader implements Co

2020-06-06 01:43:13 288 2

原创 我的架构梦:(五)Spring框架中的IoC容器源码分析(上)
原力计划

一、Spring IoC基础1、bean与BeanFactory的关系2、BeanFactory与ApplicationContext区别BeanFactory是Spring框架中IoC容器的顶层接口,它只是用来定义一些基础功能,定义一些基础规范,而 ApplicationContext是它的一个子接口,所以ApplicationContext是具备BeanFactory提供的全部功能的。通常,我们称BeanFactory为Spring IoC的基础容器,ApplicationContext是容器

2020-06-05 22:40:58 399

原创 mac、idea、gradle编译spring源码并搭建阅读源码环境
原力计划

目录一、前言二、搭建Gradle环境三、本地下载好了的spring源码导入idea四、新建测试模块一、前言我们平时开发一般用Maven来编译比较多,但Spring源码是用Gradle来编译的,简单介绍下Gradle。Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。 面向Java应用为主。当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多

2020-06-04 21:39:39 1715 2

原创 我的架构梦:(四)手写Spring中的IoC和AOP
原力计划

手写spring中的IoC和AOP一、核心思想二、手写实现IoC和AOP三、代码仓库一、核心思想IoC和AOP不是spring提出来的,在spring之前就已经存在,只不过更偏向理论化,spring在技术层面把这两个思想做了非常好的实现。在手写spring中的IoC和AOP之前,我们先来了解IoC和AOP的思想。1、IoC1.1 什么是IoC?IoC Inversion of Control(控制反转、反转控制),注意它是一个技术思想,不是技术实现。描述的事情:Java开发领域对象的创建、管理的

2020-06-02 22:18:24 503

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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