自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术路上的探险家

我是技术路上的探险家,喜欢在技术领域中不断探索和尝试新鲜事物。作为一名有着多年的实践经验和独到的见解。在我的博客中,您可以阅读到我的技术文章、项目经验、实践分享等内容,也可以留言互动,相互交流、分享、成长。让我们一起在探索技术的路上前行。

  • 博客(67)
  • 收藏
  • 关注

原创 「Kafka」Kafka生产数据和消费数据(三)

把当前的DOS窗口当成Kafka的客户端,那么进行操作前,就需要连接服务器,这里的参数就表示服务器的连接方式,因为我们在本机启动Kafka服务进程,且Kafka默认端口为9092,所以此处,后面接的参数值为localhost:9092,用空格隔开。把当前的DOS窗口当成Kafka的客户端,那么进行操作前,就需要连接服务器,这里的参数就表示服务器的连接方式,因为我们在本机启动Kafka服务进程,且Kafka默认端口为9092,所以此处,后面接的参数值为localhost:9092,用空格隔开。

2024-04-25 16:59:10 1193 7

原创 「Kafka」核心概念必知必会(四)

控制器对象启动后,会向事件管理器发送Startup事件,事件处理线程接收到事件后会通过ZK客户端向ZK申请 /controller 节点,申请成功后,执行当前节点成为Controller的一些列操作。所以每一个服务节点都是一个broker,而且在Kafka集群中,为了区分不同的服务节点,每一个broker都应该有一个不重复的全局ID,称之为。,那么会完成管理者的初始化操作,并建立和其他Broker之间的数据通道接收各种事件,进行封装后交给事件管理器,并定义了process方法,用于真正处理各类事件。

2024-04-25 16:58:56 795 3

原创 「Kafka」Kafka单机和集群安装(二)

集群启动命令后,会打开多个黑窗口,每一个窗口都是一个kafka服务,请不要关闭,一旦关闭,对应的kafka服务就停止了。如果启动过程报错,主要是因为zookeeper和kafka的同步问题,请先执行cluster-clear.cmd文件,再执行cluster.cmd文件即可。因为Kafka启动前,必须先启动ZooKeeper,并且Kafka集群中有多个节点需要启动,所以启动过程比较繁琐,这里我们将启动的指令进行封装。在cluster文件夹下创建cluster.cmd批处理文件,用于启动kafka集群。

2024-04-25 16:58:38 1443 4

原创 「Kafka」Kafka理论知识解读(一)

Kafka® 用于构建实时的数据管道和流式的app.它可以水平扩展,高可用,速度快

2024-04-18 11:52:55 958

原创 「sentinel」流量控制组件的应用

面向分布式、多语言异构化服务架构的流量治理组件

2024-04-17 15:25:38 1142

原创 「seata」分布式事务seata部署及应用(二 )

分布式事务

2024-04-12 16:02:48 948

原创 「MySQL」必知的Mysql索引失效场景

索引( index)是帮助Mysql高效获取数据的数据结构(有序)最典型的例子就是查新华字典,通过查找目录快速定位到要查找的字。

2024-04-09 11:10:57 894

原创 「Seata」分布式事务解决方案(一)

Seata 是由阿里巴巴集团发起并开源的分布式事务解决方案。Seata 是一个开源的分布式事务解决方案,旨在解决分布式环境下的事务一致性和可靠性问题。

2024-04-08 14:11:59 706

原创 「Spring」Spring Bean的生命周期

Spring Bean的生命周期

2024-04-07 10:28:24 838 2

原创 「Nginx」Nginx配置详解

方向代理、正向代理

2024-03-21 16:04:00 318

原创 「MyBatis」MyBatis面试宝典:全面解析常见问题和难点

它是一款半自动的ORM持久层框架,具有较高的SQL灵活性,支持高级映射(一对一,一对多),动态SQL,延迟加载和缓存等特性。

2024-03-07 10:43:39 844

原创 「Java」并发编程中的AQS(AbstractQueuedSynchronizer)详解

AQS是一个抽象类,可以用来构造锁和同步类,如ReentrantLock,Semaphore,CountDownLatch,CyclicBarrier

2024-03-04 16:39:06 953

原创 「MySQL」深入理解MySQL中常用的SQL函数

