自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Cloud Alibaba 初识

前言本系列为自己阅读Spring Cloud Alibaba官方文档的记录,会包括文档中Spring Cloud Alibaba的使用方法和一些自己学习过程中的理解。这是本系列第一篇,目的是搞清楚Spring Cloud Alibaba:用来做什么大概包括哪些部分这些问题每个人在使用的不同的阶段会有不同深度的理解,我这里记录的只是我作为一个新手的理解。个人认为,这是学习一项技术非常重要的一部分,把开篇的一些概念弄清楚之后,后面的使用过程中,才会带着自己的目的,更好的明白它为什么需要这样设计,

2020-06-21 13:50:23 142

原创 一次线上死循环的排查过程

场景A写了一个服务,给B调用A的这个服务针对一个key,在一次调用完成之前不能调用第二次,如果连续调用,第二次不会执行业务,而是直接返回系统繁忙,使用ConcurrentHashMap + Atomic的cas控制。(不要吐槽我们小公司小用户量暂时没有使用水平扩展的分布式服务哦,这里就考虑了单机线程安全)// {key -> 是否正在运算}Map<Long, AtomicBoolean> map = new ConcurrentHashMap<>();pub

2020-06-06 15:28:57 422

原创 Spring Security中使用HttpServletResponse::sendError产生的一次非预期返回

前言本文主要记录公司使用spring security时在认证失败阶段给客户端返回失败时的一次非预期返回。所以下面会提到Spring Security在认证过程中的一些名称,如AuthenticationFilter,AuthenticationManager,AuthenticationProvider等,分别用来过滤请求,执行认证过程,提供具体认证方式。spring security使用一个filter链完成对请求的认证(authentication)和授权(authorization)过程,详细

2020-05-30 11:02:01 2661

原创 `Stream`的`Collectors.reducing`与`Collectors.groupingBy`

前言Java8提供的Stream接口使流式编程和函数式编程更加容易。现在一些集合的处理,经常会使用Stream来进行处理,相比循环,代码的可读性有所提高。如果更进一步,再利用上Reactor进行反应式编程,则会带来更多优势,如异常处理、执行线程控制、并行、缓冲等,声明式的完成了许多命令式编程许多代码才能完成的功能。场景一次使用Stream进行收集的过程中,同时使用Collectors.groupingBy与Collectors.reducing,出现了问题。这里记录一下。场景是一批业务对象Foo:

2020-05-24 14:49:07 2816

原创 JVM 运行时内存与垃圾回收

一、JVM运行时内存​ 通过线程私有/共享分类进行描述;1、线程私有内存包括程序计数器虚拟机栈栈帧局部变量表操作数栈动态链接返回地址本地方法栈;1.1 程序计数器​ 作用:一小块内存区域,每个线程都有一个,代表当前线程所执行到的字节码的行号指示器;​ 值:行号,如果当前是 native方法,则为 undefined,未规定 OutOfMemoryError;1.2 Java虚拟机栈​ 作用:存储线程执行代码过程中数据的一块内存区域,描述方法执行的内存模

2020-05-24 14:09:58 240

原创 Spring IOC-源码分析-Bean的加载

概述本文将介绍Bean的加载过程,即容器中的BeanDefinition如何在需要时加载为Bean,核心有:获取bean,getBean、doGetBean的源码逻辑createBean方法,包括bean实例创建、循环依赖、属性注入、初始化等bean创建的逻辑入口上一节介绍了xml形式的配置元数据加载解析到容器中,以BeanDefinition的形式存在,这一节将研究这些BeanDefinition将如何进一步使用,也就是从容器中获得Bean,加载Bean的过程。我们研究的入口即BeanFa

2020-05-24 14:08:56 120

原创 Spring IOC 配置元数据的解析

概述本文介绍配置元数据的解析,即由xml文档/java配置的元数据,如何由容器的实现类使用各种reader加载解析为BeanDefinition存储在容器中。xml配置元数据的解析java配置元数据的解析 TODO 未完成。xml配置元数据的解析前面介绍过,Spring IoC 容器的输入之一,配置元数据,它描述了我们要创建的beans的各种属性以及bean之间的依赖关系。Spring IoC容器要使用这些数据来实例化、配置、组装并管理我们需要的beans。其中,一种流行在很久之前的一种基

2020-05-24 14:08:18 214

原创 Spring IOC 概述

概述本系列要介绍的事情:Spring IoC容器用来做什么,用了它的好处;Spring IoC容器源码层面的具体表现;从源码角度分析Spring IoC容器如何处理我们的配置和完成功能;我写的时候思考的几个问题:是什么?为什么要用?怎么用?底层如何实现的功能?Spring Ioc容器的输入与输出Spring IoC 容器即一个用来管理beans的容器。IoC,Inversion of Control,控制反转,具体表现在依赖注入方式,表示对象的构造和它的依赖的创建不由它自己控制

2020-05-24 14:07:16 150

空空如也

空空如也

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

TA关注的人

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