专栏首页技术那些事JDK1.8新特性(一):JDK1.8究竟有哪些新特性呢

JDK1.8新特性(一):JDK1.8究竟有哪些新特性呢

目前JDK1.8被各大公司、各大项目纷纷使用,作为Java开发中使用最多的版本,细心的你,或许早已发现它与之前版本存在着较大的差异。如果能熟练掌握使用这些差异、新特性,你会发现另一片天地。今天抽时间整理下,JDK1.8新特性究竟有哪些?并以【JDK1.8新特性】专题逐一展开讨论、学习。

(JDK1.8新特性常常在面试中被问及的频率很高哦)

JDK1.8概述

JDK1.8,又称之为Java 8(我习惯叫它为JDK1.8,后续统一叫做JDK1.8),是Java语言开发的一个主要版本。Oracle公司于2014年3月18日发布,它支持函数式编程,新的JavaScript引擎,新的日期API,新的Stream API等。

JDK1.8相比1.7之前版本,有以下几方面的优化:

  • 速度更快;
  • 代码更少(Lambda表达式);
  • 强大Stream API;
  • 便于并行;
  • 最大化减少空指针异常(OPtional类)。

举例如下,JDK1.8的特性是不是与众不同。

package com.xcbeyond.study.jdk8;

import org.junit.Test;
import java.util.Arrays;
import java.util.List;


/**
 * JDK1.8新特性
 * @Auther: xcbeyond
 * @Date: 2019/11/27 0027 23:53
 */
public class Java8Test {


    @Test
    public void java8Example() {
        // 定义一个整型list,对其进行遍历
        Integer[] numArray={1,2,3,4,5,6,7,8};
        List<Integer> numList= Arrays.asList(numArray);


        /**
         * 方式1:常规foreach
         */
        for (int num : numList) {
            System.out.println(num);
        }


        /**
         * 方式2:JDK1.8 新特性写法(Lambda表达式)
         *  代码量是不是少了很多
         */
        numList.forEach((num) -> System.out.println(num));
    }
}

新特性

JDK1.8新增了非常多的特性,本专题主要讨论以下几个:

  • Lambda表达式:Lambda允许把函数作为一个方法的参数(函数作为参数传递到方法中)。
  • 方法引用:方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。
  • 默认方法:默认方法就是一个在接口里面有了一个实现的方法。
  • 新工具:新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。
  • Stream API:新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。
  • Date Time API:加强对日期与时间的处理。
  • Optional类:Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。
  • Nashorn,JavaScript引擎:JDK1.8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。

参考资料: https://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html https://www.runoob.com/java/java8-new-features.html

本文分享自微信公众号 - 程序猿技术大咖(cxyjsdk),作者:xcbey0nd

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-01-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JDK1.8新特性(一):JDK1.8究竟有哪些新特性呢

    目前JDK1.8被各大公司、各大项目纷纷使用,作为Java开发中使用最多的版本,细心的你,或许早已发现它与之前版本存在着较大的差异。如果能熟练掌握使用这些差异、...

    xcbeyond
  • JDK1.8新特性(二):为什么要关注JDK1.8

    自1998年JDK1.0(Java1.0)发布以来,Java已经受到了学生、程序员、整个软件行业人员等一大批活跃用户的欢迎。这一语言极富活力,不断被用在大大小小...

    xcbeyond
  • JDK1.8新特性(二):为什么要关注JDK1.8

    自1998年JDK1.0(Java1.0)发布以来,Java已经受到了学生、程序员、整个软件行业人员等一大批活跃用户的欢迎。这一语言极富活力,不断被用在大大小小...

    xcbeyond
  • JDK1.8新特性(一):JDK1.8究竟有哪些新特性呢

    目前JDK1.8被各大公司、各大项目纷纷使用,作为Java开发中使用最多的版本,细心的你,或许早已发现它与之前版本存在着较大的差异。如果能熟练掌握使用这些差异、...

    xcbeyond
  • JDK1.8新特性(二):为什么要关注JDK1.8

    自1998年JDK1.0(Java1.0)发布以来,Java已经受到了学生、程序员、整个软件行业人员等一大批活跃用户的欢迎。这一语言极富活力,不断被用在大大小小...

    xcbeyond
  • JDK1.8新特性(二):为什么要关注JDK1.8

    自1998年JDK1.0(Java1.0)发布以来,Java已经受到了学生、程序员、整个软件行业人员等一大批活跃用户的欢迎。这一语言极富活力,不断被用在大大小小...

    xcbeyond
  • 测试数据准备方法以及未来的发展方向

    测试数据的准备,是软件测试工作中非常重要的环节,无论是手工测试还是自动化测试都避不开测试数据准备工作。今天我们就来聊一聊测试工作中常用的测试数据准备的方法,深入...

    小老鼠
  • 用Python对鹿晗、关晓彤微博进行情感分析

    專 欄 ❈大吉大利小米酱,Python中文社区专栏作者,Python爱好者,顽强地自学中,18线灵魂画手/段子手/脑洞女王。 简书: http://www....

    Python中文社区
  • Bright Machines筹集1.79亿美元,将智能机器人技术应用于制造领域

    Bright Machines宣布关闭一轮1.79亿美元的融资。该创业公司希望为机器人技术带来一种软件驱动的方法,这种方法可以让你使用机器人并以更自动化的方式对...

    AiTechYun
  • Spring Boot 应用的 Admin UI 2.0.4 发布

    Spring Boot Admin 2.0.4 已发布,官方没有提供本次的更新说明,不过 从关闭的 issue 中看到 ,该版本的更新内容主要是 bug 修复和...

    Debian社区

扫码关注云+社区

领取腾讯云代金券