Java开发中不要使用受检异常

1 月 23 日
阅读 10 分钟
180
Java是唯一(主流)实现了受检异常概念的编程语言。一开始,受检异常就是争议的焦点。在当时被视为一种创新概念(Java于1996年推出),如今却被视不良实践。
封面图

2023全栈开发人员职业路线图

2023-05-06
阅读 3 分钟
572
0. 全栈开发人员职业路线图全栈开发人员是IT行业中薪资最高的职业之一。如果您想成为一名全栈开发人员,以下是2023年全栈开发人员路线图上的十一个步骤:掌握敏捷开发和Scrum学习浏览器技术,如HTML和CSS熟练掌握JavaScript或TypeScript了解Git及其CI/CD生态系统具备移动应用程序开发能力使用RESTful API交换JSON数据使...
封面图

JUnit 5 参数化测试

2023-04-25
阅读 12 分钟
576
JUnit 5参数化测试目录设置我们的第一个参数化测试参数来源@ValueSource@NullSource & @EmptySource@MethodSource@CsvSource@CsvFileSource@EnumSource@ArgumentsSource参数转换参数聚合奖励总结如果您正在阅读这篇文章,说明您已经熟悉了JUnit。让我为您概括一下JUnit——在软件开发中,我们开发人员编写的代码可能是设计...
封面图

Java最佳实践

2023-04-23
阅读 9 分钟
617
计算机编程中,最佳实践是许多开发人员遵循的一组非正式规则,以提高软件质量、可读性和可维护性。在应用程序长时间保持使用的情况下,最佳实践尤其有益,这样它最初是由一个团队开发的,然后由不同的人组成的维护团队进行维护。
封面图

重新学习Java线程原语

2023-04-21
阅读 5 分钟
737
Synchronized曾经是一个革命性的技术,在当前仍然有重要的用途。但是,现在是时候转向更新的Java线程原语,同时重新考虑我们的核心逻辑。
封面图

每日 Scrum 与站立会议:有什么区别?

2023-04-14
阅读 2 分钟
570
“站立会议” 这个术语被认为是排外的,因为它假定所有出席者都能站立。这是一种身体健全主义,组织应该停止使用它。然而,每日Scrum和站立会议之间还有其他值得注意的区别,超出了术语的敏感性。
封面图

关键的Java JVM选项和参数

2023-04-14
阅读 17 分钟
619
1. 关键的Java JVM选项和参数让我们来看看在Java环境中可以配置的21个最重要的JVM选项和参数。-Xms:将设置JVM的初始堆大小。-Xmx:将设置JVM的最大堆大小。-Xss:将设置每个线程的内部使用的线程堆栈的大小。-XX:+UseCompressedOops:启用使用压缩对象指针以减少内存使用的功能。-XX:+UseThreadPriorities:将指示JVM...

使用Spring Data Redis 发布订阅消息

2022-12-13
阅读 3 分钟
1.4k
使用 Spring Data Redis 发布订阅消息1. 概述在 Redis 中,发布者并没有将消息发送给特定的订阅者。是将发布的消息被划分为通道,并不知道会有哪些订阅者(如果有的话)。类似地,订阅者表示对一个或多个主题感兴趣,并且只接收感兴趣的消息,而不知道有哪些发布者(如果有的话)。发布者和订阅者的这种解耦可以实现更大的可...
封面图

敏捷开发与DevOps的对比

2022-07-26
阅读 3 分钟
819
敏捷与 DevOps 之间的主要区别在于:敏捷是关于如何开发和交付软件的哲学,而 DevOps 则描述了如何通过使用现代工具和自动化流程来持续部署代码。
封面图

搭建 Restful Web 服务

2022-03-09
阅读 9 分钟
1.5k
  REST 全称是 Representational State Transfer,中文意思是表征性状态转移。它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。值得注意的是REST并没有一个明确的标准,而更像是一种设计的风格。如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。&emsp...
封面图

2022年软件开发趋势:远程工作已成主流

2022-03-04
阅读 3 分钟
1.6k
2020 年 3 月,工作世界发生了翻天覆地的变化。到 2020 年 4 月,大约一半的公司报告称,由于新冠病毒,其 80% 以上的员工在家工作。大多数人再也没有回到办公室——远程工作将继续存在。

开发人员的编程心理学

