自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

编码人生

商务合作|项目合作|携手共进

  • 博客(274)
  • 问答 (1)
  • 收藏
  • 关注

原创 要是你想使用异步队列的话,那就试试Reactor Flux吧!

Reactor Flux乃是Spring Framework内核架构中的一大重要组件,其主要功能在于实现反应式编程理念。在Reactor的世界观里,Flux担当着描述0至无限个任意元素组成序列的重任,不但如此,它还为同步及基于事件驱动的数据流提供全方位的支持与服务。Flux提供了多元化的操作及其相应的方法,其作用包括对数据流进行漫游、精炼、整合以及更多其他可能的操作,从而满足实现反应式编程特性的各种需求。反应式编程,这是一种独特的编程范式,主要面向那些需要处理复杂多样的异步数据流和事件的场合。

2024-04-25 10:12:34 591

原创 Java里的线程神器:ThreadLocal

今天我们要学习一种在JAVA线程中至关重要的类——ThreadLocal。ThreadLocal是一个强大的JAVA类,它能实现线程局部变量的功能。通过ThreadLocal,每一个线程都可以拥有自己的一份变量副本,互相之间不会影响操作,真正做到数据隔离。尤其在多线程环境下,避免了线程间混乱的数据共享、避免出现竞争条件,使得编程更加优雅。

2024-04-15 14:14:18 770

原创 我开发了一款只用一个注解就实现分布式锁的工具框架

相信大家在JAVA中知道锁的一个概念。在JAVA中,锁是一种机制,用于控制并发代码的执行。锁用于保护共享资源的访问,确保只有一个线程能够同时访问这些资源。锁可以防止多个线程同时执行对共享资源的修改操作,从而避免数据不一致或竞争条件。但是呢JAVA里面的锁都是基于jvm的。就是说是一个服务独有的。这样的话,在分布式框架中就会有一个问题。比如说我有三个节点。大量的请求进来。我们的需求是不管你请求多少次,只会执行一次。假如说三个节点中每一个节点都进来了一个请求,这样的话就会出现执行了三次请求。

2024-04-01 12:06:37 546

原创 介绍一下傻傻分不清的两个兄弟:过滤器和拦截器之拦截器

在上一篇文章中我们讲到了过滤器。他可以实现很多的功能,例如身份验证和授权、日志记录和性能监控等等,那么拦截器又是什么呢?它跟过滤器又有什么区别呢??实际上,拦截器可以被视为一种对过滤器的封装。在Spring框架中,拦截器提供了更加灵活和强大的功能,可以与Spring MVC等框架无缝集成,并且通常用于处理请求的前置和后置逻辑。拦截器可以实现过滤器的大部分功能,并且在Spring应用程序中更为常见。拦截器也可以用于日志记录、权限验证、性能监控、异常处理等场景。

2024-03-25 09:28:44 736

原创 Elastic Search的RestFul API入门:索引模板index_template的使用

索引模板在Elasticsearch领域占据了至关重要的地位,它们能够协助我们定义和调控索引的架构、映射及各项设定,进而增强了数据存储的效率以及规范性。ES的索引模板在我们日常项目开发过程中的运用频率极高,其功能在于为某个单独的索引设定一套具体的模板标准,随后我们在创建索引时便均按照此模板进行实施,从某种意义上讲,这如同规定了我们所需索引应具备的形式与模样。

2024-03-22 09:25:35 30

原创 如何发布jar包到maven中央仓库(2024年3月最新版保姆级教程)

在官方的中提到:从 2024 年 3 月 12 日起,所有注册都将通过中央门户网站进行。有关传统注册的信息,请参阅相关文档。有关在门户网站早期访问期间通过传统的 OSSRH 发布方式进行发布的支持,请参阅以下部分。所以之后,博主原来写的教程就不适用了,所以这次博主根据他的官方文档出了一篇新教程,踩了很多的坑,最后三天终于把他弄出来了,这里我会把我遇到的坑给大家整理一下,避免大家踩坑。如果你没看过原来的那篇文章没问题的,现在我们开始从0开始,到最后jar包成功发布在maven中央仓库上。

2024-03-18 13:43:30 1231 9

原创 Spring Security入门教程:利用Spring Security实现安全控制

大家可以看到我们刚刚控制台生成的密码其实是一个随机的字符串,它是security默认生成的,所以现在我们可以给它配一个默认的用户名和密码。我们可以在配置文件中输入以下的配置给他配置自定义的用户名和密码。我们在用我们自定义的用户名和密码登录成功之后,就可以访问我们项目中的任意一个地址。完成以上三步,我们就成功引入了springsecurity,并制定了我们自己的用户名和密码。不过你们有没有想过,在实际的项目中,我们真的会将用户名和密码写在配置文件中吗?这显然是不可能的。

