Java 8 效率精进指南(1)前言

Java 8 诞生的背景

Java 8 的正式版本于2014年面世,当时的历史背景是这样的:客观上,随着多核处理器 普及,传统 Java 的线程和锁机制由于复杂易出错,已经无法满足当时对简单并发编程模型的需求;同时 Scala、Clojure 等 JVM 语言成功证明了函数式编程能够有效提升代码简洁性与可读性 。主观上,开发者囿于传统 Java 冗长的匿名内部类、繁琐的循环代码,渴望更加简洁直观、直面问题本质的语法。

简而言之,笨重 的 Java 已经不满足当时对于开发效率、程序性能的需求。

为什么需要学习 Java 8

Java 8 的推出,旨在达成开发效率与程序性能之间的平衡点,例如为了提升代码可读性,减少样板代码,引入行为参数化。而流(Stream)的概念,同样是由面向对象 编程向函数式编程 转变的重要工具,无副作用的函数能够更好地服务于多核心环境。还有出于安全考虑的 Optional,降低兼容成本的接口默认方法等。

可以说,领会函数式编程的设计思想,有助于更简洁、快速地将业务逻辑抽象为技术代码 ,同时为未来需求扩张提供良好的兼容性 ,在性能方面也有不错的表现。

此外作为 Android 开发者,平时使用的大多是 Kotlin 语言,而 Kotlin 是脱胎于 Java 的,同样集成了后者的函数式编程的能力。学习一门知识,应该从它的源头入手,这样才能理解其本质,达到融会贯通,运用时存乎一心。

本系列专栏的主旨

如专栏题目所言,本系列注重语言特性的实践------如何在日常设计和开发中精进效率,在后续文章中,我也尽力采用工作中的真实案例进行实践。虽然如此,但个人理解仍然有限,欢迎热心读者交流指正,共同进步。

专栏文章的内容编排与输出计划

围绕着 Java 8 的主要特性,本专栏重点讲解自己对于行为参数化的理解,这两者也是对代码效率提升最大的部分,因此计划每个主题分上下两篇文章,此外,还应当涵盖次要特性,例如 CompletableFuture(并发)、Optionalnull-safe)、默认方法、新的时间类。

整个专栏的文章输出顺序计划如下:

  1. 行为参数化/Lambda 表达式的写法与应用场景(上)
  2. 行为参数化/Lambda 表达式的写法与应用场景(下)
  3. 新的集合处理思路:流(上)
  4. 新的集合处理思路:流(下)
  5. 安全与健壮性:Optional、时间类
  6. 并发与兼容性:CompletableFuture、默认方法

参考资料

相关推荐
程序员鱼皮1 小时前
我代表编程导航,向大家道歉!
前端·后端·程序员
间彧1 小时前
Spring Boot项目中如何实现Redis分布式锁
java
zjjuejin1 小时前
Maven 生命周期与插件机制
后端·maven
掘金安东尼1 小时前
AI 应用落地谈起 ,免费试用 Amazon Bedrock 的最佳时机
java·架构
阿杆1 小时前
为什么我建议你把自建 Redis 迁移到云上进行托管
redis·后端
杨杨杨大侠1 小时前
案例03-附件E-部署运维
java·docker·github
Java水解1 小时前
go语言教程(全网最全,持续更新补全)
后端·go
杨杨杨大侠1 小时前
案例03-附件B-映射器实现
java·开源·github
杨杨杨大侠1 小时前
案例03-附件A-订单实体设计
java·开源·github
杨杨杨大侠1 小时前
案例03-附件C-性能优化
java·开源·github