自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JUC系列-AQS

AbstractQueuedSynchronizer抽象队列同步器,JUC的顶层框架类,内部基于FIFO(先进先出)的CLH队列。核心变量是代表状态的int变量state,子类通过改变state值来决定锁的获取或者释放。同步器同时支持共享锁(share mode)和排他锁(exclude mode),一般来说子类只支持其中一种,如此只需要实现对应模式的方法即可。ConditionObject是AQS中的内部类,提供了条件锁的同步实现,实现了Condition接口,可以在不满足某个条件的时候挂起线程等待

2022-03-05 17:14:04 261

原创 SpringMvc配置与默认Swagger的冲突

SpringMvc配置与默认Swagger的冲突问题背景项目使用了Swagger自动生成可视化文档,版本为2.9.2。正常情况下SpringBoot整合Swagger后默认就能访问文档页面。现在在项目中尝试配置SpringMvc拦截器,发现Swagger页面无法访问。问题复现在SpringBoot中引入Mvc配置,加入拦截器。有两种形式:1、@Configuration配置类继承WebMvcConfigurationSupport,该类是Mvc配置的主要类。如:@Configurationpu

2021-03-01 16:54:36 1054

原创 JVM随笔

JVM随笔运行时数据区1、程序计数器:一块较小的内存空间,唯一一个不会OOM的区域。字节码解释器工作时通过改变该计数器的值来选取下一条需要执行的字节码指令,属于线程私有,如果执行的是Native方法,则计数器数值为空。2、Java虚拟机栈:线程私有,描述的是Java方法执行的内存模型。每个方法被执行的同时会创建一个栈帧,用于存储局部变量表、操作栈、动态链接和方法出口等信息。方法开始执行到结束...

2020-05-08 00:35:07 237

原创 Seata整合SpringCloud

Seata整合SpringCloud业务场景项目中业务系统与微服务之间需要同步更新数据库,遇到了分布式事务问题。在两种场景下会出现数据不一致:第一,当微服务方法成功执行,业务系统遭遇异常时,业务系统回滚,微服务无感知而提交事务;第二,即使整个请求流程中均无异常发生,遇到并发时,由于微服务和业务系统属于各自独立的事务,两边的提交顺序无法保证,也会出现数据不一致。基于以上业务场景,尝试引入阿里...

2020-03-02 16:10:52 4819

原创 TOMCAT架构浅析

TOMCAT架构浅析前言Tomcat是常用的Java Web服务器,HTTP请求在经过服务器之后,服务器会解析HTTP报文,将请求封装成Request对象,同时生成一个Response对象作为响应数据的载体。在平时的应用中,我们一般处理的是Request和Request对象,如何产生这两个对象对我们而言是透明的。本文旨在从整体上探究这一过程,浅析Tomcat架构与相关的技术细节。TOMCAT...

2019-12-06 20:24:32 200

原创 MongoDB初探

MongoDB介绍与使用MongoDB主要特性数据库基本概念与关系型数据库概念对比主要概念说明Capped CollectionNamespace主键IDWorking SetCURD查询操作符号语法查询条件格式查询字段示例插入语法更新语法示例删除语法示例聚合(Aggregation)pipeline操作可选操作管道的性能优化索引语法基本性质索引分类慢查询定位执行计划简介执行计划说明存储引擎MMA...

2019-11-29 14:03:34 238

原创 JUC系列1-基础知识

JUC系列-基础知识线程启动代码示例继承Thread类实现Runnable接口利用FutureTask线程常用方法线程通知与等待wait方法notify方法生产者与消费者代码示例如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰...

2019-08-27 15:14:16 1075

原创 代理与Spring事务

代理与Spring事务Java代理方式JDK静态代理实现思路特点代码示例JDK动态代理实现思路特点代码示例Cglib动态代理实现思路特点代码示例事务与AOP原理概述业务场景总结Java代理方式JDK静态代理实现思路被代理类和代理类实现同一个接口被代理人持有代理类的对象代理类为被代理类预处理消息、过滤消息并在此之后将消息转发给被代理类,之后还能进行消息的后置处理特点在编译后、运...

2019-02-14 18:45:58 362 1

原创 Spring文件上传组件

上传出现FileUploadException:Stream closed简述场景原因分析解决方法扩展简述项目中使用CommonsMultipartResolver作为文件上传解析器,拦截器中进行权限校验以及某些参数校验。在前端调用上传接口的过程中,由于前端参数不正确,拦截器直接返回了错误信息,但却意外抛出了FileUploadException: Stream closed异常。场景下面...

2018-12-17 22:18:31 405

空空如也

空空如也

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

TA关注的人

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