自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springsecurity

实际开发的过程中,我们需要应用程序更加灵活,可以在SpringSecurity中创建自定义配置文件Java自定义配置用来管理用户信息,是UserDetailsService的一个实现,用来管理基于内存的用户信息。创建一个WebSecurityConfig文件:定义一个@Bean,类型是UserDetailsService,实现是InMemoryUserDetailsManager​@EnableWebSecurity//Spring项目总需要添加此注解,SpringBoot项目中不需要​。

2024-02-01 11:13:08 721

原创 Spring Security Reactive

导入 ServerHttpSecurityConfiguration 配置:注解导入 ServerHttpSecurityConfiguration。这个界面点击登录,最终Spring Security 框架会使用 ReactiveUserDetailsService 组件,按照 表单提交的用户名 去。导入 SecurityFilterChain 组件: 默认所有请求都需要登录才可以访问、默认登录页。Spring Security 默认行为: 所有请求都需要登录才能访问。一个角色可以关联很多。

2024-01-27 15:12:21 841 1

原创 响应式编程——R2DBC

Web、网络、IO(存储)、中间件(Redis、MySQL)

2024-01-24 21:49:27 374

原创 响应式编程(二)——webflux

WebFlux:底层完全基于netty+reactor+springweb 完成一个全异步非阻塞的web响应式框架:异步 + 消息队列(内存) + 事件回调机制 = 整套系统:能使用少量资源处理大量请求;

2024-01-24 11:04:06 804

原创 响应式编程(一)

Reactor 是一个用于JVM的完全非阻塞的响应式编程框架,具备高效的需求管理(即对 “背压(backpressure)”的控制)能力。它提供了异步序列 API Flux(用于[N]个元素)和 Mono(用于 [0|1]个元素),并完全遵循和实现了“响应式扩展规范”(Reactive Extensions Specification)。Reactor 的 reactor-ipc 组件还支持非阻塞的进程间通信(inter-process communication, IPC)。

2024-01-21 12:09:49 911

原创 (读书笔记)网络是如何连接的

浏览器会在显示文字时搜索相应的标签,当遇到图片相关的标签时,会在屏幕上留出用来显示图片的空间,然后再次访问 Web 服务 器,按照标签中指定的文件名向 Web 服务器请求获取相应的图片并显示在 预留的空间中。换句话说,使用 IP 地址只需要处理 4 字节的数字,而 域名则需要处理几十个到 255 个字节的字符,这增加了路由器的负担,传送 数据也会花费更长的时间。接下来, 路由器会根据消息的目的地判断下一个路由器的位置,然后将消息发送 到下一个路由器,即消息再次经过子网内的集线器被转发到下一个路由器。

2024-01-04 17:31:33 925

原创 SparkCore

SparkCore

2023-12-25 16:46:10 1140

原创 Hadoop——分布式计算

MapReduce YARN

2023-12-25 11:00:39 463

原创 Hadoop

HDFS

2023-12-23 22:16:24 640

原创 Spark

Spark 框架概述。

2023-12-23 18:31:07 613

原创 分布式搜索引擎03

es

2023-12-07 21:56:48 444

原创 分布式搜索引擎elasticsearch(二)

es

2023-12-04 22:09:51 626

原创 分布式搜索引擎elasticsearch(一)

在互联网项目中,在网络间传输的速度很快,所以很多语言是不允许在网络上传递的,如:关于宗教、政治等敏感词语,那么我们在搜索时也应该忽略当前词汇。-v es-plugins:/usr/share/elasticsearch/plugins:挂载逻辑卷,绑定es的插件目录。-v es-data:/usr/share/elasticsearch/data:挂载逻辑卷,绑定es的数据目录。-v es-logs:/usr/share/elasticsearch/logs:挂载逻辑卷,绑定es的日志目录。

2023-12-04 11:18:12 698

原创 服务异步通讯

最终结果时并未在1s内处理完成,因为存在消息预取,指的是消费者1和2在未消费完时提前将50个消息进行了平分,使得消息2拿到25个消息,最终耗时5s,因此需要控制预取消息的上限。在SpringAMQP的发送方法中,接收消息的类型是Object,也就是说我们可以发送任意对象类型的消息,SpringAMQP会帮我们序列化为字节后发送。也就是事件驱动架构中的Broker。在consumer服务中,编写两个消费者方法,分别监听direct.queue1和direct.queue2。

2023-12-04 11:13:45 51

原创 docker

docker

2023-12-04 11:12:14 279

原创 多级缓存自用

黑马

2023-11-29 22:46:11 517

原创 认证鉴权方案

最常见的就是 Cookie + Session 认证。Session,是一种有状态的会话管理机制,其目的就是为了解决HTTP无状态请求带来的问题。当用户登录认证请求通过时,服务端会将用户的信息存储起来,并生成一个 SessionId 发送给前端,前端将这个 SessionId 保存起来。之后前端再发送请求时都携带 SessionId,服务器端再根据这个 SessionId 来检查该用户有没有登录过。这个 SessionId, 一般是保存在Cookie中。如果用户第一次访问某个服务器时,

