• 这是piotr szybicki4年来为了解正确使用Optional类型而努力的结果。Optional隐藏了可能存在空指针的不确定性,比如:</
  • groupingBy()是Stream API中最强大的收集器Collector之一,提供与SQL的GROUP BY子句类似的功能。 使用形式如下:
  • 如果您想掌握函数式编程,最好的起点是使用Java Function接口。这个例子将向您展示在代码中实现此函数接口的四种不同方法 - 从如何使用实际类开始,以及如何使用lambda函数创建非常简洁的代码。 Java Function接口非常简单。它将 icon
  • 许多开发人员仍然坚持使用已有五年历史的Java 8。当Java工具公司JetBrains的开发者倡导者Trisha Gee在本周伦敦QCon会议上发表讲话之前对Twitter进行了调查时,78%的受访者表示他们正在使用Java 8 - 并考虑到她的追随者可能会向最前沿倾斜,现实可能更 icon
  • 在2011年的某个时候,我偶然发现了一个名为Hacker News的不起眼的网站。当时,我是一名主要使用Excel和SAS工作的数据分析师,几乎所有的头条新闻对我来说都很陌生。Git差异?PyPy?实时API?然而,我很快意识到,HN是科技行业的心跳,这里讨论了很多线索和兴趣点。 icon
  • 关于规范模式specification Pattern,在我以前的一个工作岗位上,我已经利用这种模式成功地设计并实现了电信领域的实时授权的解决方案,现在又一次出现了类似的问题我的团队要解决这个问题,然后我注意到我的大多数同事都没有听说过这种模式。 icon
  • 从Java 8迁移到Java 11比大多数升级更棘手。以下是这个过程的一些注意事项。 模块在Java 9中Java引入了历史上最大的变化之一 是模块,但: 不必将你自己的 icon
  • 本文列举了从Java8到11各个变化的API: 变量从Java 10开始,开发人员可以选择让编译器使用var来推断类型: icon
  • 当你处理更大的数据或无限的流时,懒惰laziness是一个真正的福音, 处理数据时,我们不确定何时使用已处理的数据。eager急切的立即处理会以牺牲性能为代价,客户端可能只是使用一小部分数据。或者,根据某些条件,客户端甚至可能不需要利用该数据。延迟处理应该基于“ 按需处理 ”策略。< icon
  • 这是最琐碎的技巧,甚至不是真正的技巧,但它是彻底理解SQL的基础:一切都是一张表!当您看到如下的SQL语句时: icon
  • Stream API提供distinct()方法,该方法基于数据Object类的equals()方法返回列表的不同元素。下面先做一个数据Object类,用来发现重复数据: icon
  • 2019年1月对于Java开发人员和用户都特别重要。原因是O icon
  • 什么是重复的字符串?25%的Java应用程序内存中填充了字符串,其中13.5%是重复的字符串。在本文中,Ram Lakshmanan讨论了为什么有这么多重复的字符串,常见的模式是什么,以及如何处理它。 让我从一篇有趣的统计数据开始本文(基于JDK开 icon
  • Map.merge()意味着我们可以原子地执行插入或更新操作,它是线程安全的,ConcurrentHashMap虽然也是线程安全的,但不是所有操作都是,例如get()之后再put()就不是了,这时使用merge()确保没有更新会丢失。   icon
  • 每天,数千万的Java虚拟机(JVM)与New Relic共享它们的数据。为了创建此报告,我们对数据进行了匿名处理并对其进行了粗粒度处理,以给出我们所看到的Java生态系统的大致概述。我们还避免使用任何可能有助于攻击者和其他恶意方(否则会破坏JVM数据用户)的详细信息。这些观察的目标 icon
  • 在本快速教程中,我们将讨论在Java 8中谓词链Predicates的不同方法。让我们看看如何使用简单的谓词来过滤名称列表: icon
  • 对于那些不熟悉函数式编程的人来说,基本的Java lambda语法起初可能有点令人生畏。但是,一旦将lambda表达式分解为它们的组成部分,语法很快就会变得有意义并变得非常自然。 Java中lambda表达式的目标是 icon