自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringSecurity(六)

SecurityConfigurer 在 Spring Security 中是一个非常重要的角色。在前面的内容中曾经多次提到过,Spring Security 过滤器链中的每一个过滤器,都是通过 xxxConfigurer 来进行配置的,而这些xxxConfigurer 实际上都是 SecurityConfigurer 的实现。所以我们也需要对 SecurityConfigurer 理解清楚.

2023-12-05 09:56:03 933

原创 SpringSecurity(五)

然后我们再来看看AbstractConfiguredSecurityBuilder这个抽象类,他其实是SecurityBuilder的实现,在这儿需要搞清楚他们的关系。类型作用声明了build方法提供了获取对象的方法以及控制一个对象只能build一次除了提供对对象细粒度的控制外还扩展了对configurer的操作然后对应的三个实现类。首先 AbstractConfiguredSecurityBuilder 中定义了一个枚举类,将整个构建过程分为 5 种状态,也可/*** 还没开始构建*/

2023-12-05 09:55:23 993

原创 SpringSecurity(四)

通过前面第一次请求访问的分析我们明白了一个请求就来后的具体处理流程对于一个请求到来后会通过FilterChainProxy来匹配一个对应的过滤器链来处理该请求。那么这里我们就有几个疑惑。

2023-12-05 09:54:36 638

原创 SpringSecurity(三)

分析SpringSecurity的核心原理,那么我们从哪开始分析?以及我们要分析哪些内容?

2023-12-05 09:53:53 905

原创 SpringSecurity(二)

在SpringSecurity中的jar分为4个,作用分别为。

2023-12-05 09:52:59 926

原创 SpringSecurity(一)

<head></head><body><h1>登录页面</h1>账号:<input type="text" name="username"><br>密码:<input type="password" name="password"><br><input type="submit" value="登录"></form></body>

2023-12-05 09:52:02 819

原创 并发编程剖析

java并发编程

2023-11-21 14:16:54 82

原创 RocketMQ源码深入剖析(五)

分布式事务

2023-11-21 10:46:46 27

原创 RocketMQ源码深入剖析(四)

连续发送5条消息,消息是不定长,首先所有信息先放入 Commitlog中,每一条消息放入Commitlog的时候都需要上锁,确保顺序的写入。当Commitlog写成功了之后。数据通过ReputMessageService类定时同步到ConsunmeQueue中,写入Consume Queue的内容是定长的,固定是20个Bytes(offset 8个、size 4个、Hashcode of Tag 8个)。

2023-11-16 16:25:53 121

原创 RocketMQ源码深入剖析(三)

当然如果投递中发生问题,比如第一次投递就失败,那么很大的可能性是集群状态下的一台Broker挂了,所以在重试发送中进行规避。首先RocketMQ默认的发送失败有重试策略,默认是2,也就是如果向不同的Broker发送三次都失败了那么这条消息的发送就失败了,作为RocketMQ肯定是尽力要确保消息发送成功。如果是网络不太好的环境,推荐故障延迟机制,消息队列选择时,会在一段时间内过滤掉RocketMQ认为不可用的broker,以此来避免不断向宕机的broker发送消息,从而实现消息发送高可用。

2023-11-15 16:40:40 28

原创 RocketMQ源码深入剖析(二)

Broker模块涉及到的内容非常多,本课程重点讲解以下技术点:1、Broker启动流程分析2、消息存储设计3、消息写入流程4、亮点分析:NRS与NRC的功能号设计5、亮点分析:同步双写数倍性能提升的CompletableFuture6、亮点分析:Commitlog写入时使用可重入锁还是自旋锁?7、亮点分析:零拷贝技术之MMAP提升文件读写性能8、亮点分析:堆外内存机制。

2023-11-14 10:48:11 53

原创 RocketMQ源码深入剖析(一)

RocketMQ 是阿里巴巴集团基于高可用分布式集群技术,自主研发的云正式商用的专业消息中间件,既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性,是阿里巴巴双 11 使用的核心产品。

2023-11-13 16:43:22 58

转载 多线程 volatile synchronized

特性1,无序(存储和读取的顺序可能不一样)2,不允许重复(要求元素唯一)3,无索引4,Set集合的常用实现类有 HashSet TreeSet属性如果添加的元素相==或equals, HashSet就只会保留其中一个。因此当我们将自己写的类存入set集合时一定要重写 equals和hashCode ;追加...

2021-08-18 13:14:04 85

原创 IDEA提交代码到远程仓库

本地创建工程后,想把代码提交到远程仓库该怎么做?1,首先我们现在github上面新建一个仓库输入要建的仓库名字后点击提交;2,然后我们要在本地新建一个工程,这个大家都知道不多说了3,我们需要在idea中连接本地仓库,将工程先提交到本地仓库file->setting->Version control ->Git选择本地git按照地址后确认;这样我们就可以在idea使用git工具了;4,接下来创建本地仓库vcs->import in...

2021-07-22 15:30:29 394

原创 JDK-集合框架-HashMap

