Java8新特性系列(序)
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新特性系列(序)相关推荐
- Java8新特性总结 - 序
Java8已经正式发布很久了 , 从各项新特性来讲 , Java8无疑是重大的版本升级 . Orcale公司于2014年3月18日发布Java8 , 新增了非常多的特性 . 但时至今日 , 大 ...
- Java8新特性系列(Lambda)
上期我们分析了Java8中Interface的相关新特性,其中包括函数式接口,可以在调用时,使用一个Lambda表达式作为参数,那么我们就来谈谈Java8中的Lambda表达式吧. 定义 Lambda ...
- java8新特性_乐字节-Java8新特性-接口默认方法
总概 JAVA8 已经发布很久,而且毫无疑问,java8是自java5(2004年发布)之后的最重要的版本.其中包括语言.编译器.库.工具和JVM等诸多方面的新特性. Java8 新特性列表如下: 接 ...
- Java8新特性之空指针异常的克星Optional类
Java8新特性系列我们已经介绍了Stream.Lambda表达式.DateTime日期时间处理,最后以"NullPointerException" 的克星Optional类的讲解 ...
- java8新特性:对map集合排序,根据key或者value操作排序(升序、降序)
java8新特性:对map集合排序,根据key或者value操作排序(升序.降序) 直接上代码: package com.drew.test; import java.util.List; impor ...
- Java系列 - 用Java8新特性进行Java开发太爽了
本人博客文章网址:https://www.peretang.com/using-java8s-new-features-to-coding-is-awesome/ 前言 从开始写博客到现在已经过去3个 ...
- 【java8新特性】——lambda表达式与函数式接口详解(一)
一.简介 java8于2014年发布,相比于java7,java8新增了非常多的特性,如lambda表达式.函数式接口.方法引用.默认方法.新工具(编译工具).Stream API.Date Time ...
- java8新特性:对map集合排序
一.简单介绍Map 在讲解Map排序之前,我们先来稍微了解下map,map是键值对的集合接口,它的实现类主要包括:HashMap, TreeMap, Hashtable以及LinkedHashMap等 ...
- java8新特性之lambda表达式--超级详细版本
java8新特性之lambda表达式 1.什么是lambda表达式?为什么用它? 2. 为什么Java需要lambda表达式? 3. lambda表达式的语法 4.函数式接口 4.1 什么是函数式接口 ...
- Java8新特性----Lambda表达式详细探讨
Java8新特性 Lambda表达式 入门演示 案例1 如何解决 cannot be cast to java.lang.Comparable问题? 案例2 优化方式一 : 策略设计模式 优化方式二: ...
最新文章
- java 回滚异常_回滚事务并关闭抛出异常的连接
- JS中for循环里面的闭包问题的原因及解决办法
- OpenCV使用filter2D函数填充线性滤波器的实例(附完整代码)
- unsigned a:1;
- mybatis update返回值_mybatis 详解(六)通过mapper接口加载映射文件
- '800a0005' 图片上传出现写入文件失败的错误 -- 修改pload_5xsoft.inc
- pytorch 训练过程学习率设置衰减
- 「干货」不逼自己一下不知道自己多牛逼[python篇]
- 1确认自己的python版本
- java中53个关键字的意义及使用方法
- Transformer-XL 2
- 【MATLAB深度学习工具箱】学习笔记--螃蟹公母分类Crab Classification
- 即席查询-Kylin
- Ubuntu安装opencv的扩展模块-viz模块
- 【富文本】2019年上半年英语四、六级成绩查询时间(附不需要验证码的查询网站)
- 华三模拟器启动设备失败【启动设备MSR36-20_1失败】
- Opcode指令解析
- mysql-8.0.13-winx64安装卸载配置使用教程
- oracle+调整+表空间,Oracle表空间调整
- unity进行发布html,unity发布网页版(内嵌网页)
热门文章
- python老齐_python-basic
- java 485通讯_JAVA开发工程师 | 广州市三地信息技术有限公司
- boost::filesystem使用手册
- 人脸特征点定位——ASM和AAM算法
- vmware ubuntu 16.04 guest 修复不能桌面大小自动调整和从宿主机复制粘贴的问题
- 降维系列之 LDA 线性判别分析
- mysql查找多个表并更新值_Mysql子查询,连接,多表更新
- centos 7安装java 8
- PHP 进程间通信——消息队列(msg_queue)
- Cordova - 彻底搞定安卓中的微信支付插件!