猿java

猿java的博客

NullPointerExceptions(NPE)空指针异常应该是每个程序员的噩梦,作为 Java 程序员都知道: NPE 是运行时异常,在代码编译过程中很难发现这种异常。因此,这篇文章,我们将分析如何编写 null 安全代码。
阅读全文 »

在现实生活中,系统面临的异常情况和不确定性因素是不可避免的。例如,网络系统可能会遭受网络攻击、服务器宕机等问题;金融系统可能会受到市场波动、黑天鹅事件等因素的影响;自动驾驶系统可能会遇到天气恶劣、道路状况复杂等情况。在这些情况下,系统的鲁棒性就显得尤为重要,它能够确保系统能够正确地处理各种异常情况,保持正常运行。
阅读全文 »

在现代编程语言中,协程(goroutine)和线程(thread)绝对是赫赫有名的两种并发处理机制,它们分别在 Golang 和 Java 中扮演着重要角色。这篇本文,我们将深入探讨 Golang 的协程和 Java 的线程,分析它们的概念、实现、优缺点及应用场景。
阅读全文 »

git 应该是当下代码管理最流行的工具,关于其两个重要的指令 `git merge` 和 `git rebase` 该如何使用也是争议颇多,这篇文章我们一起来聊聊该如何选择?
阅读全文 »

在做 web 开发时,CORS 跨域是我们经常遇到的问题,这篇文章,我们将一起分析什么是跨域?以及该如何解决?
阅读全文 »

接口通常是为子类定义一些需要被实现的抽象方法,但是,在 Java 9 及其以后的版本中,允许在接口中定义 private 方法,为什么 Java 会在 接口中引入 private方法,本文将详细探讨在接口中定义私有方法的原因、优点及其使用场景,并通过示例代码说明其实际应用。
阅读全文 »

在日常开发中,我们经常会通过 UML 图形化的方式,帮助开发人员和业务分析师进行需求分析、系统设计和文档编制,这篇文章,我们将来重点分析 UML 类图。
阅读全文 »

在日常开发中,为了提高程序的性能,我们经常会使用异步方式来完成,在本文中,我们将学习一种常用的工具类: `CompletableFuture`,并且学习如何使用它来提高 Java 应用程序的性能!
阅读全文 »

在大数据时代,我们常常需要处理各种量级以及不同场景的数据,通常有`批处理(Batch Processing)`和`流处理(Stream Processing)` 两种方式,那么它们是如何工作的?两者之间有存在什么区别?我们又该如何选择?这篇文章我们将一一解答这些问题。
阅读全文 »