切换语言为:繁体

提升代码调试技巧:从思维到实践

摘要调试是软件开发中的关键部分,它不仅帮助开发者找到代码中的错误,还能提高代码质量和开发效率。本文将从调试工具的使用、错误信息的解读、问题定位以及如何培养高效的调试思维等方面,系统地介绍提升调试技巧的方法,并通过实际案例展示调试过程中...

可靠性、可用性以及可维护性的区别?

我们生活在一个可靠性的时代,用户依赖于对服务的一致访问。在相互竞争的服务之间进行选择时,对用户来说,没有比可靠性更重要的特性了。但是可靠性是什么意思呢?为了回答这个问题,我们将根据可靠性工程中的其他度量来分解可靠性:可用性和可维护性。...

Kafka中的key有的作用

我们在使用 Kafka 时,最简单、最常用的方式是只设置 topic(主题)和 value(消息体),如下所示: 这样的话获取消息的代码也很简单,如下所示:java代码解读复制代码@KafkaListener(topics = "...

SPI跟API对比着了解更容易懂!

SPI跟API对比着了解更容易懂!

前言在讨论什么是SPI前,先回忆一下什么是API什么是API?当实现方提供了接口和实现,我们可以通过调用实现方的接口从而拥有实现方给我们提供的能力,这就是 API。这种情况下,接口和实现都是放在实现方的包中。调用方通过接口调用实现方的...

分享一款能够生成 Markdown 表格的 B...

今天分享一个很实用的 bash 脚本,可以通过手动提供单元格内容和列数或者将带有分隔符的文件(如 CSV、TSV 文件)转换为 Markdown 表格。源代码在文末哦!原文链接:josh.fail/2022/pure-b…具体功能:手...

如何开发一款自己的IntelliJ IDEA插件

IntelliJ IDEA是JetBrains旗下的一款功能强大的Java集成开发环境(IDE),以其强大的插件支持和灵活的定制功能著称。通过开发插件,开发者能够为IDEA增加定制功能,提升生产力,并满足团队特定的需求。本指南将带你深...

深入分析与解决方案:缓存与数据库双写不一致问题

key重建优化开发人员通常使用“缓存+过期时间”的策略,以便既能加速数据读写,又能确保数据的定期更新。这种模式基本上能够满足绝大部分需求。然而,当以下两个问题同时出现时,可能会对应用系统造成严重的影响:热点 key 的出现:当前的 k...

高版本gradle集成aspectj

之前低版本gradle集成aspectj可以成功,但是最近用gradle7.3以上去集成时一直报错,提示找不到插件。尝试了很久,最终找到了解决方案,这里记录下。由于android-aspectj 原作者不维护了,现在高版本的支持插件是...

40亿订单号,如何高效去重?

40亿订单号,如何高效去重?

前言首先我们来看看如果要存储40亿QQ号需要多少内存?我们使用无符号整数存储,一个整数需要4个字节,那么40亿需要4*4000000000/1024/1024/1024≈15G,在业务中我们往往需要更多的空间。而且在Java中并不存在...

学会使用 Lombok 让你的代码身轻如燕

学会使用 Lombok 让你的代码身轻如燕

今天让我们探讨一下如何利用 Lombok 工具来提升 Java 开发中的效率。提到 Java,很多人的第一反应就是臃肿,这主要是因为在日常编程中,我们不得不编写许多重复的代码,例如对类的属性写的 Setter、Getter 方法,下面...