
大后端
文章平均质量分 70
后端相关内容
程序员三木
[优快云全栈领域优秀创作者| 阿里云博客社区专家博主] 作为某云服务提供商的后端开发人员,我将在这里与大家简要分享一些实用的开发小技巧。在我的职业生涯中积累了丰富的经验,希望能通过这个博客与大家交流、学习和成长。
展开
-
[工作小技巧] 线上数据库出现死锁怎么排查
在处理数据库死锁的过程中,我们可以从死锁产生中吸取宝贵的经验教训,以避免类似问题再次发生,并提升系统的稳定性和性能。以下是从死锁产生中得到的经验总结:运维纬度持续优化数据库结构:定期优化数据库结构和索引,确保数据库的高效运行,减少锁冲突的可能性。定时监控数据库性能:建立实时监控系统,及时发现死锁问题并快速响应,以保障系统的稳定运行。开发维度优化查询语句:确保查询语句简洁高效,尽量减少事务持有锁的时间,合理使用索引以减少锁的竞争。合理设计事务。原创 2024-12-23 09:00:00 · 1119 阅读 · 0 评论 -
[AIGC] ClickHouse的表引擎介绍
ClickHouse是一种高性能的列式数据库管理系统,支持各种不同的表引擎。表引擎是数据库系统中的核心组件,它定义了数据的存储方式和访问方式。本文将介绍ClickHouse中常见的表引擎及其特点。原创 2024-07-09 22:15:00 · 574 阅读 · 1 评论 -
[AIGC] ClickHouse的表引擎介绍
ClickHouse是一种高性能的列式数据库管理系统,支持各种不同的表引擎。表引擎是数据库系统中的核心组件,它定义了数据的存储方式和访问方式。本文将介绍ClickHouse中常见的表引擎及其特点。原创 2024-07-06 23:55:28 · 742 阅读 · 1 评论 -
[AIGC] ClickHouse分布式表与本地表的区别及如何查询所有本地表记录
在大规模数据处理和分析场景中,ClickHouse是一种高性能的列式数据库管理系统。ClickHouse支持分布式表和本地表两种表类型,本文将介绍这两种表类型的区别,并探讨如何建表以查询所有本地表的记录。原创 2024-07-06 23:52:56 · 1691 阅读 · 0 评论 -
[AIGC] HashMap的扩容与缩容:动态调整容量以提高性能
在创建HashMap时,可以选择自定义的容量和负载因子。通过合理的容量和负载因子的选择,可以在一定程度上优化HashMap的性能。HashMap的扩容和缩容机制对于其性能至关重要。通过动态调整容量,可以降低哈希冲突的概率,提高HashMap的性能表现。同时,合理选择容量和负载因子,也能进一步优化HashMap的性能。了解HashMap的容量调整机制,将有助于优化程序的性能,并提升键值对存储和检索的效率。原创 2024-07-02 22:16:54 · 1208 阅读 · 2 评论 -
[AIGC] Java HashMap原理解析:深入探索键值对存储和检索的内部机制
HashMap是Java中最常用的数据结构之一,它提供了高效的键值对存储和检索能力。本文将深入探索Java HashMap的内部机制,详细介绍其原理和工作流程。原创 2024-07-02 22:00:08 · 563 阅读 · 0 评论 -
[AIGC] 常用的OLAP数据库:为数据分析提供强大的支持
结语:OLAP数据库是数据分析的重要工具,为企业提供了强大的数据处理和查询能力。Snowflake、Apache Kylin和Microsoft Analysis Services是几种常用的OLAP数据库,它们具有各自独特的特点和优势,可以满足不同场景下的数据分析需求。强大的数据处理能力:Analysis Services具有高性能和可扩展的架构,可以处理大规模的数据和复杂的计算操作。安全性和权限管理:Analysis Services提供了丰富的安全性和权限管理功能,可以确保数据的机密性和完整性。原创 2024-07-01 23:47:18 · 758 阅读 · 1 评论 -
[AIGC] StarRocks 快速了解
无论是在大数据分析、实时报表和监控、日志分析还是用户行为分析等领域,星石数据库都为用户提供了强大的数据存储和处理能力,帮助他们更好地理解和利用数据。:星石数据库采用列式存储结构,将每个列单独存储,可针对特定的查询只读取必要的列数据,从而提高查询性能和压缩率。:星石数据库可以用于用户行为分析,帮助企业了解用户的兴趣和行为模式,从而优化产品和服务,提供更好的用户体验。:星石数据库能够提供实时的报表和监控,帮助用户实时了解业务运行状况和数据指标变化,支持实时数据查询和展示。原创 2024-07-01 22:52:45 · 858 阅读 · 0 评论 -
[AIGC] awk 和 sed
Awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或者其它命令的输出。它支持用户自定义函数和动态正则表达式等强大功能。Sed(stream editor)是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。原创 2024-06-30 23:03:53 · 1055 阅读 · 2 评论 -
[AIGC] 定时删除日志文件
例如,我们可以将以下行添加到crontab文件中,使脚本每天午夜运行,舒心用户替换为你的用户名,/path/to/script.bash替换为你的脚本路径。在设定自动删除文件的任务之前,请确保你明白这个脚本的工作原理,并预先测试所有命令,并备份你的文件。命令查找两天前的日志文件并删除它们,然后检查目录的使用情况,如果使用量超过80%,则删除更多的文件。只要目录的使用量超过 80%,它就会继续在指定的目录中查找并删除3天前的日志文件,直到目录的使用量低于80%。命令找出两天前的所有日志文件(文件名以。原创 2024-06-30 22:41:59 · 623 阅读 · 0 评论 -
[AIGC] Shell脚本在工作中的常用用法
Shell脚本是一种为 shell 编写的脚本程序。商业上的 Unix Shell 一般都配备图形界面,主要包括:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh),和修正版的 C Shell(/usr/bin/tcsh)。在这篇文章中,我将重点介绍一些在工作中经常使用的shell用法,如判断文件是否存在,如果不存在如何创建,以及如何递归创建文件。原创 2024-06-30 22:32:26 · 586 阅读 · 0 评论 -
[AIGC] 深入理解 Crontab:定时任务的艺术
Crontab (Cron Table)实际上是 Unix/Linux 下的一种定时任务工具,主要用于系统的定期维护或者定期执行特定的任务。Crontab 具有丰富的功能和灵活的配置,使其成为 Unix/Linux 下最重要的定时任务工具之一。原创 2024-06-30 22:19:05 · 1074 阅读 · 0 评论 -
[AIGC] 深入了解标准与异常重定向输出
在操作系统和编程环境下,有时我们需要更加精细地控制程序的输入或输出过程,这就涉及到了标准输入输出流,以及重定向的概念。接下来,我们将详细介绍标准输出、标准错误输出,以及如何进行输出重定向。原创 2024-06-30 21:44:17 · 1421 阅读 · 0 评论 -
[AIGC] MyBatis 与 MyBatis-Plus:区别与选择
MyBatis 是一个优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。由于其强大的功能和灵活性,开发者可以精细地控制 SQL 语句,从而得到最佳性能。然而,MyBatis 的这种灵活性也意味着开发者需要编写更多的代码。这就是 MyBatis-Plus 的出现,为了填补这个空白,MyBatis-Plus 提供了许多为简化开发而设计的功能,如自动注入、通用 CRUD 操作等。原创 2024-06-28 08:00:00 · 471 阅读 · 1 评论 -
[gpt胡说八道篇] 使用Docker快速启动Doris
Docker 是一种轻量级的虚拟化技术,我们可以利用 Docker 快速的在本地启动一个 Doris 的实例,方便进行开发和测试。下面我们来看一下如何操作。原创 2024-06-27 22:54:36 · 897 阅读 · 0 评论 -
[AIGC] Doris:一款高效的MPP数据仓库引擎
在大数据处理的领域中,Apache Doris(原百度 Palo)是一个高效的MPP(大规模并行处理)数据仓库,最初由百度开发,现在已经成为Apache的孵化项目。(图片取自百度)原创 2024-06-27 22:44:50 · 1411 阅读 · 0 评论 -
[AIGC] Spring Boot 整合 ClickHouse:优雅使用的指南
在大数据处理的场景中,ClickHouse的极高效率和强大功能使其在众多数据库系统中脱领而出。而Spring Boot作为流行的Java框架,与ClickHouse的结合,将使得数据分析如虎添翼。原创 2024-06-25 21:39:47 · 2624 阅读 · 1 评论 -
[AIGC] ClickHouse:一款高性能列式数据库管理系统
ClickHouse的主要特点就在于它是一种列式数据库,这表示数据是按列进行存储的。它与传统的行式数据库(行式数据库按行存储数据)有本质的区别。列式存储的优点是可以大大提高数据的读取速度,非常适合进行分析查询。在实际的使用场景中,ClickHouse通常是作为只读系统或者数据仓库进行应用的。比如当我们涉及到数亿级别数据的分析、统计,甚至实时查询的时候,ClickHouse就能发挥极大的优势。总的来说,ClickHouse是一款高性能的列式数据库管理系统,它使用C++编写,能够实现实时分析数据查询。原创 2024-06-25 21:33:34 · 830 阅读 · 0 评论 -
[AIGC] 数位动态规划详解
数位问题,顾名思义,就是涉及到数字的各个位数的问题。例如:求一个区间内各位数字之和为N的所有数,求一个区间内,各位数字中包含1的数量,求一个区间内,各位数字中不包含13的所有数的数量等。这类问题的直接解决方法存在时间复杂度过高的问题,这个时候就可以使用数位动态规划来解决。数位动态规划是一种对数位问题进行优化求解的方法。核心技巧在于依次考虑数字的每一位数,通过动态规划递推的方式,实现最优解的寻找。原创 2024-06-24 22:42:03 · 845 阅读 · 1 评论 -
[AIGC] Guava Library 中常用的一些工具类详解
是一个功能强大的 Java 库,它提供了大量用于优化代码和提高代码质量的工具。该库提供了许多常用的实用类,下面我们来详细介绍一些在编程应用开发中经常需要的。原创 2024-06-23 22:20:36 · 1251 阅读 · 1 评论 -
[AIGC] 深度优先搜索(DFS)详解及其在LeetCode问题中的应用
深度优先搜索(Depth-First-Search,简称DFS)是一种用于遍历或搜索树或图的算法,其思想是从一个顶点 V0 开始,沿着一条路一直走到底,如果发现不能到达目标解,就退回到上一步的状态,转向另一条路径进行探索,直至找到目标解。原创 2024-06-22 21:03:55 · 577 阅读 · 0 评论 -
[AIGC] MyBatis-Plus中如何使用XML进行CRUD操作?
在MyBatis-Plus中,我们可以非常方便地使用XML进行CRUD(创建、读取、更新、删除)操作。以下是一些基本步骤和示例,希望能帮助到还在初学阶段的您。原创 2024-06-19 22:08:41 · 1532 阅读 · 1 评论 -
[AIGC] Python的Range函数
Python的range()函数是一个内置函数,常常用于编程中生成数列。这个函数可以生成一个整数序列,这个序列通常用在循环中。原创 2024-06-16 16:32:22 · 428 阅读 · 1 评论 -
[AIGC] 深入浅出 Python中的`enumerate`函数
enumerate让我们深入浅出地了解一下Python中的enumerate函数,以及其在Leetcode等问题解决平台上的使用。原创 2024-06-16 13:04:41 · 405 阅读 · 0 评论 -
[AIGC] 解题神器:Python中常用的高级数据结构
Python的语法简洁,库函数丰富,是解题的最佳选择之一。通过理解和运用高级的数据结构,我们不仅可以提升编码效率,而且能写出更简洁、优雅的代码。以上仅仅是Python中的两个常用高级数据结构,还有更多的高级数据结构等着你去发掘。持续学习,持续进步,祝你在解题的道路上一帆风顺!原创 2024-06-16 12:28:50 · 494 阅读 · 0 评论 -
[AIGC] Python在LeetCode刷题中的应用
无论你是编程新手还是老手,Python都是在LeetCode上刷题的不二之选。它的语法简洁、易读,API丰富,非常适合解决LeetCode上的各种问题。下面,我将介绍一些Python的基本语法和常用API,帮你在LeetCode上更加得心应手。原创 2024-06-16 12:21:53 · 1169 阅读 · 0 评论 -
[AIGC] 选择LeetCode刷题的编程语言
对于编程的初学者来说,开始在LeetCode上刷题是提高编程技能和准备算法面试的好选择。然而,LeetCode支持多种编程语言,如Java,Python,C++等,对于新手来说,应该如何选择适当的语言来进行刷题呢?下面我将提供一个清晰的指南,帮助你进行正确的选择。原创 2024-06-16 12:10:25 · 1464 阅读 · 0 评论 -
[AIGC]字典树相关的几个疑问
如果需要保存更多的信息,比如维持一个单词的结束在哪里,或者需要更精细的控制字典树的行为,可能会需要使用特殊字符。例如,在一些复杂的字典树结构中,可能需要用一个特殊字符来表示多个单词的结束。总的来说,字典树节点数据结构的最优设计应当能够满足我们的要求,同时尽可能地减少空间的使用和优化操作的效率。如果需要在字典树中存储额外的信息,比如词频(单词的出现次数),我们可以在字典树节点中添加相应的字段。:字典树在实现时,通常需要在节点中添加一个标志以表示存在一个完整的单词终止于此节点。这种方式简单明了,也易于理解。原创 2024-06-15 23:47:07 · 435 阅读 · 0 评论 -
[AIGC] 深入理解字典树:通过LeetCode题目学习
字典树是一种树形结构,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,字典树的关键字不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子节点路径代表的字符都不同。原创 2024-06-15 23:43:01 · 1064 阅读 · 0 评论 -
[AIGC] 深入理解Java Map接口
Java Map提供了一个存储键值对的数据结构,键是唯一的,但值可以重复。在Java中,Map接口是java.util包中的一部分,它定义了操作映射的方法。本篇文章将介绍Java Map接口中的常用API。原创 2024-06-13 22:18:38 · 1125 阅读 · 2 评论 -
[AIGC] Java List接口详解
List接口是Java集合框架的一部分,它是一个有序的集合,允许包含重复的元素。List接口在java.util包中,它扩展了Collection接口。本篇文章将详细介绍Java中List接口的常用API。原创 2024-06-13 22:12:18 · 1153 阅读 · 0 评论 -
[AIGC] 图论在LeetCode算法题中的应用
在深入研究示例之前,我们需要了解以下一些基本的图论概念。图是由节点(即顶点)和边构成的。每一条边都连接一对顶点。如果边有方向,称之为有向图。反之,如果边没有方向,我们称之为无向图。原创 2024-06-09 21:36:56 · 772 阅读 · 1 评论 -
[AIGC] CompletableFuture的重要方法有哪些?
当CompletableFuture的计算结果完成后,该方法返回一个新的CompletableFuture,这个新的CompletableFuture会对结果进行函数的处理。: 当CompletableFuture的计算结果完成后异步进行如下操作,通过ForkJoinPool.commonPool()作为它的线程池执行后续的Runnable参数。: 当原有的CompletableFuture产出异常时,调用function,输入异常,返回新的值。原创 2024-06-09 21:34:08 · 521 阅读 · 0 评论 -
[AIGC] Java CompletableFuture详解
CompletableFuture是java.util.concurrent包的一个类,该类实现了Future和CompletionStage接口。主要用于表示异步计算的结果,可以理解为一个包含了正在另一个线程中执行的异步操作结果的容器。一般而言,Future接口用作异步计算的结果的引用。它提供了isDone()方法来检查计算是否完成,以及get()方法,在计算完成时获取结果。但是,Future的缺点是,它不能手动让我们完成计算,也不能将Future连结在一起以创建更复杂的异步处理流程。原创 2024-06-09 21:32:27 · 569 阅读 · 0 评论 -
[AIGC] BFS算法详解以及实例应用
BFS(Breadth-First Search,广度优先搜索)是一种用于图的查找算法,可以用来解决许多问题,比如寻找最短路径,检查图是否连通,检查图中是否存在环等。原创 2024-06-09 21:21:41 · 873 阅读 · 0 评论 -
[AIGC] Springboot 自动配置的作用及理由
在详细解释SpringBoot的自动配置之前,先介绍以下背景知识。在创建现代复杂的应用程序时,一个困难的部分是正确地设置您的开发环境。这个问题尤其在Java世界中尤为突出,因为您必须管理和配置许多独立的标准和技术。当我们谈论Spring Boot的自动配置时,我们主要是在谈论根据您的应用程序上下文以及您的类路径自动配置Spring应用程序。原创 2024-06-08 15:10:38 · 698 阅读 · 1 评论 -
[AIGC] SpringBoot的自动配置解析
自动配置正如其名,是Spring Boot的一个功能,用于根据添加的jar依赖自动进行Spring应用的配置。SpringBoot启动时,会自动扫描项目所依赖的JAR包,对于jar包里面的依赖,Spring Boot有默认的配置方式,这样,我们就省去了很多繁琐的配置工作。原创 2024-06-08 15:06:02 · 584 阅读 · 0 评论 -
[AIGC] “从入门到实践:使用Mockito优雅地处理Java单元测试“
注解创建的mock对象自动注入到BookService实例中。针对UserRepository和BookRepository的模拟行为被定义在when函数调用中。当需要测试的接口依赖多个其他的接口时,我们依旧可以使用Mockito来进行处理。这时候,我们通常会使用到Mockito的。这样我们就可以在没有真实数据库环境的情况下,通过模拟预期行为来对BookService进行单元测试了。注解被用于创建BookService的实例,同时将由。在上面的测试案例中,原创 2024-06-06 23:17:43 · 327 阅读 · 1 评论 -
[AIGC] 自定义Spring Boot中BigDecimal的序列化方式
首先,我们需要创建一个自定义序列化器类,这个类需要继承这个类,并重写serialize方法。这个方法的作用就是告诉Jackson如何将Java对象转换为JSON。创建一个类,我们可以将其命名为if(value!= null) {// 将BigDecimal保留3位小数,注意需要四舍五入 BigDecimal decimal = value . setScale(3 , BigDecimal . ROUND_HALF_UP);= null) {原创 2024-06-04 22:26:51 · 2036 阅读 · 2 评论 -
[AIGC] @Component与@Bean的区别详解
在Spring框架中,@Component和@Bean常常被用来进行依赖注入,让Spring自身管理对象的生命周期。然而,尽管它们将目标类标记为Spring容器中的构件,但是二者的应用场景和工作方式存在重要的区别。原创 2024-06-04 21:54:46 · 499 阅读 · 0 评论