2024-03-11 13:54:36 990

原创 介绍一下傻傻分不清的两个兄弟:过滤器和拦截器之过滤器

在上一篇的文章中,我们讲到了javaweb的servlet,Servlet在最早的JAVA网页应用发过程中占据着很重要的地位。但是在这个体系中,还存在着两个极其相似的亲兄弟。今天我们就来介绍一下这两个很相似的功能。过滤器和拦截器都是用于在 Web 应用程序中处理请求和响应的组件,但它们在实现和使用上有一些不同之处。过滤器(Filter)是 Servlet 规范中的一部分,它可以在请求到达 Servlet 之前对请求进行预处理,也可以在响应返回给客户端之前对响应进行后处理。

2024-03-05 09:34:33 882

原创 Java技术中的经典之作:Servlet的实践运用

在久远而悠久的历史长河中,各式各样的技术层出不穷,然而,当我们回顾过去,不难发现,曾经的主流框架尚未问世之际,我们所习惯使用的开发工具就是servlet及与之搭配的tomcat。如今,随着现代科技的飞速发展,这些陈旧的技术已逐渐淡出人们的视野。然而,身为一名Java程序员,我们有必要洞悉这项技术的本质及其脉络,以便在未来编写代码时能够心领神会,游刃有余。

2024-02-29 15:25:31 653

原创 Elastic Search的RestFul API入门:使用SQL查询ES

Elasticsearch 的 SQL 查询提供了一种类似于传统关系型数据库的查询方式,这使得熟悉 SQL 的开发人员可以更轻松地使用 Elasticsearch 进行数据检索和分析。

2024-02-26 09:20:18 57

原创 Gradle的安装和配置

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来描述构建脚本,允许开发人员定义项目的结构、依赖关系和构建过程。Gradle支持多种编程语言和技术栈,并提供了强大的构建自动化能力,包括任务管理、依赖管理、插件扩展等功能。通过使用Gradle,开发人员可以更轻松地构建、测试和部署他们的应用程序,同时也能够灵活地定制构建流程以满足特定需求。Gradle已经成为许多开发团队和项目的首选构建工具之一。

2024-02-22 14:01:23 1053

原创 Elastic Search的RestFul API入门:分词的核心机制-分析器

大家想到的ES首先想到的可能是`快`!`搜索强`!那么他为什么搜索强呢?他为什么能实现那么厉害的分词搜索呢?我们今天会花费一篇文章的时间来讲一下分析器

2024-02-20 11:01:44 36

原创 Elastic Search的RestFul API入门:查询ES当前的情况cat和cluster

有时候我们也需要查看集群的整体情况,这就需要用到 cat 和 cluster 这两个 API。

2024-01-29 09:25:02 262

原创 Elastic Search的RestFul API入门:alias别名

在Elasticsearch(ES)中,我们得以为某一索引赋予众多别名,同样,我们亦可将多重索引映射至同一个别名

2024-01-22 09:15:32 43

原创 【Mybatis】我抄袭了Mybatis,手写一套MyMybatis框架:初窥mybatis源码

在历经之前几章课程的深入学习之后,我想我们已经初步掌握了如何运用jdbc连接数据库的技术;同时,我们也实现了利用mybatis框架的能力,甚至尝试着手编写、实现了ORM的框架。我坚信大家对MyBatis的理解和应用已经达到了一定程度。然而,你们是否有思考过为何MyBatis能够具备如此强大的效能呢?因此,在本次课程中,我们将全面剖析MyBatis的源代码,以此揭示其背后隐藏着的卓越功能的实现原理。为了方便我们的Debug实验,我们仍然会参考并使用在上一章节课程所提到的Mybatis-Demo模块进行操作。

2024-01-18 10:06:18 844

原创 Elastic Search的RestFul API入门:DSL查询

DSL(Domain Specific Language)是一种专门用于特定领域的编程语言。在Elasticsearch(ES)中,DSL被广泛用于构建灵活、高效的查询语句,以满足各种搜索需求。

2024-01-15 09:16:32 75

原创 【Mybatis】我抄袭了Mybatis,手写一套MyMybatis框架:编写MyMybatis框架

前面我们编写了一个正常的项目,他需要使用到我们的框架,但是我们还没有开始编写我们的MyMybatis框架,我们现在已经学会了使用mybatis框架,已经学会了使用jdbc连接mysql,并且已经搭好了一个引用MyMybatis框架的正常项目,所以这次我们开始真正的开始编写我们的MyMybatis框架,开始“抄袭”之路。

2024-01-11 09:22:54 923

