自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Executor和AQS学习收藏】

【代码】【Executor和AQS学习】

2023-02-23 21:04:49 416

原创 框架源码学习收藏汇总

Springsecurity过滤器和方法拦截器 https://www.processon.com/view/link/61fe51221efad479c07aa7b7WebSecurity&HttpSecurity&AuthenticationManager三大构建者 https://www.processon.com/view/link/61ffe49f6376890390cf9e28SecurityConfigurer配置类继承体系(创建HttpSecurity) https://

2022-02-27 09:35:06 501

原创 spring获取方法参数名的方式

java接口编译成class文件后,默认不会保存方法的参数签名,jdk这么设计,因为接口的参数名称一般没有意义,但是现在的技术发展导致一些框架需要用到接口的参数名称。java类编译成class文件后,方法签名 和 参数 会保存在字节码文件中,通过一些字节码的解析框架可以获取方法的参数名称。场景:在springmvc中,可以通过请求参数绑定controller方法对应的方法参数名。在接口中,不管是spring通过字节码技术还是传统的反射方法都无法获取。先 clean 再 compiler。

2024-06-23 22:36:43 911

原创 redis持久化&主从&哨兵&分片集群

RDB方式bgsave的基本流程?fork主进程得到一个子进程,共享内存空间子进程读取内存数据并异步写入新的RDB文件用新RDB文件替换旧的RDB文件。RDB会在什么时候执行?save 60 1000代表什么含义?默认是服务停止时。代表60秒内至少执行1000次修改则触发RDBRDB的缺点?RDB执行间隔时间长,两次RDB之间写入数据有丢失的风险fork子进程、压缩、写出RDB文件都比较耗时简述全量同步和增量同步区别?

2024-06-23 17:24:58 714

原创 Feign.builder官方介绍 & feign-form模块

feign客户端介绍和feign-form模块

2024-06-20 17:00:23 485

原创 nacos注册中心&配置中心&集群搭建

国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。

2024-06-13 22:15:21 940

原创 SpringBoot+MyBatis批量插入数据的三种方式