函数,你可以轻松地访问结果集中当前行之后的行的数据,从而执行各种分析和计算操作。在之前的示例中,我展示了如何在查询中使用。它可以帮助你在查询中访问结果集中下一个行的数据,而无需实际改变结果集的顺序。关键字,可以省略连接条件的重复列名,系统会自动匹配这两个表中具有相同名称的列进行连接,不能指定多个列。函数的作用是从一组值中返回第一个非空(NULL)的值。举个例子,如果我们有一个表格包含了学生的姓名和昵称,但有些学生没有昵称,我们可以使用。操作连接两个表时,如果这两个表中的连接列具有相同的名称,可以使用。

2024-02-27 20:04:40 678

原创 《Spring Cloud Gateway 技术要点》

12种路由谓词。

2023-12-20 14:40:27 684

原创 《如何定义一个Java泛型类》

泛型提供了一种在编写代码时指定类型的机制,以增强代码的类型安全性和重用性

2023-11-17 10:31:37 123

原创 《如何为Java程序配置JVM参数》

这些选项通常被称为“非稳定”选项,因为它们可能在不同的JVM版本中以及不同的操作系统上表现不同,甚至在未来的版本中可能会被移除。这里提供的内容是一个 Systemd 服务单元文件的片段,用于定义一个名为 “community-intensive-task” 的系统服务。:这里定义了服务的描述,即它是 “community-intensive-task” 服务。是系统日志服务的一个目标单元,这意味着该服务将在系统日志服务之后启动。:这个部分定义了系统服务单元的基本属性,包括描述和启动顺序等信息。

2023-11-15 12:39:29 145

原创 建造者模式(Builder Pattern)

创建者模式又叫建造者模式,是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。创建者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加以抽象,通过子类继承或者重载的方式,动态的创建具有复合属性的对象何时使用:一些基本部件不会变,而其组合经常变化的时候。

2023-11-10 09:06:23 790

原创 「笔记」OfferCoder:剑指Offer刷题笔记

在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的。例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。内部使用字符数组来存储字符串数据,并提供了一系列的方法来进行修改操作,而不需要频繁地创建新的字符串对象。的特性,它通常用于动态构建字符串,例如拼接长字符串或循环中的字符串累加。

2023-09-14 11:18:19 112 1

原创 「Java」Java面试宝典:全面覆盖常见问题和难点解析

什么是哈希表?所需的列都包含在索引中,无需回表操作即可获取所有需要的数据,速度更快。在Mysql中,什么是回表,什么是覆盖索引,索引下推?基本数据类型有8个,可以分为4个小类,分别是整数类型浮点类型字符类型(char)、布尔类型(boolean)1字节 (8位):byte(0), boolean(false)2字节 (16位):short(0), char(‘\u0000’)4字节 (32位):in(0)t, float(0.0L)

2023-09-14 11:17:30 174

原创 「Docker」面试全攻略:深入解析Docker技术栈

Docker是一个容器化平台,用于构建、发布和管理应用程序的轻量级容器。

2023-09-14 11:16:25 305

原创 「MySQL」MySQL面试题全解析:常见问题与高级技巧详解

数据库是一个组织和存储数据的集合,可通过各种方式对数据进行访问、管理和操作

2023-09-04 15:12:15 869

原创 「Redis」Redis面试全攻略:常见问题与高级技巧解析

Redis面试全攻略:常见问题与高级技巧解析

2023-09-04 10:38:56 117

原创 「Docker」《入门Docker:解放部署烦恼,提高开发效率》

Docker 是一种开源的应用容器化平台,它通过利用操作系统级虚拟化技术,将应用程序及其所有依赖项打包到一个独立的、可移植的容器中。这个容器包含了应用程序运行所需的所有组件,例如代码、运行时环境、库文件、配置文件等。Docker 提供了一套简单而强大的工具和接口,使得开发人员能够在不同的环境中快速部署、交付和运行应用程序。镜像(Image):镜像是一个只读的软件包,它包含了应用程序运行所需的所有文件和设置。镜像可以看作是容器的模板。一个镜像可以被用来创建多个容器。

2023-08-30 15:21:03 1140

原创 「Java」《Spring框架实战:提升开发效率的实用技巧与经验总结》

Spring框架是一个开源的Java应用程序开发框架,旨在简化企业级Java应用程序的开发。它提供了一套全面的解决方案,涵盖了从基本的IoC(控制反转)和DI(依赖注入)到各种企业级应用开发所需的模块和功能。Spring框架的主要特点和优势包括:轻量级:Spring框架采用轻量级设计理念,不依赖于任何其他框架或容器,只需要JDK就可以运行。IoC(控制反转)和DI(依赖注入):Spring框架通过IoC容器管理Java对象之间的依赖关系,实现了对象的松耦合和可复用性。