2022-01-25
阅读 2 分钟
687
向开发人员提供建议的编程心理学我之前写过,编程有两个受众:CPU 和你的编程伙伴。还有一些优秀的文章,比如《面向苦难编程》 ,可以帮助你在编程时调整目标——让它工作、让它漂亮、让它快速,这是那篇文章的建议。“让它工作、让它漂亮、让它快速”是绝妙的编程建议,也是我从第一次读它开始就一直牢记在心的建议。编程建...
封面图

软件开发中的常见的15个定律和原则释义及应用

2021-12-27
阅读 5 分钟
1.3k
在围绕软件开发的讨论中,几乎不可能避免引用一两条定律。“这行不通,因为‘X法则’!” 你可能听过人们说。或者“你不知道‘Y原则’吗? 你是哪种软件开发人员?”。有许多法律和原则可以引用,其中大部分都基于真理。然而,盲目地使用像上面这样的绝对陈述来应用它们肯定会导致自负和失败。本文列举了一些可以应用于软件开发...
封面图

Java 项目中使用 Resilience4j 框架实现隔断机制/断路器

2021-12-01
阅读 16 分钟
3.9k
到目前为止,在本系列中,我们已经了解了 Resilience4j 及其 Retry, RateLimiter, TimeLimiter, 和 Bulkhead 模块。在本文中,我们将探索 CircuitBreaker 模块。我们将了解何时以及如何使用它,并查看一些示例。
封面图

Java 项目中使用 Resilience4j 框架实现故障隔离

2021-11-26
阅读 16 分钟
3.4k
到目前为止,在本系列中,我们已经了解了 Resilience4j 及其 [Retry]([链接]), [RateLimiter]([链接]) 和 [TimeLimiter]([链接]) 模块。在本文中,我们将探讨 Bulkhead 模块。我们将了解它解决了什么问题,何时以及如何使用它,并查看一些示例。

Java 项目中使用 Resilience4j 框架实现异步超时处理

2021-11-25
阅读 7 分钟
4k
到目前为止,在本系列中,我们已经了解了 Resilience4j 及其 [Retry]([链接]) 和 [RateLimiter]([链接]) 模块。在本文中,我们将通过 TimeLimiter 继续探索 Resilience4j。我们将了解它解决了什么问题,何时以及如何使用它,并查看一些示例。
封面图

Java 项目中使用 Resilience4j 实现客户端 API 调用的限速/节流机制

2021-11-23
阅读 10 分钟
4.7k
在本系列的上一篇文章中,我们了解了 Resilience4j 以及如何使用其 Retry 模块。现在让我们了解 RateLimiter - 它是什么,何时以及如何使用它,以及在实施速率限制(或者也称为“节流”)时要注意什么。
封面图

使用 Resilience4j 框架实现重试机制

2021-11-22
阅读 11 分钟
5.5k
在本文中,我们将从快速介绍 Resilience4j 开始,然后深入探讨其 Retry 模块。我们将了解何时、如何使用它,以及它提供的功能。在此过程中,我们还将学习实现重试时的一些良好实践。
封面图

在 Spring Boot 中使用搜索引擎 Elasticsearch

2021-11-16
阅读 14 分钟
6.4k
Elasticsearch 建立在 Apache Lucene 之上,于 2010 年由 Elasticsearch NV(现为 Elastic)首次发布。据 Elastic 网站称,它是一个分布式开源搜索和分析引擎,适用于所有类型的数据,包括文本、数值 、地理空间、结构化和非结构化。Elasticsearch 操作通过 REST API 实现。主要功能是:
封面图

Java 设计模式 Monads 的美丽世界

2021-11-10
阅读 6 分钟
2.8k
让我从免责声明开始。从函数式编程的角度来看,下面的解释绝不是精确的或绝对准确的。相反,我将重点解释的清晰和简单性上,以便让尽可能多的 Java 开发人员进入这个美丽的世界。
封面图

在 Java Spring Boot 项目中使用结构化日志节省时间

2021-11-10
阅读 9 分钟
2.7k
【注】本文译自: [Saving Time with Structured Logging - Reflectoring]([链接])日志记录是调查事件和了解应用程序中发生的事情的终极资源。每个应用程序都有某种类型的日志。然而,这些日志通常很混乱,分析它们需要付出很多努力。在本文中,我们将研究如何利用结构化日志来大大增加日志的价值。我们将通过一些非常实...
封面图

