• 在传统的 Java 编程中,数据传输对象(DTO) 长期以来一直是处理应用程序各层之间数据交换的首选解决方案。虽然 DTO 达到了其目的,但它们通常会导致代码臃肿、维护开销增加并降低可读性。这就是 DTO-Free Java 的用武之地,彻底改变我们在 Java 应用程序中处理数据的方式。
  • 《编程范式的血泪史:这些年我们踩过的坑》今天我要讲点不一样的编程世界观。咱们程序员有三座大山:结构化编程(军训式编程)面向对象编程(乐高式编程)函数式编程(佛系编程)
  • 近年来,Java 获得了许多新的语言特性:类型模式、switch改进、记录record和记录records模式、密封sealed 类型和一些其他模式。 有时,整体的效果远大于各部分之和,如果正确组合,这些特性可以对我们的日常编码产生重大影响。 icon
  • 现代 Java 虽支持不可变数据,但嵌套更新仍极繁琐。光学(Optics)提供可组合访问路径,一行代码取代数十行重建,Higher-Kinded-J 为此量身打造原生 Java 实现。 Java 的“不可变鸿沟”:为什么 Recor icon
  • 在 Java 中,我们可以使用函数式编程概念将一个方法作为参数传递给另一个方法,具体来说是使用 lambda 表达式、方法引用和函数接口。在本教程中,我们将探讨将方法作为参数传递的几种方法。 1、使用接口和匿名内部类 icon
  • 领域驱动设计(“DDD”)是一种专注于系统领域而不是技术的软件设计方法。重点是构建共享的心理模型并以尽可能简单的方式在代码中表示该领域模型。数据库存储、框架等技术细节被认为是设计的次要方面。该模块将重点关注 DDD 和一般设计以及相关主题,例如文档和软件架构的某些方面。本课程使用基本的函数式 icon
  • 使用 Java Stream API 编写一个程序来计算列表中元素的累积和您可以使用 Java Stream API 来计算列表中元素的累积和。这是一个简单的程序来演示这一点: import java.util.A icon
  • 自 Java 8 推出以来,处理数据流已成为 Java 开发中的一项常见任务。通常,这些流包含复杂的结构(例如映射),这在进一步处理它们时可能会带来挑战。 在本教程中,我们将探讨如何将地Map映射流展平为单个Map映射。 icon
  • 1、使用 Java Stream API 编写一个程序,在不对列表排序的情况下查找列表中的第二大元素。要在不对列表排序的情况下找出列表中的第二大元素,可以使用 Java Stream API。一种方法是使用 reduce 方法,在遍历列表时跟踪最大元素和第二大元素。下面的程序演示了这种方法: icon
  • Java Streams 是处理集合的强大抽象。通常,我们需要将流分成更小的块以进行进一步的操作。本文探讨了基于固定最大大小对 Java 8 Stream 进行分区的各种技术。 1. 用列表分区处理 List 时, icon
  • 在软件开发过程中,我们经常遇到创建具有众多属性的对象变得令人生畏的场景。构造函数混乱会降低代码的可读性。这正是构建器模式的闪光点。构建器模式是一种创建型设计模式,它将复杂对象的构造与其表示分离,提供了一种更清晰、更灵活的对象创建方法。 Bu icon
  • Java Streams 提供了一种处理对象集合的函数式方法。它们允许简洁且富有表现力的代码,从而更容易对数据集执行复杂的操作。通过利用 Java Streams,我们可以简化统计组织中男性和女性员工的流程,从而提供比传统迭代方法更有效的解决方案。 icon
  • 在本教程中,我们将了解 monad,以及它们如何帮助我们处理效果。我们将学习使我们能够链接 monad 和操作的基本方法:map()和flatMap()。 在整篇文章中,我们将探讨 Java 生态系统中一些流行 monad 的 API,重点关注它们的实际应用。 icon
  • 在本文中,我们介绍面向数据编程的关键原则以及它与 OOP 的区别。之后,我们发现了 Java 语言中的新功能如何为开发面向数据的软件奠定坚实的基础。 在本教程中,我们将学习一种不同的软件开发范式,即面向数据编程。我们将首先将其与更传统的面向对象编程进行比较 icon
  • Andrej Karpathy大神观点:怎么像细菌一样写代码,打造一个超牛的开源社区 细菌的代码(也就是它们的基因组)简直就是编程界的“短平快”神器!它们是怎么做到让自己的“代码”在地球上各种奇葩环境——从冰天雪地到火山口,从酸得冒泡到碱得发慌, icon
  • 我改变主意的事情: 我现在相信的事情,过去的我可能会争论不休: 简单不是天生的。需要不断努力 管理或理解复杂性并不值得骄傲 对于经验水平各异的团队来说,类型化语言至关重要 Java 是一门伟大的语言,因为它很 icon
  • 本文提出了一种新颖的方法,从第一原理推导出依赖类型的面向对象编程(OOP)。 题为“从基本原理推导依赖类型 OOP”,由德国图宾根大学和德国 IPAI 的 Aleph Alpha Research 的 David Binder、Ingo Skupi icon
  • 在Java 16中引入,提供了一种简洁的建模方法不可变数据.它们自动生成构造函数、访问函数、equals(),hashCode()得双曲正弦值.字符串()方法,减少样板和提高可读性。 尽管有这些好处,记录也有明显的局限性。例如,所有字段必须在记录头中声明, icon