技术开发 频道

请转战Java 8:改变是非常值得的

  【IT168 评论】一直以来,Java平台在金融领域得到了广泛应用,但想让开发人员转向Java 8可能并没有那么容易。毫无疑问,Java SE 8可以帮助重振平台,很多人也一直在努力帮助开发人员转向Java 8,强调Java 8中的编码不同于以前Java版本中的编码风格。编码标准需要重新考虑和设计,但这种变化是非常值得的。

请转战Java 8:改变是非常值得的

  Java 8 VS 以前的版本

  最明显的变化是引入lambdas表达式和相关的流API。Java 8改变了语言风格,允许代码写得更加功能性。以前简单的抽象函数现在可以轻松完成,这改变了代码编写和设计的方式。但并不是所有的代码读取和执行都变得更好,当使用streams API和lambdas时,它可以使代码更清晰。

  当添加lambdas时,相关的更改是允许接口中写方法。因此,一个接口现在可以有三种方法——abstract, default和static。其中lambdas在微级别改变代码,接口上的方法在宏级别改变代码,这使得子系统的新设计成为可能。以前,我经常使用的模式是具有一个或多个封装实现的接口,这需要一个实用程序类来创建实例,但现在接口上的静态方法就可以实现。如果使用正确,可以大大减少API中的公共代码量。

  java.time.*

  Java 8的另一个特性是日期和时间库java.time。*(JSR-310)。合作规范的主要作者基于Joda-Time的原则设计的,Joda-Time是Java之前版本事实上的标准库。开发人员将代码迁移到Java 8应该采用java.time.*类,并尽可能删除Joda-Time。

  新的java.time.*类可以很好地映射金融中的概念。 `LocalDate`类表示一个没有时间或时区的日期,因此是很多业务概念的完美描述,例如交易日期,生效日期和结算日期。而LocalTime,没有日期或时区的时间,是当LIBOR固定发生时的完美描述。“Instant”是在监视和性能代码中收集时间戳的理想选择。这里的关键点是,Java 8使Java处理金融问题更容易 ——而不再需要Joda-Time库。

  在金融领域使用Java

  为了在金融领域越来越多地使用Java,很多开发人员在过去几年一直在构建开源库,用于规避金融市场风险。来自OpenGamma的Strata是Maven Central中的标准Java库,允许任何人为定价和分析目的创建和管理金融工具。它有可能成为金融世界中许多组织的关键组成部分,其开源性对于自2008年金融危机以来行业交易的标准化产品来说是理想的。Strata已经从头开始写在Java 8中,并充分利用了所有的新功能,强调不变性和功能设计。

  展望未来,Java SE 9将以模块化为重点,这将是开发人员学习的另一个重大变化!

0
相关文章