原创 Elastic Search的RestFul API入门:如何优雅分组-aggregations

桶的主要作用是通过设定某一特定标准对文档进行分组归纳。

2024-01-08 09:11:10 873

原创 【Mybatis】我抄袭了Mybatis,手写一套MyMybatis框架:编写一个引入MyMybatis框架的正常项目

到时候我们自己再写框架的时候,取对应的数据就行了,这里只是做一个示范,我们暂时就叫我们上面的名字。接下来,我们只需专注于编写具体的功能性代码以及正确传递所需的参数,并在这个基础上编写适当的SQL语句即可,与我们平常使用。在这篇文章中,我们将聚焦于我们的调用方,即相应的实际项目,其中包含了对。,这里我们把我们上面装sql的xml文件给拿过来,假如我们的框架有很多的mapper文件,我都将他们引入进来,注意这里都是写在。在对应的select标签中我们写上我们的sql,就像上面我们的代码里面的sql一样就行了。

2024-01-04 20:12:30 1143 1

原创 Elastic Search的RestFul API入门:初识DSL

通过理解和合理运用查询上下文和过滤上下文,我们可以更好地利用Elasticsearch的搜索功能,提高搜索的效率和准确性。

2024-01-02 09:55:01 869 1

原创 【Mybatis】我抄袭了Mybatis,手写一套MyMybatis框架:学会使用mybatis框架

上一篇文章中,我们学习了通过JDBC与MySQL进行交互。如果我们平常在项目中使用mybatis框架作为我们的orm框架。这一次我们就来学习如何使用框架。我们项目中使用到maven。我们直接通过pom文件的方式给他引入进来。MyBatis是一个简单而强大的持久层框架,它提供了灵活的SQL映射、强大的参数处理、动态SQL、缓存支持和插件扩展等功能,使得开发人员能够更方便地进行数据库访问和操作。我们既然要“”mybatis框架。那么我们肯定要学会使用这个框架。所以我们先了解它怎么使用。

2023-12-27 09:16:38 812

原创 Elastic Search的RestFul API入门:如何进行ES的查询-search

在这篇教学文章中,我们将深入探讨Elasticsearch的search功能。这是一个非常强大且灵活的功能,它允许我们对存储在Elasticsearch中的数据进行各种复杂的查询和分析。

2023-12-25 09:18:46 911

原创 【Mybatis】我抄袭了Mybatis,手写一套MyMybatis框架:使用JDBC连接数据库

在Java开发中,Mybatis是一个非常流行的持久层框架,它消除了几乎所有的JDBC代码和参数的手动设置以及结果集的检索。Mybatis可以使用简单的XML或注解进行配置,并将接口和Java的POJOs(Plain Old Java Objects)映射成数据库中的记录。然而,你有没有想过,如果没有Mybatis,我们应该如何手动实现这些功能呢?在这篇专栏中,我将尝试"抄袭" Mybatis,手写一套名为MyMybatis的框架,让我们一起深入理解Mybatis背后的原理和实现。

2023-12-20 09:39:08 981

原创 Elastic Search的RestFul API入门:doc文档的增删改查操作

在Elasticsearch中,每一个文档都可以被理解为MySQL数据表中的一行数据,它们是数据存储和检索的基本单位。今天我们来学习一下doc的增删改查的操作。

2023-12-18 09:15:24 799

原创 Elastic Search的RestFul API入门:那些不常见的mapping字段

在本篇文章中,我们将探讨这些较少用到的字段类型。我们将介绍它们的基本特性,使用场景,以及如何在实际应用中使用它们。

2023-12-11 09:10:45 1036

原创 Elastic Search的RestFul API入门:我们常见的mapping字段

本文将着重讨论我们在工作和实际应用中经常遇到或者使用的字段类型

2023-12-04 09:58:33 878

原创 Elastic Search的RestFul API入门:初识mapping

这次我们来讲解mapping的动态字段、动态模板、指定字段类型以及运行时字段的相关概念

2023-11-27 09:09:30 1153

原创 Elastic Search的RestFul API入门:index索引的增删改查

在本篇文章中,我们将详细介绍如何使用Restful API来创建、删除、更新和查询JSON格式的索引。

2023-11-20 11:18:36 441

原创 Windows安装Java环境(OracleJDK)

在下载之前,我们先了解一下java的前世今生OpenJDK 是一个开源的 JDK 实现,它是基于 Sun Microsystems 开发的 JDK 代码库,并由 Oracle 和其他贡献者共同维护和开发。但是我们主要是为了学习为主,所以我们可以下载和安装Oracle JDK。

2023-11-17 09:14:23 271

原创 Elastic Search的RestFul API入门:绪论