2023-11-29 11:32:22 791

原创 Redis集群

我们需要执行命令来创建集群,在Redis5.0之前创建集群比较麻烦,5.0之后集群管理命令都集成到了redis-cli中。修改redis-6.2.4/redis.conf文件,将其中的持久化模式改为默认的RDB模式,AOF保持关闭状态。要在同一台虚拟机开启3个实例,必须准备三份不同的配置文件和目录,配置文件所在目录也就是工作目录。要在同一台虚拟机开启3个实例,必须准备三份不同的配置文件和目录,配置文件所在目录也就是工作目录。这里我们搭建一个三节点形成的Sentinel集群,来监管之前的Redis主从集群。

2023-11-27 21:21:16 314

原创 Spring Security OAuth2.0认证授权

用户认证通过后,为了避免用户的每次操作都进行认证可将用户的信息保证在会话中。会话就是系统为了保持当前用户的登录状态所提供的机制,常见的有基于session方式、基于token方式等。

2023-11-27 16:43:14 198

原创 分布式缓存

- 基于Redis集群解决单机Redis存在的问题。

2023-11-26 21:33:53 122

原创 设计模式——行为型模式(二)

黑马设计模式

2023-11-23 15:05:53 358

原创 设计模式——行为型模式(一)

黑马设计模式

2023-11-22 16:42:36 282

原创 设计模式——结构型模式

对于这个图片肯定会非常熟悉,上图我们可以看做是一个文件系统,对于这样的结构我们称之为树形结构。在树形结构中可以通过调用某个方法来遍历整个树,当我们找到某个叶子节点后,就可以对叶子节点进行相关的操作。可以将这颗树理解成一个大的容器,容器里面包含很多的成员对象,这些成员对象即可是容器对象也可以是叶子对象。但是由于容器对象和叶子对象在功能上面的区别,使得我们在使用的过程中必须要区分容器对象和叶子对象,但是这样就会给客户带来不必要的麻烦,作为客户而已,它始终希望能够一致的对待容器对象和叶子对象。

2023-11-21 09:46:21 130

原创 Redis(四)

黑马redis

2023-11-20 22:47:39 401

原创 设计模式——创建者模式

构建者模式

2023-11-17 08:52:00 46

原创 Java设计模式

黑马·设计模式

2023-11-16 15:01:00 305

原创 JUC(java 并发工具包)

全称是 AbstractQueuedSynchronizer(抽象队列同步器),是阻塞式锁和相关的同步器工具的框架。state 属性来表示资源的状态(分),子类需要定义如何维护这个状态,控制如何获取 锁和释放锁提供了基于 FIFO 的等待队列,类似于 Monitor 的 EntryList条件变量来实现等待、唤醒机制,支持多个条件变量,类似于 Monitor 的 WaitSet子类主要实现这样一些方法(默认抛出 UnsupportedOperationException)tryAcquire。

2023-11-15 15:28:57 58

原创 Redis(三)

黑马Redis

2023-11-11 23:14:36 329

原创 Redis(二)实战

黑马redis

2023-10-30 22:26:28 303 1

原创 JVM(三) 垃圾回收

黑马jvm

2023-10-26 11:14:23 600

原创 JVM(二)

黑马jvm

2023-10-24 17:31:03 279

原创 JVM(一)

JVM 本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件。机器码是由二进制编码表示的计算机指令。每个机器码通常对应一个特定的操作,如加法、乘法、跳转等。机器码是计算机能够直接执行的代码,它可以在计算机的内存中存储和执行。计算机通过将机器码加载到CPU中执行,进行各种操作和运算。机器码是计算机的最底层指令,它由一系列的二进制位组成,每个位表示不同的含义,如操作码、寄存器地址、内存地址等。字节码需要在JVM中解释执行,相比直接翻译成机器码会有一定的性能损失,但是优点所带来的好处使得Java在跨

2023-10-23 22:04:51 484

原创 共享模型之不可变

黑马juc

2023-10-17 17:20:22 65

原创 共享模型之无锁

黑马juc

2023-10-16 15:39:28 66

原创 共享模型之内存

黑马juc

2023-10-13 11:16:16 40

原创 Java文件上传及下载

file.transferTo(localFile)的作用是将file文件复制到localfile。

2023-10-10 21:42:50 84

原创 共享模型之管程

黑马juc

2023-10-09 15:27:39 42

原创 进程与线程

黑马juc

2023-10-08 17:27:13 62

原创 JAVA NIO深入剖析

通道(Channel):由 java.nio.channels 包定义 的。Channel 表示 IO 源与目标打开的连接。Channel 类似于传统的“流”。只不过 Channel 本身不能直接访问数据,Channel 只能与 Buffer 进行交互。

2023-10-08 11:08:16 279

原创 JAVA BIO深入剖析

黑马BIO/NIO/AIO

2023-10-07 21:39:35 109

空空如也

空空如也

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

TA关注的人

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