2023-08-30 11:01:02 378

原创 「Java」《深度解析Java Stream流的优雅数据处理》

Stream流是Java 8引入的一种用于处理集合数据的抽象概念。它提供了一种更简洁、优雅的方式来对集合进行操作和转换,避免了繁琐的迭代和临时变量的使用。通过使用Stream,我们可以以声明式的方式来处理数据,将关注点从如何操作转变为要做什么操作。在Stream的概念中,数据被视为一系列的项(elements),可以是数组、集合、I/O通道等。Stream流的设计思想源自函数式编程的概念,并提供了丰富的函数式操作方法,如过滤、映射、排序等。这些操作方法可以通过链式调用的方式组合使用,形成一个数据处理管道。

2023-08-24 22:08:45 494

原创 「Java」《深入解析Java多线程编程利器:CompletableFuture》

多线程编程是指在一个程序中同时执行多个线程来提高系统的并发性和响应性。在现代计算机系统中,多线程编程已经成为开发者日常工作的一部分。需求:提高系统的性能:通过同时执行多个线程,可以利用多核处理器的优势,实现任务的并行执行,从而提高系统的处理速度和吞吐量。改善用户体验:多线程编程可以使图形界面或交互式应用程序更加流畅和响应,避免长时间的等待和阻塞。实现后台任务:多线程可以用于执行后台任务,如数据加载、网络通信、文件写入等,提高用户界面的反应速度,同时保持后台任务的进行。

2023-08-23 19:21:09 170

原创 「Java」《Java集合框架详解:掌握常用集合类,提升开发效率》

Java 集合框架是 Java 编程中不可或缺的一部分。它提供了一组强大的数据结构和算法,用于存储、操作和处理对象数据。本文将深入探讨 Java 集合框架的核心概念,介绍常用的集合接口和实现类,并提供实际应用示例,帮助读者更好地理解和应用集合框架,提升开发效率。解释集合框架的基本目标和设计思想。层次结构图示,展示各个集合接口之间的关系。概括 Java 集合框架的重要性和应用价值。强调继续学习和探索更多集合类和算法的重要性。

2023-08-23 18:57:36 336

原创 「Java」《深入理解Java反射及其应用实例》

它提供了一种途径,让我们在编写代码时不需要明确指定类名,而是通过运行时获取类的相关信息并进行操作,这为程序的灵活性和扩展性带来了很大的便利。本文深入探讨了Java反射机制的原理和应用实例,从配置文件解析到ORM框架的实现,展示了反射在实际开发中的价值和应用场景。希望通过本文的介绍能够加深对Java反射机制的理解,并能在合适的场景中灵活运用,提升代码的灵活性和开发效率。而反射机制提供了一种动态创建对象的方式,即在运行时根据类的信息动态地创建对象,而不需要在编译期间明确知道类的类型。方法创建了对象实例。

2023-08-16 22:33:07 144

原创 「Node」下载安装配置node.js

默认情况下,npm的官方镜像源可能在某些地区访问较慢。您可以选择切换到其他镜像源以提高下载速度。您已经成功下载、安装和配置Node.js。现在您可以开始使用Node.js开发和运行JavaScript应用程序了。如果您能够看到Node.js和npm的版本号,则表示安装成功。

2023-08-16 10:25:18 960

原创 「Java」jar包为什么可以直接启动

Java是一门跨平台的编程语言,它提供了一种方便的方式来打包和执行Java应用程序,即可执行的JAR(Java Archive)文件。本文将探讨为什么Java的JAR包可以直接启动,并解释其原理。

2023-08-16 08:59:48 258

原创 「Jenkins」《Jenkins的安装与使用,轻松构建自动化工作流程》

Jenkins是一个开源的持续集成和交付工具,用于自动化构建、测试和部署软件项目。它提供了一个易于使用的Web界面,帮助开发团队自动化构建、测试和交付应用程序。Jenkins 具有以下主要特点和功能自动化构建:可以通过配置构建任务来自动构建项目代码,包括编译、打包、测试等过程。持续集成:可以与版本控制系统(如Git、SVN等)集成,实时监测代码变更,并触发自动构建和测试。插件扩展:Jenkins 提供了大量的插件,用于扩展其功能,支持各种不同的构建、测试和部署场景。可视化界面。

2023-08-10 23:25:08 260 1