使用 Spring Boot 构建可重用的模拟模块

2021-11-09
阅读 10 分钟
2.4k
【译】本文译自: Building Reusable Mock Modules with Spring Boot - Reflectoring将代码库分割成松散耦合的模块,每个模块都有一组专门的职责,这不是很好吗?这意味着我们可以轻松找到代码库中的每个职责来添加或修改代码。也意味着代码库很容易掌握,因为我们一次只需要将一个模块加载到大脑的工作记忆中。而且,由...
封面图

实用函数式 Java (PFJ)简介

2021-11-05
阅读 12 分钟
1.9k
实用函数式 Java (PFJ) 试图定义一种新的惯用 Java 编码风格。编码风格,将完全利用当前和即将推出的 Java 版本的所有功能,并涉及编译器来帮助编写简洁但可靠和可读的代码。虽然这种风格甚至可以在 Java 8 中使用,但在 Java 11 中它看起来更加简洁和简洁。它在 Java 17 中变得更具表现力,并受益于每个新的 Java 语言...
封面图

Bash 脚本简介

2021-11-04
阅读 4 分钟
1.9k
Bash (Bourne Again Shell)") 是一个解释器,负责处理Unix系统命令行上的命令。它是由 Brian Fox 编写的免费软件,并于 1989 年发布的免费软件,作为 Sh(Bourne Shell)的替代品。Bash 被开发人员、数据科学家、系统管理员、网络工程师和任何其他在日常工作中严重依赖 Unix 操作系统的人使用。一般来说,Bash 脚本用于...
封面图

如何在 Spring 中使用事件

2021-11-03
阅读 6 分钟
2.7k
事件是框架中最容易被忽视的功能之一,但也是更有用的功能之一。和 Spring 中的许多其他东西一样,事件发布是 ApplicationContext 提供的功能之一。
封面图

使用 Spring Boot 和 @SpringBootTest 进行测试

2021-11-03
阅读 8 分钟
13.3k
使用@SpringBootTest 注解,Spring Boot 提供了一种方便的方法来启动要在测试中使用的应用程序上下文。在本教程中,我们将讨论何时使用 @SpringBootTest 以及何时更好地使用其他工具进行测试。我们还将研究自定义应用程序上下文的不同方法以及如何减少测试运行时间。
封面图

Testing JPA Queries with Spring Boot and @DataJpaTest

2021-10-29
阅读 8 分钟
6.5k
除了单元测试,集成测试在生产高质量的软件中起着至关重要的作用。一种特殊的集成测试处理我们的代码和数据库之间的集成。通过 @DataJpaTest 注释,Spring Boot 提供了一种便捷的方法来设置一个具有嵌入式数据库的环境,以测试我们的数据库查询。在本教程中,我们将首先讨论哪些类型的查询值得测试,然后讨论创建用于测...
封面图

使用 Spring Boot 和 @WebMvcTest 测试 MVC Web Controller

2021-10-27
阅读 12 分钟
3.3k
在有关使用 Spring Boot 进行测试的系列的第二部分中,我们将了解 Web 控制器。首先,我们将探索 Web 控制器的实际作用,这样我们就可以构建涵盖其所有职责的测试。然后,我们将找出如何在测试中涵盖这些职责。只有涵盖了这些职责,我们才能确保我们的控制器在生产环境中按预期运行。
封面图

使用 Spring Boot 进行单元测试

2021-10-26
阅读 6 分钟
2.1k
编写好的单元测试可以被认为是一门难以掌握的艺术。但好消息是支持它的机制很容易学习。本教程为您提供了这些机制,并详细介绍了编写良好的单元测试所必需的技术细节,重点是 Spring Boot 应用程序。我们将看看如何以可测试的方式创建 Spring bean,然后讨论 Mockito 和 AssertJ 的用法,这两个库默认包含在 Spring Boot...
封面图

Java ArrayList 与 LinkedList

2021-10-25
阅读 3 分钟
2.3k
对于 collections (集合),Java 标准库提供了大量可供选择的选项。在这些选项中,有两个著名的 List 实现,称为 ArrayList 和 LinkedList,每个实现都有自己的属性和用例。在本教程中,我们将看到这两者是如何实现的。然后,我们将为评估每个应用的不同。
封面图