在开发过程中,我们经常会遇到往数据库表中插入大量数据的场景,比如excel批量导入数据。那么该如何快速地插入数据呢?我们可以考虑使用批量插入来实现,实测100000条数据添加,后附具体实现代码。用一个 for 循环,把数据一条一条地插入。/*** 第一种方案,用 for语句循环插入 10万 条数据*/i < count;i++) {user.setName("方案1测试" + i);user.setGender("男");user.setUsername("方案1测试");

2024-06-12 18:23:20 1354 1

原创 DefaultTokenServices源码

DefaultTokenServices是掌握spring security oauth2 颁发令牌的重要实现,它有着`发放令牌`,`存储令牌`,`令牌校验`,`令牌撤销`等功能;DefaultTokenServices实现了3个接口:AuthorizationServerTokenServices、`ResourceServerTokenServices`、`ConsumerTokenServices`

2024-06-09 17:34:15 286

原创 JwtAccessConverter&JwtTokenStore&jdbc建表结构

可参考:https://www.cnblogs.com/hellxz/p/12044340.html。下载对应的openssl版本,只需要一直点下一步即可,安装完毕后,将它的bin目录配置到环境变量。在my-auth.jks同目录下,执行命令导出公钥,需要输入口令:123456。使用jwt(非对称加密)

2024-06-07 15:47:40 382

原创 @EnableResourceServer资源服务注解源码分析

@EnableResourceServer用于开启资源服务器,它使用@Import注解引入了`ResourceServerConfiguration`

2024-06-06 20:03:23 453

原创 @EnableAuthorizationServer授权服务注解源码分析

EnableAuthorizationServer用于开启授权服务器,它使用@Import注解引入了如下2个配置类:授权服务器安全配置类授权服务器端点配置类。

2024-06-04 21:35:11 614

原创 Spring All系列教程学习下

中Spring系列源码,包含Spring Boot、Spring Boot & Shiro、Spring Cloud,Spring Boot & Spring Security & Spring Security OAuth2,如果该系列教程对您有帮助的话,还请点个star给予精神支持!

2024-06-03 22:32:19 995

原创 Security OAuth2 SSO单点登录源码剖析(二)

文章目录单点登录简介SSO客户端@EnableSSO注解@EnableOAuth2Client注解OAuth2SsoDefaultConfigurationOAuth2SsoCustomConfigurationResourceServerTokenServicesConfiguration过滤器OAuth2ClientContextFilterOAuth2ClientAuthenticationProcessingFilterSSO服务端单点登录简介SSO客户端@EnableSSO注解@Enabl

2024-05-26 20:48:29 258

原创 Gitee好用的浏览器插件【GiteeTree】

使用gitee的时候,可能拉到别人的项目后,只是想看下某些文件的代码,但是不得不全部都拉下来,每次点又很麻烦。这个插件【GiteeTree】就很好用了,只需要搜索GiteeTree,然后把插件下载下来。

2024-05-25 16:28:47 282

原创 Security OAuth2 SSO单点登录(一)

文章目录学习链接auth-server引入依赖application.ymlAuthServerConfigSecurityConfigUserControllerlogin.htmlclient1引入依赖application.yml配置文件SecurityConfigClient1ApplicationHaloControllerindex.htmlclient2引入依赖application.yml配置文件SecurityConfigClient2ApplicationHaloControllerin

2024-05-20 22:13:20 1079

原创 Spring Security整合Gitee第三方登录

当前==我们系统是有自己的一套用户体系==的,在前面通过security搭建了1个非常简单的登录示例。可是,用户要登录我们的系统,需要先注册账号,然后填写一大堆表单,包括:用户名、密码、验证码、性别、年龄、上传头像、绑定邮箱、绑定手机号等等一大堆,这就增加了用户使用我们系统的成本。因此可以使用比较可靠的第三方系统的用户身份登录我们的系统,但==用户仍然是第三方系统的用户==,==只是用户可以授权他在第三方系统的权限给我们系统,让我们系统可以访问这个用户在第三方系统中的用户信息、用户资源等==。这样用

2024-05-19 14:53:10 1056

原创 父子级分类统计分类下数量sql

【代码】父子级分类统计分类下数量sql。

2024-05-19 13:01:37 261

原创 exists和case when使用

【代码】exists和case when。

2024-05-11 09:27:30 140

原创 vue3 + ts 快速入门(全)

vue3 + ts 快速入门

2024-05-03 20:59:02 1344

原创 webrtcP2P音视频通话(二)

文章目录webrtc实现视频会议示例客户端代码client.html服务端代码SignalWsServerWsConfig效果webrtc实现视频会议学习链接:webrtc实现视频会议,web多人视频通话,websocket通信,全部的代码:包括java的后端,vue的webrtc客户端前端代码,放在了微信收藏中vite配置https、nginx配置ssl、openssl本地搭建示例客户端代码client.html<!DOCTYPE html><html lang="en

2024-04-27 16:48:43 596

原创 netty继承类图

2024-04-21 12:14:47 139

原创 ByteToMessageDecoder&MessageToMessageDecoder&MessageToByteEncoder&MessageToMessageEncoder

ByteToMessageDecoder、MessageToMessageDecoder、MessageToByteEncoder、MessageToMessageEncoder

2024-04-20 20:23:51 271

原创 slice/retainedSlice/readRetainedSlice

【代码】slice/retainedSlice/readRetainedSlice。

2024-04-17 22:58:42 165

原创 mysql使用逗号分隔的一行数据转多行数据

【代码】mysql使用逗号分隔的一行数据转多行数据。

2024-04-15 20:53:22 6401

原创 kafka学习记录

在local文件夹下创建data目录,然后修改local下的config目录下的zookeeper.properties文件。编写zk.cmd和kafka.cmd,然后就可以双击启动zookeeper和kafka了。修改config目录中的server.properties文件。将文件夹名改为local。启动zookeeper。

2024-04-13 10:22:06 1529

原创 netty实现mqtt(IOT)

springboot+netty+mqtt服务端实现springboot+netty+mqtt客户端实现IOT云平台 simple(6)springboot netty实现IOT云平台基本的架构(mqtt、Rabbitmq)Springboot结合Netty对接硬件,实现主动发送报文和接受硬件报文(ModbusRTU或者TCP以及DTU)

2024-04-11 22:18:15 781

原创 im-system 第十一章

需求一:需要实时的更新好友的状态,有一个标识可以辨别在线和离线,在线和离线可以实时得到感知,手动修改忙碌啥的状态可以实时通知到好友需求二:打开群组等,可以获取到这一批人的在线状态,在线的会有一个在线的标识,和好友一样可以实时感知到用户下线了,可以实时的将在线修改为离线。

2024-04-05 21:43:13 275

原创 webrtcP2P音视频通话(一)

webrtcP2P通话流程webrtc多对多 mesh方案

2024-04-05 11:00:41 746

原创 im-system 第十章

章节介绍基本保证实时性有序性可靠性幂等性(保证消息不重复)消息已读&离线消息消息已读离线消息

2024-03-30 16:20:39 291

原创 im-system 第九章(下)

读扩散:举一个微博大V的例子,如果大V发一条消息,那么关注了大V的用户,就会从大V的队列中倒序拉取就可以获取到大V的消息了写扩散:也举一个微博大V的例子,如果大V发一条消息,每个用户都有自己的一个队列,大V会将消息写到所有订阅他的用户的队列中

2024-03-30 11:12:52 211

原创 im-system 第九章(上)

逻辑层需要接收到im tcp接入层发送过来的消息,逻辑层监听使用ChatOperateReceiver,tcp层收到来自sdk的消息后,将消息发送到mq,逻辑层接收到该消息。

2024-03-27 22:33:04 222

原创 im-system 第八章(下)

由于im服务支持用户在多个客户端登录,那么就会存在一个用户在多个端的数据同步问题。

2024-03-24 09:01:02 498

原创 im-system 第八章(上)

tcp服务实例注册到了zk,现在sdk需要获取到tcp服务的地址。

2024-03-23 12:10:09 1356 1

原创 im-system学习

【代码】im-system学习。

2024-03-19 22:52:30 351

原创 ByteToMessageDecoder & 简单实现netty文件传输

但是,注意:HeadContext中读取的数据可能包含了完整消息,也可能包含不完整的消息,这是不确定的,由底层网络传输决定,我们要做的就是区分出消息边界,然后将完整的消息交给后面的入站处理器,不然的话,入站处理器后面的业务拿到的不是1个完整的消息,就会出问题。而ByteToMessageDecoder就是其中1个比较重要的解码器,也叫一次解码器。因为tcp协议将数据以流的方式传输,但这样就需要自己在应用层手动解决字节数据边界的问题,即拆包和粘包的问题。将流式数据按照商定的协议规则区分的1个完整数据称为。

2024-03-17 20:47:42 707

原创 telnet命令使用

启动netty服务端后,使用如下cmd命令连接服务端,按enter,将连接到netty服务端。发送消息,再断开连接,再退出,netty服务端都能正常响应。

2024-03-17 10:19:28 446

原创 OGNL表达式

OGNL(Object-Graph Navigation Language的简称),对象图导航语言,通过表达式来实现:许多常用框架都集成了ognl,如mybatis、struts、spring、arthas等。这里仅以java环境下的代码进行演示。

2024-03-12 22:32:09 936

原创 netty草图笔记

【代码】netty草图笔记。

2024-03-09 17:14:38 414

原创 Spring EL表达式官方文档学习

SpEL(Spring Expression Language)是Spring框架中用于表达式语言的一种方式。它类似于其他编程语言中的表达式语言,用于在运行时计算值或执行特定任务。SpEL提供了一种简单且强大的方式来访问和操作对象的属性、调用对象的方法,以及实现运算、条件判断等操作。它可以被用于XML和注解配置中,可以用于许多Spring框架中的特性,如依赖注入、AOP、配置文件等。SpEL表达式可以在字符串中进行定义,使用特殊的语法和符号来表示特定的操作。

2024-03-03 10:43:47 1574 1

原创 Spring Cloud OpenFeign官方文档学习

Feign是一个声明式的web服务客户端,让编写web服务客户端变得非常容易,只需创建一个接口并在接口上添加注解即可。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡(也可以配合Spring Cloud CircuitBreaker、Spring Cloud LoadBalancer一起使用)。

2024-02-25 20:35:39 1356 1

空空如也

空空如也

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

TA关注的人

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