- 博客(71)
- 收藏
- 关注
原创 「Kafka」Kafka消息可靠性和重复消费问题(五)
在 Kafka 中,实现消息的和是保证数据一致性和系统稳定性的关键。Kafka 提供了多种机制来实现这两个目标。
2024-10-08 14:56:55 1048
原创 Vue 3 教程:核心知识
2020年9月18日,Vue.js发布版3.0One Piece(n4800+次提交40+个RFC600+次PR300+贡献者3.4.27setup是Vue3中一个新的配置项,值是一个函数,它是“表演的舞台,组件中所用到的:数据、方法、计算属性、监视…等等,均配置在setup中。setup函数返回的对象中的内容,可直接在模板中使用。
2024-05-29 17:45:43 1130 1
原创 Vue 3 教程:入门指南
在本教程中,我们介绍了 Vue 3 的基本概念和使用方法,包括如何初始化项目、创建响应式数据、使用计算属性和侦听器,以及使用组合式 API。希望通过这个教程,你能对 Vue 3 有一个初步的了解,并能开始构建自己的 Vue 3 应用。
2024-05-27 09:49:09 544
原创 「Kafka」Kafka生产数据和消费数据(三)
把当前的DOS窗口当成Kafka的客户端,那么进行操作前,就需要连接服务器,这里的参数就表示服务器的连接方式,因为我们在本机启动Kafka服务进程,且Kafka默认端口为9092,所以此处,后面接的参数值为localhost:9092,用空格隔开。把当前的DOS窗口当成Kafka的客户端,那么进行操作前,就需要连接服务器,这里的参数就表示服务器的连接方式,因为我们在本机启动Kafka服务进程,且Kafka默认端口为9092,所以此处,后面接的参数值为localhost:9092,用空格隔开。
2024-04-25 16:59:10 2208 8
原创 「Kafka」核心概念必知必会(四)
控制器对象启动后,会向事件管理器发送Startup事件,事件处理线程接收到事件后会通过ZK客户端向ZK申请 /controller 节点,申请成功后,执行当前节点成为Controller的一些列操作。所以每一个服务节点都是一个broker,而且在Kafka集群中,为了区分不同的服务节点,每一个broker都应该有一个不重复的全局ID,称之为。,那么会完成管理者的初始化操作,并建立和其他Broker之间的数据通道接收各种事件,进行封装后交给事件管理器,并定义了process方法,用于真正处理各类事件。
2024-04-25 16:58:56 886 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 2098 4
原创 「MySQL」必知的Mysql索引失效场景
索引( index)是帮助Mysql高效获取数据的数据结构(有序)最典型的例子就是查新华字典,通过查找目录快速定位到要查找的字。
2024-04-09 11:10:57 1022
原创 「Seata」分布式事务解决方案(一)
Seata 是由阿里巴巴集团发起并开源的分布式事务解决方案。Seata 是一个开源的分布式事务解决方案,旨在解决分布式环境下的事务一致性和可靠性问题。
2024-04-08 14:11:59 778
原创 「MyBatis」MyBatis面试宝典:全面解析常见问题和难点
它是一款半自动的ORM持久层框架,具有较高的SQL灵活性,支持高级映射(一对一,一对多),动态SQL,延迟加载和缓存等特性。
2024-03-07 10:43:39 932
原创 「Java」并发编程中的AQS(AbstractQueuedSynchronizer)详解
AQS是一个抽象类,可以用来构造锁和同步类,如ReentrantLock,Semaphore,CountDownLatch,CyclicBarrier
2024-03-04 16:39:06 1160
原创 「MySQL」深入理解MySQL中常用的SQL函数
函数,你可以轻松地访问结果集中当前行之后的行的数据,从而执行各种分析和计算操作。在之前的示例中,我展示了如何在查询中使用。它可以帮助你在查询中访问结果集中下一个行的数据,而无需实际改变结果集的顺序。关键字,可以省略连接条件的重复列名,系统会自动匹配这两个表中具有相同名称的列进行连接,不能指定多个列。函数的作用是从一组值中返回第一个非空(NULL)的值。举个例子,如果我们有一个表格包含了学生的姓名和昵称,但有些学生没有昵称,我们可以使用。操作连接两个表时,如果这两个表中的连接列具有相同的名称,可以使用。
2024-02-27 20:04:40 969
原创 《如何为Java程序配置JVM参数》
这些选项通常被称为“非稳定”选项,因为它们可能在不同的JVM版本中以及不同的操作系统上表现不同,甚至在未来的版本中可能会被移除。这里提供的内容是一个 Systemd 服务单元文件的片段,用于定义一个名为 “community-intensive-task” 的系统服务。:这里定义了服务的描述,即它是 “community-intensive-task” 服务。是系统日志服务的一个目标单元,这意味着该服务将在系统日志服务之后启动。:这个部分定义了系统服务单元的基本属性,包括描述和启动顺序等信息。
2023-11-15 12:39:29 198
原创 建造者模式(Builder Pattern)
创建者模式又叫建造者模式,是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。创建者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加以抽象,通过子类继承或者重载的方式,动态的创建具有复合属性的对象何时使用:一些基本部件不会变,而其组合经常变化的时候。
2023-11-10 09:06:23 833
原创 「笔记」OfferCoder:剑指Offer刷题笔记
在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的。例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。内部使用字符数组来存储字符串数据,并提供了一系列的方法来进行修改操作,而不需要频繁地创建新的字符串对象。的特性,它通常用于动态构建字符串,例如拼接长字符串或循环中的字符串累加。
2023-09-14 11:18:19 226 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 548
原创 「Docker」《入门Docker:解放部署烦恼,提高开发效率》
Docker 是一种开源的应用容器化平台,它通过利用操作系统级虚拟化技术,将应用程序及其所有依赖项打包到一个独立的、可移植的容器中。这个容器包含了应用程序运行所需的所有组件,例如代码、运行时环境、库文件、配置文件等。Docker 提供了一套简单而强大的工具和接口,使得开发人员能够在不同的环境中快速部署、交付和运行应用程序。镜像(Image):镜像是一个只读的软件包,它包含了应用程序运行所需的所有文件和设置。镜像可以看作是容器的模板。一个镜像可以被用来创建多个容器。
2023-08-30 15:21:03 1513
原创 「Java」《Spring框架实战:提升开发效率的实用技巧与经验总结》
Spring框架是一个开源的Java应用程序开发框架,旨在简化企业级Java应用程序的开发。它提供了一套全面的解决方案,涵盖了从基本的IoC(控制反转)和DI(依赖注入)到各种企业级应用开发所需的模块和功能。Spring框架的主要特点和优势包括:轻量级:Spring框架采用轻量级设计理念,不依赖于任何其他框架或容器,只需要JDK就可以运行。IoC(控制反转)和DI(依赖注入):Spring框架通过IoC容器管理Java对象之间的依赖关系,实现了对象的松耦合和可复用性。
2023-08-30 11:01:02 764
原创 「Java」《深度解析Java Stream流的优雅数据处理》
Stream流是Java 8引入的一种用于处理集合数据的抽象概念。它提供了一种更简洁、优雅的方式来对集合进行操作和转换,避免了繁琐的迭代和临时变量的使用。通过使用Stream,我们可以以声明式的方式来处理数据,将关注点从如何操作转变为要做什么操作。在Stream的概念中,数据被视为一系列的项(elements),可以是数组、集合、I/O通道等。Stream流的设计思想源自函数式编程的概念,并提供了丰富的函数式操作方法,如过滤、映射、排序等。这些操作方法可以通过链式调用的方式组合使用,形成一个数据处理管道。
2023-08-24 22:08:45 637
原创 「Java」《深入解析Java多线程编程利器:CompletableFuture》
多线程编程是指在一个程序中同时执行多个线程来提高系统的并发性和响应性。在现代计算机系统中,多线程编程已经成为开发者日常工作的一部分。需求:提高系统的性能:通过同时执行多个线程,可以利用多核处理器的优势,实现任务的并行执行,从而提高系统的处理速度和吞吐量。改善用户体验:多线程编程可以使图形界面或交互式应用程序更加流畅和响应,避免长时间的等待和阻塞。实现后台任务:多线程可以用于执行后台任务,如数据加载、网络通信、文件写入等,提高用户界面的反应速度,同时保持后台任务的进行。
2023-08-23 19:21:09 641
原创 「Java」《Java集合框架详解:掌握常用集合类,提升开发效率》
Java 集合框架是 Java 编程中不可或缺的一部分。它提供了一组强大的数据结构和算法,用于存储、操作和处理对象数据。本文将深入探讨 Java 集合框架的核心概念,介绍常用的集合接口和实现类,并提供实际应用示例,帮助读者更好地理解和应用集合框架,提升开发效率。解释集合框架的基本目标和设计思想。层次结构图示,展示各个集合接口之间的关系。概括 Java 集合框架的重要性和应用价值。强调继续学习和探索更多集合类和算法的重要性。
2023-08-23 18:57:36 377
原创 「Java」《深入理解Java反射及其应用实例》
它提供了一种途径,让我们在编写代码时不需要明确指定类名,而是通过运行时获取类的相关信息并进行操作,这为程序的灵活性和扩展性带来了很大的便利。本文深入探讨了Java反射机制的原理和应用实例,从配置文件解析到ORM框架的实现,展示了反射在实际开发中的价值和应用场景。希望通过本文的介绍能够加深对Java反射机制的理解,并能在合适的场景中灵活运用,提升代码的灵活性和开发效率。而反射机制提供了一种动态创建对象的方式,即在运行时根据类的信息动态地创建对象,而不需要在编译期间明确知道类的类型。方法创建了对象实例。
2023-08-16 22:33:07 292
原创 「Node」下载安装配置node.js
默认情况下,npm的官方镜像源可能在某些地区访问较慢。您可以选择切换到其他镜像源以提高下载速度。您已经成功下载、安装和配置Node.js。现在您可以开始使用Node.js开发和运行JavaScript应用程序了。如果您能够看到Node.js和npm的版本号,则表示安装成功。
2023-08-16 10:25:18 1008
原创 「Java」jar包为什么可以直接启动
Java是一门跨平台的编程语言,它提供了一种方便的方式来打包和执行Java应用程序,即可执行的JAR(Java Archive)文件。本文将探讨为什么Java的JAR包可以直接启动,并解释其原理。
2023-08-16 08:59:48 430
原创 「Jenkins」《Jenkins的安装与使用,轻松构建自动化工作流程》
Jenkins是一个开源的持续集成和交付工具,用于自动化构建、测试和部署软件项目。它提供了一个易于使用的Web界面,帮助开发团队自动化构建、测试和交付应用程序。Jenkins 具有以下主要特点和功能自动化构建:可以通过配置构建任务来自动构建项目代码,包括编译、打包、测试等过程。持续集成:可以与版本控制系统(如Git、SVN等)集成,实时监测代码变更,并触发自动构建和测试。插件扩展:Jenkins 提供了大量的插件,用于扩展其功能,支持各种不同的构建、测试和部署场景。可视化界面。
2023-08-10 23:25:08 638 1
原创 「VMware」《使用 VMware 在 Windows 上搭建 Linux 系统的完整指南》
VMware是一家提供虚拟化和云计算软件和服务的公司。他们的产品包括VMware Workstation、VMware Fusion、VMware vSphere等,可以在个人电脑、服务器和数据中心等环境中创建和管理虚拟机。
2023-08-09 15:00:13 1593
原创 「K8s」《Kubernetes集群搭建指南:高效优化与最佳实践》
Kubernetes(通常称为K8s)是一个开源的容器编排平台,用于自动化应用程序部署、扩展和管理。它提供了一个强大的工具集,用于管理容器化应用程序的生命周期,使开发者和运维团队能够更好地管理分布式系统
2023-08-09 10:00:14 998
原创 如何解决 MyBatis-Plus 的 updateById 方法不更新 null 值属性的问题
如何解决 MyBatis-Plus 的 updateById 方法不更新 null 值属性的问题
2023-08-04 10:08:49 3749 2
原创 「问题」如何解决 MyBatis 中的 if 标签无法识别参数为 0 的问题
如何解决 MyBatis 中的 if 标签无法识别参数为 0 的问题
2023-07-27 11:50:45 1541
原创 「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 6285
elasticSearch查询语句DSL
2023-06-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人