原创 「VMware」《使用 VMware 在 Windows 上搭建 Linux 系统的完整指南》

VMware是一家提供虚拟化和云计算软件和服务的公司。他们的产品包括VMware Workstation、VMware Fusion、VMware vSphere等,可以在个人电脑、服务器和数据中心等环境中创建和管理虚拟机。

2023-08-09 15:00:13 710

原创 「K8s」《Kubernetes集群搭建指南:高效优化与最佳实践》

Kubernetes(通常称为K8s)是一个开源的容器编排平台,用于自动化应用程序部署、扩展和管理。它提供了一个强大的工具集,用于管理容器化应用程序的生命周期,使开发者和运维团队能够更好地管理分布式系统

2023-08-09 10:00:14 383

原创 如何解决 MyBatis-Plus 的 updateById 方法不更新 null 值属性的问题

如何解决 MyBatis-Plus 的 updateById 方法不更新 null 值属性的问题

2023-08-04 10:08:49 2599 1

原创 「问题」如何解决 MyBatis 中的 if 标签无法识别参数为 0 的问题

如何解决 MyBatis 中的 if 标签无法识别参数为 0 的问题

2023-07-27 11:50:45 1250

原创 「JVM」Full GC和Minor GC、Major GC

Full GC(Full Garbage Collection)是Java虚拟机(JVM)中的一种垃圾回收操作。它是指对整个堆内存进行回收,包括新生代和老年代。在Java中,垃圾回收器通常会将堆内存划分为不同的区域,如新生代和老年代。当新生代空间不足时,会触发Minor GC,只清理新生代内存。而当老年代空间不足或者为了整理碎片化的内存,会触发Full GC,对整个堆内存进行回收。Full GC 可能会导致较长的停顿时间,因为它需要扫描整个堆内存,标记可回收对象,并进行内存整理。

2023-07-27 11:26:56 3240

原创 「JSON对象互转工具」JSON转对象、对象转JSON

Fastjson、ObjectMapper 和 Gson 都是流行的JSON 解析库,用于在 Java 中处理 JSON 数据。FastjsonFastjson 是一个高性能的 JSON 解析库,具有快速解析和序列化的特点。它支持将 Java 对象转换为 JSON 字符串,以及将 JSON 字符串转换为 Java 对象。Fastjson 提供了丰富的功能和灵活的配置选项,可以满足各种复杂的 JSON 处理需求。它具有广泛的应用和活跃的社区支持,适用于对性能要求较高的场景。

2023-07-27 09:43:14 3489

原创 「JVM」性能调优工具

JVM,全称为Java虚拟机(Java Virtual Machine),是Java编程语言的核心运行环境。它是一个可以在不同平台上运行的虚拟计算机,可以执行Java字节码(Java bytecode)。

2023-07-26 13:06:46 774

原创 「问题」Mapper层无法正确映射子查询的结果的解决办法

Mapper层无法正确映射子查询的结果的解决办法

2023-07-25 09:36:44 419 2

原创 「JVM」垃圾回收算法

垃圾回收是为了解决动态内存管理的问题

2023-07-17 10:31:21 117

elasticSearch查询语句DSL

在这篇资源中,我们将详细介绍如何使用DSL来构建复杂的查询语句,以满足各种搜索需求。首先,我们将学习DSL的基本结构和语法规则,包括查询、过滤器、聚合和排序等核心概念。通过深入了解DSL的语法,您将能够灵活地组合不同类型的查询条件,以实现精准的数据检索。接下来,我们将探讨DSL的高级特性和用法。我们将讨论全文搜索、模糊查询、正则表达式查询和范围查询等常用查询方式,以及它们在DSL中的具体实现。同时,我们还将介绍布尔查询、should查询和must_not查询等与逻辑关系相关的查询语句,帮助您更好地理解DSL的灵活性和强大之处。此外,我们还将深入讨论聚合操作在DSL中的应用。通过使用聚合查询,您可以对检索结果进行分组、统计和计算等操作,以获取更全面的数据分析结果。我们将详细介绍诸如terms聚合、date_histogram聚合和range聚合等不同类型的聚合操作,帮助您掌握DSL在数据分析方面的强大功能。最后,我们将分享一些实用技巧和最佳实践,帮助您充分发挥DSL在Elasticsearch中的优势。我们将探讨性能优化、查询调试和索引优化等关键主题,以提升查询效率和搜索准确性。

2023-06-27

空空如也

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

TA关注的人

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