自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 黑马Minio(对象存储服务MinIO)

MinIO基于Apache License v2.0开源协议的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。MinIO兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。

2024-04-23 22:56:34 1027 1

原创 UT单元测试

Mock 的中文译为仿制的,模拟的,虚假的。对于测试框架来说,即构造出一个模拟/虚假的对象,使我们的测试能顺利进行下去。Mock 测试就是在测试过程中,对于某些 不容易构造(如 HttpServletRequest 必须在 Servlet 容器中才能构造出来)或者不容易获取 比较复杂 的对象(如 JDBC 中的 ResultSet对象),用一个 虚拟 的对象(Mock 对象)来创建,以便测试方法。@Mock注解用于创建模拟对象,而注解用于注入依赖的模拟对象或真实对象到测试对象中。通常情况下,@Mock和。

2024-04-10 20:19:06 761

原创 Java功能接口

/ 使用 Lambda 表达式实现功能接口的抽象方法// 调用自定义功能接口的方法// 使用 Lambda 表达式实现功能接口的抽象方法// 调用自定义功能接口的方法。

2024-04-10 17:00:36 631

原创 JPA (Java Persistence API)

JPA,是一套Sun公司Java官方制定的ORM规范。ORM,即对象关系映射(Object Relational Mapping),是一种程序技术,用于在关系数据库和业务实体对象之间做映射。ORM 框架的存在,让开发者可以更关注业务层面的编程,而不需要过多关注数据库层面的操作。其作用是在操作数据库之前,先把数据表与实体类关联起来,然后通过实体类的对象操作(增删改查)数据库表。二、JPA实现流程:2.1ORM 映射首先是 ORM 映射,通过注解或 XML 描述对象和表直接的映射关系。

2024-04-10 14:53:10 958

原创 springsecurity

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

2024-02-01 11:13:08 740

原创 Spring Security Reactive

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

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

原创 响应式编程——R2DBC

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

2024-01-24 21:49:27 398

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

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

2024-01-24 11:04:06 831

原创 响应式编程(一)

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 934

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

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

2024-01-04 17:31:33 942

原创 SparkCore

SparkCore

2023-12-25 16:46:10 1158

原创 Hadoop——分布式计算

MapReduce YARN

2023-12-25 11:00:39 497

原创 Hadoop

HDFS

2023-12-23 22:16:24 651

原创 Spark

Spark 框架概述。

2023-12-23 18:31:07 622

原创 分布式搜索引擎03

es

2023-12-07 21:56:48 449

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

es

2023-12-04 22:09:51 636

原创 分布式搜索引擎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 717

原创 服务异步通讯

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

2023-12-04 11:13:45 60

原创 docker

docker

2023-12-04 11:12:14 282

原创 多级缓存自用

黑马

2023-11-29 22:46:11 522

原创 认证鉴权方案

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

2023-11-29 11:32:22 825

原创 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 319

原创 Spring Security OAuth2.0认证授权

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

2023-11-27 16:43:14 207

原创 分布式缓存

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

2023-11-26 21:33:53 125

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

黑马设计模式

2023-11-23 15:05:53 366

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

黑马设计模式

2023-11-22 16:42:36 289

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

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

2023-11-21 09:46:21 132

原创 Redis(四)

黑马redis

2023-11-20 22:47:39 406

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

构建者模式

2023-11-17 08:52:00 51

原创 Java设计模式

黑马·设计模式

2023-11-16 15:01:00 311

原创 JUC(java 并发工具包)

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

2023-11-15 15:28:57 71

原创 Redis(三)

黑马Redis

2023-11-11 23:14:36 332

原创 Redis(二)实战

黑马redis

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

原创 JVM(三) 垃圾回收

黑马jvm

2023-10-26 11:14:23 613

原创 JVM(二)

黑马jvm

2023-10-24 17:31:03 282

原创 JVM(一)

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

2023-10-23 22:04:51 490

原创 共享模型之不可变

黑马juc

2023-10-17 17:20:22 69

原创 共享模型之无锁

黑马juc

2023-10-16 15:39:28 74

原创 共享模型之内存

黑马juc

2023-10-13 11:16:16 49

原创 Java文件上传及下载

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

2023-10-10 21:42:50 116

空空如也

空空如也

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

TA关注的人

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