spring
毛发旺盛的程序员
比你优秀的对手在学习,你的仇人在磨刀,你的闺蜜在减肥,隔壁老王在练腰,我们必须不断学习,否则我们将被学习者超越。”当然一个人学习是枯燥的,还需要一个良好的学习氛围,因此我组建了一个学习交流探讨的社群,欢迎大家一起来交流探讨共同进步。还有一些收集整理的资料,感兴趣的可以加群668470172
资料包括但不限于:分布式架构、高可扩展、高性能、高并发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、Mycat、Netty、Kafka、Mysql、Zookeeper、Tomcat、Docker、Dubbo、Nginx等多个知识点高级进阶干货
展开
-
Netty时间轮调度算法原理分析,再不了解你就out啦
一、时间轮介绍之前公司内部搭建的延迟队列服务有用到时间轮,但是一直没有了解过它的实现原理。最近有个和支付宝对接的项目,支付宝接口有流量控制,一定的时间内只允许 N 次接口调用,针对一些业务我们需要频繁调用支付宝开放平台接口,如果不对请求做限制,很容易触发流控告警。为了避免这个问题,我们按照一定延迟规则将任务加载进时间轮内,通过时间轮的调度来实现接口异步调用。很多开源框架都实现了时间轮算法,这里以 Netty 为例,看下 Netty 中时间轮是怎么实现的。1.1 快速入门下面是一个 API 使用例转载 2020-12-28 15:57:09 · 385 阅读 · 0 评论 -
spring微服务这么火,你竟然还不懂bean的生命周期
前言spring在起初是是通过xml文件进行bean的配置的,本文就从xml文件配置作为bean生命周期的一个入口讲起。一、猜想bean的生命周期先简单举例个xml的配置,通过如下方式即可配置我们的bean。<bean id=? class=?><property name=? value=?><property name=? ref=?></bean><bean id=? class=?><constructor-ar转载 2020-12-25 14:29:17 · 186 阅读 · 0 评论 -
理解 MyBatis 是如何在 Spring 容器中初始化的
MyBatis 初始化过程就是 生成一些必须的对象放到 Spring 容器中 。问题是这个过程到底生成了哪些对象?当遇到 MyBatis 初始化失败时,如何正确的找到分析问题的切入点?本文将针对这些问题进行介绍。本文基于 MyBatis 3 和 Spring ,假设读者已经知道如何使用 Maven 和 MyBatis,以及了解 Spring 的容器机制。一、Mybatis 三件套我们知道 MyBatis 的主要功能是由 SqlSessionFactory 和 Mapper 两者提供转载 2020-11-09 14:24:08 · 252 阅读 · 0 评论 -
长文预警!Spring源码之IoC容器的基本实现
Spring源码之容器的基本实现概述Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。本文以Spring 5.1.X版本为前提Spring的结构组成Spring框架是一个分层架构,它包含一系列的功能要素,并被分为大约20个转载 2020-11-03 11:25:14 · 273 阅读 · 0 评论 -
你真的确定Spring AOP的执行顺序吗
前言公司这两个月启动了全新的项目,项目排期满满当当,不过该学习还是要学习。这不,给公司搭项目的时候。本文内容重点:问题描述Spring AOP执行顺序探究顺序错误的真相代码验证结论问题描述公司新项目需要搭建一个新的前后分离HTTP服务,我选择了目前比较熟悉的SpringBoot Web来快速搭建一个可用的系统。鲁迅说过,不要随便升级已经稳定使用的版本。我偏不信这个邪,仗着自己用了这么久Spring,怎么能不冲呢。不说了,直接引入了最新的SprinBoot 2.3.4.RELEASE.转载 2020-10-17 09:50:59 · 2959 阅读 · 0 评论