特性HashMap 是一个采用哈希表实现的键值对集合,继承自AbstractMap,实现了Map 接口 HashMap 的底层实现是数组+链表,JDK 8 后又加了 红黑树 实现了 Map 全部的方法 key 用 Set 存放,所以想做到key 不允许重复,key 对应的类需要重写 hashCode 和 equals 方法 允许空键和空值(但空键只有一个,且放在第一位,下面会介绍) 元素是无序的,而且顺序会不定时改变 插入、获取的时间复杂度基本是 O(1) 遍历整个 Map 需...

2021-02-08 16:43:30 72

转载 java中的各种锁详细介绍

Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。下面给出本文内容的总体分类目录:1. 乐观锁 VS 悲观锁#乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。在Java和数据库中都有此.

2020-11-26 14:29:52 84

原创 mysql索引失效情况

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习..

2020-11-20 16:42:19 137

原创 java基础面试提

8. ConcurrentHashMap 和 Hashtable的区别它们都可以用于多线程的环境,但当Hashtable的大小增加到一定的时候,性能会急剧下降,因为迭代时需要被锁定很长的时间。HashTable的任何操作都会把整个表锁住,是阻塞的。好处是:总能获取最实时的更新,比如说线程A调用putAll()写入大量数据,期间线程B调用get(),线程B就会被阻塞,直到线程A完成putAll(),因此线程B肯定能获取到线程A写入的完整数据。坏处是所有调用都需要排队,效率较低。ConcurrentHa

2020-08-07 16:56:30 60

原创 map中remove问题

今天遇到这么一个问题,我查到一个map,但是里面有部分数据不是我想要的,我需要遍历把不需要的元素删除调,结果抛出了异常java.util.ConcurrentModificationException,后来发现Java的for循环,就是将List对象遍历托管给Iterator,你如果要对list进行增删操作,都必须经过Iterator,否则Iterator遍历时会乱,所以直接对list进行删除时,Iterator会抛出ConcurrentModificationException异常。解决办法:可以通过

2020-05-26 21:30:18 2122

原创 NVM版本管理工具使用说明

1、查看本地安装的所有版本;有可选参数available,显示所有可下载的版本。nvm -v 查看当前nvm版本nvm list 查看当前可用node版本nvm install 11.13.0 安装nvm use 11.13.0nvm uninstall 11.13.02.命令提示nvm arch:显示node是运行在32位还是64位。...

2020-04-22 19:12:59 551

原创 RabbitMQ中的Exchange有四种类型

rabbitmq中有多种不同的消息类型,可以通过不同的方式把消息发送给想要传达的对象,但具体这些是怎么来实现的,我们一起来看下:1,fanout-exchange模式,也叫广播模式,顾名思义,就是把消息像广播一样传送出去;如上图,我们把bpmtest.exchange.workOrder这个exchange绑定到了3个不通的队列queue,然后我们通过这个exchange去发送消息时...

2020-04-22 16:30:01 647

转载 消息队列怎么处理消息丢失问题

rabbitmq处理办法1,生产者丢失数据生产者由于网络问题,数据刚发出去就断掉了解决办法:1),开启tabbitmq事务,如果消息没有被rabbitmq接收到就回滚事务,继续重试,否则就提交事务,但这种效率较慢2),开启confirm模式,这是每个消息都会被分配一个id,如果消息被rabbitmq成功接收,会返回ack消息,如果消息没有被rabbitmq处理,会回调一个nac...

2020-04-21 20:44:14 2037

原创 git 常用命令

1,拉取分支在文件夹下:git clonehttp://git.sh.sunline.cn/product/mlap/mlap.git(仓库地址)2,更新文件: git pull3,添加到本地 : git add . (注意,空格 .即add后有个空格)4,提交文件 : git commit5,推送文件 : git push...

2019-09-02 18:48:13 102 1

翻译 javaScript 数据类型

JavaScript 中有五种可包含值的数据类型:字符串(string) 数字(number) 布尔(boolean) 对象(object) 函数(function)有三种对象类型:对象(Object) 日期(Date) 数组(Array)同时有两种不能包含值的数据类型:null undefinedtypeof 运算符 您可以使用typeof运算符来确定 ...

2019-08-21 14:43:35 51

原创 js中获取时间new date()的用法

varmyDate =newDate();//获取系统当前时间获取特定格式的时间:myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份(4位,1970-????)myDate.getMonth(); //获取当前月份(0-11,0代表1月)myDate.getDate(); //获取当前日(1-31)myD...

2019-08-20 16:34:48 109

原创 mysql中jdbcType的匹配

我是一个小白,刚刚毕业,今天写Mapper时突然遇到了这个问题,mysql中数据类型匹配不清楚,于是特意网上查了一下,总结出来分享给大家:JDBC Type           Java Type  CHAR                String  VARCHAR             String  LONGVARCHAR         String  

2017-11-13 16:09:35 7106

转载 <spring:message> 标签

可以使用标签结合 ResourceBundleMessageSource 的功能,在网页上显示 messages.properties 中的文字讯息,例如在 messages.properties文件中定义如下:welcome=Hello, {0} {1}. Welcome to Spring.注意: messages.properties 档案必须在 Classpath 可以存

2017-11-01 14:19:09 804

空空如也

空空如也

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

TA关注的人

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