Jdk目前已经发展到Java 9了,历史上有两个版本变化比较大,一个是Java 5,另一个就是Java 8。 本Java8新特性系列将着重分析理解Java8的新特性,以及其是怎么为我们开发提升效率的。

历史版本如下:

版本 名称 发行日期
JDK 1.1.4 Sparkler(宝石) 1997-09-12
JDK 1.1.5 Pumpkin(南瓜) 1997-12-13
JDK 1.1.6 Abigail(阿比盖尔–女子名) 1998-04-24
JDK 1.1.7 Brutus(布鲁图–古罗马政治家和将军) 1998-09-28
JDK 1.1.8 Chelsea(切尔西–城市名) 1998-04-24
J2SE 1.2 Playground(运动场 1998-12-04
J2SE 1.2.1 none(无) 1999-03-30
J2SE 1.2.2 Cricket(蟋蟀) 1999-07-08
J2SE 1.3 Kestrel(美洲红隼) 2000-05-08
J2SE 1.3.1 Ladybird(瓢虫) 2001-05-17
J2SE 1.4.0 Merlin(灰背隼) 2002-02-13
J2SE 1.4.1 grasshopper(蚱蜢) 2002-09-16
J2SE 1.4.2 Mantis(螳螂) 2003-06-26
Java SE 5.0 (1.5.0) Tiger(老虎) 2004-09-30
Java SE 6.0 (1.6.0) Mustang(野马) 2006-04-xx
Java SE 7.0 (1.7.0) Dolphin(海豚) 2011-07-28
Java SE 8.0 (1.8.0) Spider(蜘蛛) 2014-03-18
Java SE 9 2017-09-21

最近三个版本的新特性如下:

Java 7

开发代号是Dolphin(海豚),于2011-07-28发行

引入的新特性包括:

  • switch语句块中允许以字符串作为分支条件;
  • 在创建泛型对象时应用类型推断;
  • 在一个语句块中捕获多种异常;
  • 支持动态语言;
  • 支持try-with-resources;
  • 引入Java NIO.2开发包;
  • 数值类型可以用2进制字符串表示,并且可以在字符串表示中添加下划线;
  • 钻石型语法;
  • null值的自动处理。

Java 8

开发代号是Spider(蜘蛛),于2014年3月14号发布

引入的新特性包括:

  • Lambda表达式
  • Pipelines和Streams
  • Date和Time API
  • Default方法
  • Type注解
  • Nashhorn JavaScript引擎
  • 并发计数器
  • Parallel操作
  • 移除PermGen Error
  • TLS SNI

Java 9

于2017年9月21日发布

引入的新特性包括:

  • 模块化系统–Jigsaw 项目
  • JShell–Java 9 REPL
  • 集合工厂方法
  • 接口中的私有方法
  • 响应式流
  • 多分辨率图像API–JEP 251
  • 进程API的改进
  • Try-With-Resources
  • 钻石(diamond)操作符范围的延伸
  • 增强的注释Deprecate
  • 统一的JVM日志
  • 注释SafeVarargs范围的延伸
  • HTTP 2 客户端
  • HTML5风格的Java帮助文档
  • 保留下划线字符。变量不能被命名为_;
  • 废弃Applet API;
  • javac不再支持Java1.4以及之前的版本;
  • 废弃Java浏览器插件;
  • 栈遍历API–栈遍历API能过滤和迟访问在堆栈跟踪中的信息

目前Java8在Java各版本使用率中已高达60%以上,未来还会继续上升,所以学会用Java8,用好Java8势在必行,本系列将着重分析理解Java8的新特性,以及其是怎么为我们开发提升效率的。

人生苦短,拥抱Java8。

微信公众号:码上论剑 请关注我的个人技术微信公众号,订阅更多内容

Java8新特性系列(序)相关推荐

  1. Java8新特性总结 - 序

        Java8已经正式发布很久了 , 从各项新特性来讲 , Java8无疑是重大的版本升级 . Orcale公司于2014年3月18日发布Java8 , 新增了非常多的特性 . 但时至今日 , 大 ...

  2. Java8新特性系列(Lambda)

    上期我们分析了Java8中Interface的相关新特性,其中包括函数式接口,可以在调用时,使用一个Lambda表达式作为参数,那么我们就来谈谈Java8中的Lambda表达式吧. 定义 Lambda ...

  3. java8新特性_乐字节-Java8新特性-接口默认方法

    总概 JAVA8 已经发布很久,而且毫无疑问,java8是自java5(2004年发布)之后的最重要的版本.其中包括语言.编译器.库.工具和JVM等诸多方面的新特性. Java8 新特性列表如下: 接 ...

  4. Java8新特性之空指针异常的克星Optional类

    Java8新特性系列我们已经介绍了Stream.Lambda表达式.DateTime日期时间处理,最后以"NullPointerException" 的克星Optional类的讲解 ...

  5. java8新特性:对map集合排序,根据key或者value操作排序(升序、降序)

    java8新特性:对map集合排序,根据key或者value操作排序(升序.降序) 直接上代码: package com.drew.test; import java.util.List; impor ...

  6. Java系列 - 用Java8新特性进行Java开发太爽了

    本人博客文章网址:https://www.peretang.com/using-java8s-new-features-to-coding-is-awesome/ 前言 从开始写博客到现在已经过去3个 ...

  7. 【java8新特性】——lambda表达式与函数式接口详解(一)

    一.简介 java8于2014年发布,相比于java7,java8新增了非常多的特性,如lambda表达式.函数式接口.方法引用.默认方法.新工具(编译工具).Stream API.Date Time ...

  8. java8新特性:对map集合排序

    一.简单介绍Map 在讲解Map排序之前,我们先来稍微了解下map,map是键值对的集合接口,它的实现类主要包括:HashMap, TreeMap, Hashtable以及LinkedHashMap等 ...

  9. java8新特性之lambda表达式--超级详细版本

    java8新特性之lambda表达式 1.什么是lambda表达式?为什么用它? 2. 为什么Java需要lambda表达式? 3. lambda表达式的语法 4.函数式接口 4.1 什么是函数式接口 ...

  10. Java8新特性----Lambda表达式详细探讨

    Java8新特性 Lambda表达式 入门演示 案例1 如何解决 cannot be cast to java.lang.Comparable问题? 案例2 优化方式一 : 策略设计模式 优化方式二: ...

最新文章

  1. java 回滚异常_回滚事务并关闭抛出异常的连接
  2. JS中for循环里面的闭包问题的原因及解决办法
  3. OpenCV使用filter2D函数填充线性滤波器的实例(附完整代码)
  4. unsigned a:1;
  5. mybatis update返回值_mybatis 详解(六)通过mapper接口加载映射文件
  6. '800a0005' 图片上传出现写入文件失败的错误 -- 修改pload_5xsoft.inc
  7. pytorch 训练过程学习率设置衰减
  8. 「干货」不逼自己一下不知道自己多牛逼[python篇]
  9. 1确认自己的python版本
  10. java中53个关键字的意义及使用方法
  11. Transformer-XL 2
  12. 【MATLAB深度学习工具箱】学习笔记--螃蟹公母分类Crab Classification
  13. 即席查询-Kylin
  14. Ubuntu安装opencv的扩展模块-viz模块
  15. 【富文本】2019年上半年英语四、六级成绩查询时间(附不需要验证码的查询网站)
  16. 华三模拟器启动设备失败【启动设备MSR36-20_1失败】
  17. Opcode指令解析
  18. mysql-8.0.13-winx64安装卸载配置使用教程
  19. oracle+调整+表空间,Oracle表空间调整
  20. unity进行发布html,unity发布网页版(内嵌网页)

热门文章

  1. python老齐_python-basic
  2. java 485通讯_JAVA开发工程师 | 广州市三地信息技术有限公司
  3. boost::filesystem使用手册
  4. 人脸特征点定位——ASM和AAM算法
  5. vmware ubuntu 16.04 guest 修复不能桌面大小自动调整和从宿主机复制粘贴的问题
  6. 降维系列之 LDA 线性判别分析
  7. mysql查找多个表并更新值_Mysql子查询,连接,多表更新
  8. centos 7安装java 8
  9. PHP 进程间通信——消息队列(msg_queue)
  10. Cordova - 彻底搞定安卓中的微信支付插件!