本专栏介绍了Elasticsearch的Restful API的入门指南。学习如何使用API进行索引、搜索和分析,包括创建索引、定义映射、添加文档、执行查询等。通过实例和代码片段,快速上手Elasticsearch的Restful API,构建强大的搜索功能。

2023-11-13 09:36:58 92

原创 SpringBoot集成xxl-job实现超牛的定时任务

在实际的工作过程中,必不能直接这样使用,就拿我们公司来说,我们使用的是微服务的架构,我们会把xxl-job-admin项目封装成一个微服务(当然不注册到nacos中)。这里直接用Maven打包成一个jar包会在和项目同级别的目录下出现一个jar包即可通过java命令运行。

2023-10-31 10:17:02 208

原创 【RocketMQ集群】Linux搭建RocketMQ双主双从集群

在当今大数据时代,消息队列系统成为了构建高可用、可扩展和可靠的分布式应用的重要组件之一。而Apache RocketMQ作为一款开源的分布式消息中间件,以其高吞吐量、低延迟和可靠性而备受青睐。为了满足大规模应用的需求,搭建RocketMQ集群是一种常见的部署方式。本文将介绍如何在Linux系统上搭建RocketMQ双主双从集群。通过搭建双主双从集群,我们可以实现消息的高可用性和容错性,确保在单个Broker节点故障时仍能保持服务的正常运行。首先,让我们了解一下RocketMQ集群的基本概念。

2023-10-23 10:39:24 284

原创 【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)

上次我们讲了linux环境安装ElasticSearch这次我们来将一下ElasticSearch的集群安装安装es的前置条件:这次我们安装的是版本,所以我们安装。

2023-10-02 22:06:02 1333 1

原创 Linux安装Mysql主从集群(图文解说详细版)

MySQL主从集群是一种数据库架构模式,由一个主数据库(Master)和多个从数据库(Slave)组成。在主从集群中,主数据库负责处理写操作(如插入、更新、删除),而从数据库则用于读操作。主数据库是集群的核心,它接收来自客户端的所有写操作,并将这些操作记录到二进制日志(Binary Log)。从数据库通过连接到主数据库,并从主数据库的二进制日志中复制数据变更,以保持与主数据库的数据一致性。MySQL主从集群是一种常用的数据库架构模式,适用于高可用性和数据冗余要求较高的环境。

2023-09-25 09:17:15 475

原创 Linux的Redis集群搭建-主从集群哨兵模式

上次教大家在linux中安装单机版本的redis:这次我们讲一下Linux安装redis的集群版本。

2023-09-18 09:11:44 83

原创 【ProxySql】Mysql如何实现读写分离?看这一篇就够了

ProxySQL是一个高性能的开源数据库代理,专门用于在数据库系统和客户端之间进行流量路由和负载均衡。它能够管理和优化数据库连接,提高应用程序的性能和可用性。ProxySQL支持多种数据库系统,包括MySQL、MariaDB、Percona等,使其成为了许多企业和开发者在构建大规模、高性能数据库架构时的首选工具。ProxySQL能够将客户端请求均匀地分配到多个后端数据库服务器上,从而实现负载均衡,提高数据库的吞吐量和响应能力。

2023-09-11 09:07:35 383 2

原创 【设计模式】我终于读懂了职责链模式。。。

职责链模式(Chain of Responsibility Pattern), 又叫 责任链模式,为请求创建了一个接收者对象的链。这种模式对请求的发送者和接收者进行解耦。职责链模式通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。这种类型的设计模式属于行为型模式。

2023-09-04 09:04:39 83

原创 VMware虚拟机的安装以及安装CentOS系统

VMware虚拟机是一款非常受欢迎的虚拟化软件,它可以模拟一台计算机运行在另一台计算机上,从而实现在一台物理机器上运行多个虚拟机的目的。在本文中,我们将会介绍如何安装VMware虚拟机并在其中安装CentOS操作系统。

2023-08-28 10:27:46 189

原创 【设计模式】我终于读懂了策略模式。。。

策略模式(Strategy Pattern)中,定义算法族(策略组),分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户这算法体现了几个设计原则,第一、把变化的代码从不变的代码中分离出来;第二、针对接口编程而不是具体类(定义了策略接口);第三、多用组合/聚合,少用继承(客户通过组合方式使用策略)

2023-08-21 09:46:52 97

原创 【Elasticsearch】spring-boot-starter-data-elasticsearch的使用以及Elasticsearch集群的连接

TestTermQueryBuilder termQueryBuilder = new TermQueryBuilder("name.keyword", "掉头发的王富贵");// 获取实体对象// 获取索引名。

2023-08-17 09:17:56 1298

空空如也

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

TA关注的人

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